Le but ici est d'expliquer le mécanisme, ceci avait été déjà abordé sur ce topic : http://forum.malekal.com/rootkit-tdss-t ... ml#p188900
Ce post fait suite à celui Malwares et patch/remplacement fichiers systèmes qui abordé le sujet mais plutôt du côté des processus sytèmes et non des drivers systèmes.
Masquer le patch - Rootkit effect
Ces infections modifient des drivers systèmes afin de charger l'infection.
L'infection a des fonctionnalités de rootkit ce qui signifie qu'elle est capable de cacher la modification du fichier système.
Le système renvoie donc des informations comme ci le drivers n'avait été jamais modifié : aucune modification de la date de modification, hash orinal etc.
La capture ci-dessous a été faite sur un Windows infecté par ZeroAccess :
- A droite, en rouge sur GMER, ce dernier nous indique que le driver afd.sys a été potentiellement modifié : Suspicious PE modification.
- A gauche, la commande sigcheck sur ce fichier, renvoie un hash valide et signale bien que le driver est signé numériquement. Le système renvoie donc des informations normales sur le driver afd.sys
- En dessous TDSSKiller renvoie deux hashs, le hash normal (forged) du driver afd.sys et second hash.
- Enfin à gauche, le fichier copy_afd.infected récupéré depuis GMER montre le même hash que TDSSKiller, ce dernier n'est pas signé : c'est le véritable driver modifié qui est malicieux.
Seuls certains programmes conçus pour peuvent éventuellement passer outre la tromperie mise en place par l'infection.
C'est exactement ce qui se passe avec les infections de type MBR qui peuvent renvoyer un MBR valide alors que ce dernier est modifié.
Il ne faut pas faire confiance aux informations renvoyées par un système infecté
Vérification des drivers
Comment être sûr que les drivers ont été modifiés ou non ?
Tout simplement en ne récupérant pas les fichiers depuis le système potentiellement infecté mais depuis un CD Live (soit par exemple GNU/Linux soit OTLPE).
Ci-dessous, on récupère les drivers du Windows infecté par ZeroAccess depuis un CD Live GNU/Linux :
On retrouve le hash malicieux :
sigcheck permet via l'option "-u" de lister les drivers non signés numériquement.
A partir d'un PC sain, on peux donc retrouver le driver système qui a été modifié :
A noter que même sur le PC infecté par ZeroAccess, on peut constater que sigcheck peux lister le driver modifié.
Le hook se fait donc sur le driver dans C:\Windows\system32\drivers - néanmoins, le hook peux se faire sur le nom quelque soit le chemin, il est donc recommandé de renommer les fichiers afin d'être sûr qu'aucun hook vise ces fichiers.
Dans la mesure du possible, il est plutôt conseillé de faire la vérification depuis un PC sain.
Remarquez le fait que la description originale (Microsoft etc) a sauté.
Quelques mots sur la désinfection
Comme vous pouvez le voir, désinfecter ces infections peut poser des soucis.
En effet, si le driver modifié est détecté par l'antivirus, parfois, certains antivirus détecte le driver au moment de la modification sur le système de fichiers lors de l'installation de l'infection.
Si l'utilisateur tente de le mettre en quarantaine et que l'antivirus y parvient, vous pouvez selon le driver visé avoir des fonctionnalités de Windows qui ne fonctionneront plus (USB, réseau etc).
Voir selon le driver, Windows qui ne démarre plus (BSOD de type STOP).
Le paragraphe ci-dessous permet de détecter les drivers systèmes qui ont été modifiés par le fait qu'ils sont non signés et par le hash.
Une recherche du hash sur Google ou un scan VirusTotal de ce dernier peux aider. Pour notre driver : https://www.virustotal.com/file/070d1a1 ... 327059871/
Attention, certains drivers peuvent ne pas être signés numériquement, cela ne veux absolument pas dire qu'ils ont été modifiés ou qu'ils sont malicieux.SHA256: 070d1a19691f3fae9b35bfbfaaf9379928202445405ac859b5264399ffc9199f
Detection ratio: 7 / 43
Analysis date: 2012-01-20 11:44:31 UTC ( 1 minute ago )
AntiVir TR/Crypt.XPACK.Gen8 20120120
Avast Win32:Alureon-APK [Rtk] 20120120
AVG Cryptic 20120120
Emsisoft Rootkit.Win32.ZAccess!IK 20120120
GData Win32:Alureon-APK 20120120
Ikarus Rootkit.Win32.ZAccess 20120120
Kaspersky Virus.Win32.ZAccess.k 20120120
Dans le cas d'un patch, vous devez viser que les drivers Microsoft.
Une fois le driver malicieux trouvé, il suffit depuis un CD Live ou autres de copier un original en écrasant celui modifié.
Au redémarrage, l'infection ne sera plus active. Un scan antivirus permet de supprimer les restes.