Certains infections patchent (modifient) ou remplaceent des fichiers systèmes afin de modifier le comportement de ces derniers.
Il peut être difficile de détecter et remettre le fichier à son état initial, cette page vous donne quelques grandes lignes pour y arriver.
Quelques exemples d'infections
Avant toute chose, et encore une fois, les patchs de fichiers systèmes ne sont pas forcément dû à des infections. Par exemple, certains programmes ajoutant/modifiant des thèmes Windows patchent des fichiers systèmes.
De même, les windows non légitimes peuvent avoir des fichiers systèmes non signés et donc considérés comme étant patchés.
Il existe aussi certains patchs pour le fichier TCPIP.sys qui permet de modifier de nombre de connexions simultanées pour le téléchargement sur P2P par exemple, certaines infections (notamment les bots) patchent aussi ce fichier afin de pouvoir scanner plus de machines.
Le patch en soi n'est pas infectieux, la modification finale ne l'est pas en tout cas.
Bref ce n'est pas forcément facile de savoir si oui non le patch est légitime ou pas.
Voici quelques exemples de patch/remplacement de fichiers systèmes :
- userinit.exe : http://forum.malekal.com/infection-user ... ml#p178579
exemple :
http://forum.malekal.com/virus-msn-win3 ... ml#p145135 ou avec restorer64_a.exe / Backdoor.Win32.HareBot - beep.sys / users32.dat : http://forum.malekal.com/viewtopic.php? ... 035#p60071
- tcpip.sys : pour les raisons évoquées précédemment.
- user32.dll : exemple avec le trojan W32/MarioF-B
- ndis.sys :
- Les patchs de fichiers systèmes "classiques" :
- svchost.exe : Exemple avec l'ajout d'un ADS O23 - Service: FCI - Unknown owner - C:\WINDOWS\system32\svchost.exe:ext.exe, explorer etc.
- explorer.exe : Exemple : http://forum.malekal.com/trojan-win32-d ... sfc#p66411
- winlogon.exe
- Dernièrement un patch du fichier WS2_32.dll http://forum.malekal.com/troj-wshack-so ... ml#p158255 qui provoque des redirections lors des recherches Google
La preuve la plus évidente d'un patch d'un fichier système est la modification de la date du fichier.
Mais ceci n'est pas systématiquement bien : mais un patch/remplacement de fichiers peut avoir lieu sans modification de fichiers
Exemple d'un remplacement du fichier système C:\Windows\system32\userinit.exe avec une date du fichier anormale au 18/10/2008
source : http://forum.malekal.com/zlob-exploits- ... 14659.html
Une vidéo et un lien expliquant le fonctionnement de cette infection : http://forum.malekal.com/infection-user ... 21641.html
Si vous avez un doute, vous pouvez soumettre le fichier à un scan sur VirusTotal
Les détections sont de la forme :
Fichier ws2_32.dll reçu le 2009.03.31 11:53:54 (UTC)
Situation actuelle: terminé
Résultat: 25/40 (62.50%)
Formaté Formaté
Impression des résultats Impression des résultats
Antivirus Version Dernière mise à jour Résultat
a-squared 4.0.0.101 2009.03.31 Trojan.Win32.Patched!IK
AhnLab-V3 5.0.0.2 2009.03.31 -
AntiVir 7.9.0.129 2009.03.31 TR/Patched.DI
Antiy-AVL 2.0.3.1 2009.03.30 -
Authentium 5.1.2.4 2009.03.30 -
Avast 4.8.1335.0 2009.03.30 Win32:Patched-HZ
AVG 8.5.0.285 2009.03.31 Win32/Patched.V
BitDefender 7.2 2009.03.31 Trojan.Generic.1027563
CAT-QuickHeal 10.00 2009.03.31 -
ClamAV 0.94.1 2009.03.31 -
Comodo 1090 2009.03.30 TrojWare.Win32.Trojan.Patched.di
DrWeb 4.44.0.09170 2009.03.31 Trojan.Ws232Patcher.1
eSafe 7.0.17.0 2009.03.31 Win32.Patched.di
eTrust-Vet 31.6.6426 2009.03.31 Win32/VMalum.EHVB
F-Prot 4.4.4.56 2009.03.30 -
F-Secure 8.0.14470.0 2009.03.31 Trojan.Win32.Patched.di
Fortinet 3.117.0.0 2009.03.31 -
GData 19 2009.03.31 Trojan.Generic.1027563
Ikarus T3.1.1.49.0 2009.03.31 Trojan.Win32.Patched
K7AntiVirus 7.10.685 2009.03.30 Trojan.Win32.Malware.1
Kaspersky 7.0.0.125 2009.03.31 Trojan.Win32.Patched.di
McAfee 5569 2009.03.30 Generic.dx
McAfee+Artemis 5569 2009.03.30 Generic.dx
McAfee-GW-Edition 6.7.6 2009.03.31 Trojan.Patched.DI
Microsoft 1.4502 2009.03.31 Virus:Win32/Pecdav.A
NOD32 3976 2009.03.30 Win32/Patched.P
Norman 6.00.06 2009.03.31 -
nProtect 2009.1.8.0 2009.03.31 -
Panda 10.0.0.14 2009.03.31 Suspicious file
PCTools 4.4.2.0 2009.03.30 Trojan.Patched!sd6
Prevx1 V2 2009.03.31 -
Rising 21.23.12.00 2009.03.31 -
Sophos 4.40.0 2009.03.31 Troj/WSHack-A
Sunbelt 3.2.1858.2 2009.03.31 Trojan.Win32.Patched.di
Symantec 1.4.4.12 2009.03.31 -
TheHacker 6.3.3.9.296 2009.03.30 -
TrendMicro 8.700.0.1004 2009.03.31 TROJ_AGENT.TMZ
VBA32 3.12.10.1 2009.03.31 Trojan.Win32.Patched.di
ViRobot 2009.3.31.1669 2009.03.31 -
VirusBuster 4.6.5.0 2009.03.30 -
Information additionnelle
File size: 118784 bytes
MD5...: ba7b480af8293d78f0a7430100eb3de1
SHA1..: 8d7c30c1034db0c2c73f090f0482029bfc010888
Enfin il existe un programme SigCheck de Sysinternals qui vérifie si le fichier système est signé Microsoft. Toute modification (donc patch) des fichiers supprime la signature de ce dernier.
Ce qui nous donne ceci dans le cas de deux fichiers non légitimes et légitimes :
Enfin les tools et utilitaires de désinfection/diagnostique peuvent aussi aider.
Combofix est aussi capable de détecter des patchs de fichiers systèmes (ceci n'est pas systématique), Combofix affiche alors les messages :
c:\windows\system32\userinit.exe . . . is infected!!
c:\windows\system32\svchost.exe . . . is infected!!
c:\windows\system32\spoolsv.exe . . . is infected!!
c:\windows\explorer.exe . . . is infected!!
GMER peut aussi aider, un exemple avec le patch du fichier WS2_32.dll, on obtient ces lignes :
.text C:\WINDOWS\Explorer.EXE[600] C:\WINDOWS\system32\WS2_32.dll section is writeable [0x71AB1000, 0x12153, 0xE0000040]
.data C:\WINDOWS\Explorer.EXE[600] C:\WINDOWS\system32\WS2_32.dll entry point in ".data" section [0x71AC41A1]
.text C:\WINDOWS\system32\winlogon.exe[752] C:\WINDOWS\system32\WS2_32.dll section is writeable [0x71AB1000, 0x12153, 0xE0000040]
.data C:\WINDOWS\system32\winlogon.exe[752] C:\WINDOWS\system32\WS2_32.dll entry point in ".data" section [0x71AC41A1]
.text C:\WINDOWS\system32\services.exe[796] C:\WINDOWS\system32\WS2_32.dll section is writeable [0x71AB1000, 0x12153, 0xE0000040]
.data C:\WINDOWS\system32\services.exe[796] C:\WINDOWS\system32\WS2_32.dll entry point in ".data" section [0x71AC41A1]
Conseils et réparation des fichiers patchés
Le patch de fichiers peut provoquer des alertes multiples des antivirus qui dans la majorité des cas ne parviendront pas à corriger le fichier.
Il ne faut surtout pas mettre le fichier patché/infectieux en quarantaine car vous risquez :
- dans le cas de tcpip.sys ou ndis.sys perdre toute connexion réseau (et donc internet)
- dans le cas de userinit.exe ou explorer.exe, la session utilisateur ne bootera plus (écran noir) - voir http://forum.malekal.com/virus-msn-win3 ... ml#p145135
- dans le cas de svchost.exe, de multiples services ne fonctionneront plus et donc Windows ne pourra plus être utilisé de manière normale et optimale.
- dans le cas de beep.sys ceci est moins grave.
Pour remettre le fichier patché à son état d'origine, vous pouvez tenter :
- Menu Démarrer puis cliquez sur exécuter
- Tapez : sfc /scannow (attention, il y a un espace entre sfc et /scannow)
- Cliquez sur OK.. un scan aura lieu.
Si les fichiers DllCache et ServicePackFiles\i386 ont été patchés, vous aurez alors besoin des fichiers systèmes Windows qui se trouvent soit sur votre disque dur (répertoire i386), soit dans le CD Windows.
Si vous n'avez pas de fichier système en votre possession, une seconde alternative est de récupérer un fichier système depuis un autre Windows (prenez si possible une même version de service pack) et de restaurer depuis la console de récupération ou un CD Live, se reporter à la page Restauration de fichiers systèmes.
Enfin une troisième alternative consiste à exécuter un update Windows qui livre un nouveau fichier système, la difficulté est de trouver la mise à jour qui permet de remettre le fichier système.
Dans tous les cas, il est possible de repartir d'un fichier du service pack correspondant à celui installé sur votre système.
Vous devez télécharger le service pack en version "Network Installation Package" :
- Service Pack 2 : http://www.microsoft.com/downloads/deta ... laylang=en
- Service Pack 3 : http://www.microsoft.com/downloads/deta ... laylang=en
Menu Démarrer / exécuter et tapez : "%userprofile%\Bureau\WindowsXP-KB835935-SP2-FRA.exe" -x:C:\
(ne pas oublier les ") puis cliquez sur OK.
Les fichiers seront alors décompressés dans le dossier C:\I386
Vous pouvez alors depuis la console de récupération effectuer un expand afin de restaurer le fichier, exemples :
WinFileReplace de Loup_blanc effectue ces opérations de manière automatique pour vous, se reporter à la page de présentation et le mini-tutorial de WindowsFileReplace.expand c:\I386\explorer.ex_ c:\Windows\
expand c:\I386\winlogon.ex_ c:\Windows\System32\
Après je vous fais pas un dessin, si c'est un malware non détecté et supprimé qui patche le fichier système à chaque démarrage de l'ordinateur.
Patch drivers et infections plus complexes
Certains infections plus complexes comme ZeroAccess ou TDSS TDL3 patch les drivers systèmes.
Le billet suivant aborde ces infections : Infections complexes et patch drivers systèmes
Conclusion
Encore une fois rien n'est simple aux pays des malwares, vous devez faire attention aux alertes antivirus notamment si le mot patched est présent dans la détection.
Néanmoins il est toujours possible de retomber sur ses pattes.