Hidevcd ou anti-blaxx like

Soyez le premier à donner votre avis sur cette source.

Vue 9 134 fois - Téléchargée 466 fois

Description

le programme est composé de 2 modules.
le launch.exe partie gui et le service rootkit.sys pour le coté system.

le service s'empare de la SSDT ( Regmon,... ) pour empecher les application indiquées d'acceder aux clefs de registre permettant de verifier que le lecteur est virtuel ou reel.
la recherche du process se fait par le nom. Attention !!!

si jamais un programme rehook la SSDT, le driver refusera de se desinstaller.

Conclusion :


un super gros merci a Mark Russinovich, Four-F, Iczelion, EliCZ, et les autres pour tout les documents, exemples et logiciels...
le gain de temps se compte en milliards d'années.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

silkscalp
Messages postés
27
Date d'inscription
lundi 30 octobre 2000
Statut
Membre
Dernière intervention
20 janvier 2011
-
Franchement sympa ton code de rootkit.
Je connaissait pas les .bat auto-compilable qui melange des .bat et l'ASM... Très interressant.
CE code es à explorer par tout ceux qui apprecient l'ASM sous win3 2 et la seurité.
En tout cas je dl pour explorer cela de très près .
Et merci pour partager tes connaissances avec les autres comme l'on fait d'autre comme Izelion
++
Silkscalp

Le savoir est un pouvoir
Le partager est un devoir
cs_patatalo
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1 -
voilà pour le hook,

ntoskrnl.exe exporte cette structure par le Symbol KeServiceDescriptorTable on la retrouve aussi dans KTHREAD.ServiceTable

ServiceDescriptorEntry STRUCT
ServiceTableBase DWORD ?
ServiceCounterTableBase DWORD ?; DWORD PTR
NumberOfServices DWORD ?
ParamTableBase DWORD ?; DWORD PTR
ServiceDescriptorEntry ENDS

ServiceTableBase est un pointeur vers un tableau de pointeurs vers les fonctions system. La taille du tableau etant fournie par NumberOfServices.

ensuite, les exports de ntoskrnl ne nous permettent d'obtenir que l'adresse de la fonction Zw et non son ID dans le tableau.
Le probleme est là, suivant les versions de NT, l'ID peut changer aussi.

en fait, Toute fonction Zw commence par:

IF OS<XP THEN SYSCALL=int 2Eh ELSE SYSCALL=SYSENTER

ZwOpenKey PROC
mov eax,ID
...
SYSCALL
ZwOpenKey ENP

donc [ZwOpenKey+1] = ID

le reste ne devrait pas poser de problemes

@++
cs_patatalo
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1 -
les .bat c'est le code source auto-compilable, c'est reelement le melange d'un batch et du code asm. Le principal etant que cela fonctionne, pour ma part, je trouve ça pratique.

Le launch s'occupe de la partie GUI (l'icone se met en TRAY)
je ne pense pas que la difficultée soit là.

Le driver lui est composé de 3 parties:
rootkit.bat contient les fonctions de bases pour la gestion du driver.
hkssdt.asm contient le code permettant de hooker les services systemes de Windows ( Fonction Zw/Nt ... )
hidevcd.asm contient les fonctions specifiques du driver a savoir l'installation de la fonction hook HookZwOpenKey et la gestion d'un filtre qui nous permet de savoir ce qu'il faut autoriser ou refuser.

Tout appel system passe tout par une fonction syscall qui verifie si interruption ou syscall et simule toute entrée comme arrivant d'une interruption ( structure KTRAP_FRAME )

Si c'est un appel system, le code va chercher un pointeur vers une table ( System service Descriptor Table SSDT ) dans laquelle sont stockés les pointeurs vers les fonctions systemes et le nombre de parametres que ces fonctions prennent en charge.

c'est dans cette table que le programme intervient et introduit un hook.

Regmon de sysinternals fonctionne de cette maniere là et je soupçonne aussi Anti-Blaxx d'utiliser cette methode.

D'une manière générale c'est aussi comme cela que fonctionne les rootkits ( code permettant de prendre controle de ta becane ) et c'est surtout pour cela que j'ai partagé ce code.

@++
vecchio56
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7 -
Ils sont pas un peu bizarres tes .bat?
Sinon, j'ai pas bien compris le but du code, ca m'a l'air relativement compliqué...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.