 Le concept de "rootkit" est apparu il y a longtemps dans le monde UNIX (au siècle dernier ! ). Il s'agit d'un composant que le pirate installe sur la machine une fois qu'il en a pris le contrôle, et qui lui permet de dissimuler sa présence. Typiquement, le "rootkit" rend invisible aux autres utilisateurs du système les processus, les fichiers et les connexions réseau du pirate.
Rootkitrevealer.exe source Cert-IST
Dans sa forme la plus moderne sous UNIX, le "rootkit" modifie le système d'exploitation (au moyen d'un "Loadable Kernel Module" ou même par modification "à la volée" du noyau) pour intercepter tous les appels système et supprimer des fonctions de listage les fichiers, les processus et connexions réseau du pirate.
Une fois le "rootkit" installé, il peut être très difficile de se rendre compte de la présence du pirate, et donc, a fortiori, de "désinfecter" la machine. Heureusement, sous UNIX de nombreux outils "anti-rootkit" existent, et si la menace existe toujours, les moyens pour la combattre sont disponibles.
En comparaison avec UNIX, les "rootkit" sont apparus tard sous Windows (en 2001 ?), mais ils ont utilisé d'emblée les techniques de dissimulations les plus avancées (modification du noyau). De plus, ils sont longtemps restés un mythe : des prototypes étaient disponibles (celui de Greg Hoglund reste la référence en la matière) mais ils n'étaient pas vraiment rencontrés en pratique (sur des machines compromises).
"RootkitRevealer" fonctionne sur Windows NT4 et supérieur, et propose une méthode de détection simple qui repose sur le fait que l'une des fonctions d'un "rootkit" est de cacher des fichiers.
Lorsqu'il est lancé, "RootkitRevealer" :
Effectue une première passe qui consiste à obtenir la liste de tous les fichiers du système en utilisant l'API normale de Windows. Puis une seconde passe, où il construit une nouvelle liste de fichiers en lisant directement le contenu du disque, sans passer par les API Windows.
En comparant ces deux listes, "RootkitRevealer" met en évidence le fait que des fichiers sont cachés aux utilisateurs Windows.
Une partie de ces fichiers cachés sont des fichiers légitimes de Windows (les fichiers métadata de NTFS par exemple : $MFT ou $Secure), mais cette liste est bien connue. Tout autre fichier caché est très suspect, et indique en principe qu'un "rootkit" a été installé.
Cette méthode très simple de détection nous paraît très prometteuse, et constitue un outil précieux pour les investigations sous les systèmes Windows. Bien sûr, certaines précautions doivent être prises, et en particulier le binaire "RootkitRevealer" doit être renommé car l'une des premières réponses des pirates a été d'adopter un comportement particulier pour les processus ayant le nom "rootkitrevealer.exe". |