Accueil🇫🇷Chercher

Rootkit Unhooker

Rootkit Unhooker, Ă©galement connu sous les noms de RkU et de RkUnhooker est un anti-rootkit, un H-IDS (utilitaire de dĂ©tection des intrusions Ă  usage individuel) pour Microsoft Windows, gracieusement mis Ă  disposition des utilisateurs « en l'Ă©tat Â» et pour une utilisation Ă  leurs risques et pĂ©rils.

Rootkit Unhooker

Informations
Type Antirootkit (d)

Au premier trimestre 2007, il peut être considéré comme le meilleur anti-rootkit de sa catégorie qui comporte pourtant d'excellents utilitaires comme DarkSpy, Gmer, IceSword, et leur ancêtre : RootkitRevealer.

Partant du principe qu'aucun utilitaire actuel ne peut garantir une dĂ©tection totale de toutes les variĂ©tĂ©s de rootkits prĂ©sents et Ă  venir, RkUnhooker peut ĂŞtre le complĂ©ment d'outils de prĂ©vention d'intrusion comme Â« Antihook » ou Winpooch ou des versions rĂ©centes d'utilitaires commerciaux comme Nod32, F-Secure, Kaspersky, etc.

Pour ceux qui n'ont encore qu'un antivirus et un pare-feu classiques, RkUnhooker peut même se situer à la base du système de protection contre les rootkits.

Les auteurs

Rootkit Unhooker est un produit de UG North – Web-development [1]. Des informaticiens connus sous les pseudonymes de Â« EP_X0FF » (« EvilPhantasy« ), Â« MP_ART » , Â« < DnY > »  ... participent Ă  son dĂ©veloppement.

Description

L'essentiel de son développement s'est fait au second semestre 2006 et au début de 2007.

Par rapport à d'autres anti-rootkits, RkU apporte une capacité supérieure de détection des fichiers cachés et des modifications effectuées dans le noyau grâce, entre autres, à :

  • ses consultations « Ă  bas niveau Â» des fichiers systèmes en leur Ă©tat original sur le disque dur pour une comparaison avec les Ă©lĂ©ments en mĂ©moire ;
  • des recherches de crochets (hooks) effectuĂ©s par les processus et drivers en cours d'exĂ©cution...
    • dans de nombreuses tables de travail du système Windows, Â« IAT » (Import Address Table), SSDT, GDT, IDT ...
    • dans les  IRP (I/O request packets) et les Â« ADS » (Alternate Data Stream) ;
  • la dĂ©tection des Â»inline hooks« , quand un processus, driver ou bibliothèque logicielle modifie le Â»code« d'un autre processus, driver ou bibliothèque logicielle, gĂ©nĂ©ralement en y remplaçant certaines instructions par des instructions de dĂ©tournement vers un nouveau traitement – 'handler' - sous contrĂ´le du rootkit, par le biais d'une fonction de rappel asynchrone (asynchronous callback subroutine).

RkUnhooker offre plusieurs solutions pour analyser les intrusions et les réparer ...

  • Établissement d'un rapport complet des crochetages dĂ©tectĂ©s ;
  • PossibilitĂ© de dump (enregistrement sur le disque sous forme de fichier) d'un composant du système altĂ©rĂ© en mĂ©moire, pour une analyse approfondie ;
  • Restauration des Ă©lĂ©ments crochetĂ©s du noyau : « dĂ©crochage Â» et remise en leur Ă©tat original ;
  • Broyage des fichiers malsains dĂ©couverts.

Environnement et installation

RhUnhooker fonctionne avec des processeurs x86 32 bits et les systèmes d'exploitation Windows 2000 SP4, Windows XP +SP1, SP2 et Windows 2003 +SP1.

En usage ordinaire, il consomme très peu de ressources et convient donc à pratiquement tous les PC. Cependant, lors de certains scans (à la recherche sur le disque de fichiers cachés) il peut utiliser jusqu'à une centaine de Mo.

RkU requiert une installation très lĂ©gère qui s'effectue en automatique Ă  la racine du disque système dans un rĂ©pertoire Â«RkUnhooker» oĂą son exĂ©cutable est gĂ©nĂ©rĂ© sous un nom alĂ©atoire pour Ă©viter certaines variantes d'attaques faites par les malwares contre les utilitaires de dĂ©fense. Dans ce rĂ©pertoire se trouve Ă©galement son utilitaire de dĂ©sinstallation et il est possible d'y ajouter les fichiers .dll d'interface et .chm d'aide en français.

Il place le driver Â«rkhdrv31.sys» dans le rĂ©pertoire %SystemRoot%\System32\Drivers et implante ses clĂ©s dans le Registre Windows (HKLM Legacy et Services). Ce driver s'exĂ©cute en mode noyau (ring0).

Précautions avant le lancement

Dans certaines conditions d'utilisation, par exemple en présence d'outils actifs de défense du noyau ou du registre de Windows, Rootkit Unhooker, ne peut pas fonctionner normalement et parfois même pas être lancé. Dans un environnement système complexe, il peut encore y avoir des conflits avec d'autres logiciels. En cas de problème, vous devrez vérifier votre système et essayer de neutraliser ou même désinstaller le logiciel de sécurité qui s'oppose au fonctionnement de RkU.

Sous peine de risquer un Ă©cran bleu de la mort,

Avant d'utiliser RkUnhooker
  • L'utilisateur doit impĂ©rativement savoir quels logiciels il a installĂ© sur son PC et qui sont en fonction. En effet, RkUnhooker va dĂ©tecter la prĂ©sence de tous ces logiciels et surtout des crochetages « sains Â» effectuĂ©s par bon nombre d'entre eux ;
  • En cas de doute sur l'authenticitĂ© d'un des logiciels ou d'un service Windows, il faut effectuer des vĂ©rifications complĂ©mentaires avant d'agir, se mĂ©fier des fausses alertes ;
  • Pour Ă©viter de nombreuses confusions possibles, il est souvent prĂ©fĂ©rable d'interrompre la connexion Ă  Internet et de procĂ©der Ă  la dĂ©sactivation des logiciels de sĂ©curitĂ© (pare-feu, antivirus, etc.) ainsi que celui des logiciels et services volontairement installĂ©s. Au besoin, il est possible d'utiliser pour cela le module [DĂ©marrage] de »Seem«  seem.about.free.fr.

Modules de détection des crochets et intrusions

Rappel ... Dans tous les cas de figure, les listes établies portent sur l'ensemble des éléments cachés ou des modules crochetés, qu'ils le soient par des logiciels désirés (pare-feu, antivirus, Alcohol\Daemon Tools, Skype etc.) ou par des malwares.

  • SSDT DĂ©tecteur de crochetages/Restaurateur

RkU vous montre l'Ă©tat de la Â« SSDT », quelles fonctions (Ă©galement appelĂ©es 'services' dans la terminologie de Microsoft) sont crochetĂ©s, et permet de les dĂ©crocher. Quand RkU dĂ©croche une fonction, il remplace l'adresse du crochet par l'originale. Des paramètres (Setup) permettent de limiter la liste aux seuls crochets effectuĂ©s dans les fonctions de la « SSDT Â» ou Ă  celles qui sont effectuĂ©es depuis un « handler Â» situĂ© hors du noyau. Il est possible de procĂ©der au « dĂ©crochage Â» d'un des Ă©lĂ©ments listĂ©s ou de l'ensemble.

  • DĂ©tecteur de processus cachĂ©s

Cette liste comporte des processus ordinaires mais aussi ceux qui sont invisibles des utilitaires ordinaires comme Task Manager, Process Explorer etc. De nombreuses fonctions sont disponibles pour un processus sĂ©lectionnĂ©, depuis l'arrĂŞt simple ou son « arrĂŞt forcĂ© Â» jusqu'au broyage du fichier sur le disque en passant par une possibilitĂ© de « dump Â».

  • DĂ©tecteur des drivers cachĂ©s

Les fonctions disponibles portent essentiellement sur la copie, « dump Â» d'un driver sĂ©lectionnĂ© et sur son Ă©ventuel broyage sur le disque.

  • DĂ©tecteur des fichiers cachĂ©s

La recherche s'effectue « Ă  bas niveau Â» sur le disque et une comparaison est faite avec la liste obtenue de manière classique. Elle peut s'avĂ©rer très longue sur des disques de forte capacitĂ©. Il faut ĂŞtre patient ou limiter la recherche Ă  la partition système. Dans les versions rĂ©centes, une nouvelle technique inspirĂ©e par le « FileReg Â» de IceSword a Ă©tĂ© implantĂ©e.

  • DĂ©tecteur de 'Code Hooks'

Une autre tactique des rootkits malintentionnés est le camouflage par crochetage des fonctions API de Windows. RkU peut détecter cette méthode furtive en comparant l'image et l'intégrité du 'code' en mémoire avec les originaux du système. De plus, RkU contrôle également les principaux composants du système d'exploitation comme les drivers des disques et du réseau. RkU peut restaurer le 'code' original par remplacement de celui qui est en mémoire.

Attention : dans certains cas ceci peut entraîner un 'BSoD' (écran bleu de la mort) et un redémarrage du PC.

Catégories de crochetages détectés:

  • Inline - existent en mode noyau (KernelMode) et en mode utilisateur (User Mode). Le processus ou le driver intrus injectent leur propre 'code' dans le corps de la fonction crochetĂ©e, provoquant un renvoi vers leur 'handler'. Cette technique peut Ă©galement s'appliquer aux drivers sans dĂ©tournement d'adresse : c'est le 'IRP inline hooking'.

Difficulté de détection – variable, de moyenne à très difficile.

  • IAT - existent en mode noyau et en mode utilisateur. Le processus ou le driver intrusremplce l'adresse des fonctions par la sienne en modifiant la 'Import Table'. Ce type de crochetage se fait presque seulement en mode utilisateur.

Difficulté de détection – variable, de très facile à facile.

  • Syscall - System Call - Appel système, instruction (ou interruption) spĂ©ciale utilisĂ©e par le système opĂ©ratoire pour les transferts du mode utilisateur vers le mode noyau. L'intrus remplace l'adresse de destination par celle de son 'handler'. Ce type de crochetage peut ĂŞtre combinĂ© avec le 'Inline'.

Difficulté de détection – variable, de très facile à moyenne.

  • Rapport

L'établissement d'un rapport peut servir à une analyse complète par chacun des crochetages à tête reposée. Il sera aussi le bienvenu pour ceux qui veulent aider au tri entre les divers crochets pour déterminer ceux qui proviennent d'intrus indésirables. Plusieurs options sont possibles dont un choix du(des) types de crochets à rechercher et une sélection du(des) disques à scanner à la recherche de fichiers cachés.

RkU Test Rootkit et Unreal

Pour faire progresser son H-IDS, l'équipe de Rootkit Unhooker imagine des méthodes de contournement PoC puis les met en pratique par des rootkits de démonstration inoffensifs que chacun peut utiliser pour vérifier l'efficacité de ses défenses. RkUnhooker est alors amélioré pour contrer ces méthodes d'intrusion

Notes et références

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.