Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Uhooker une plateforme pour l'interception et la manipulation des applications

Par Rédaction, secuobs.com
Le 13/04/2008


Résumé : Uhooker permet de procéder à l'interception (hooking) et à la manipulation d'un programme sur un système d'exploitation de type Microsoft Windows. Les interceptions s'effectuent notamment au niveau des appels vers les fonctions API (ou pas) des librairies présentes sur le système d'exploitation ciblé.



Universal Hooker (Uhooker - lien ) est un outil Open Source de la société Core Security ( lien ), basée en Argentine et éditrice de la plateforme d'audits de sécurité Core Impact ( lien ).

La réalisation de scripts de hooking ( lien ) est simplifié avec Uhooker par l'utilisation du langage Python ( lien ) ; le caractère interprété de ce langage présente l'avantage d'écarter les opérations de recompilation qui peuvent être nécessaires avec des langages comme le C ou le C++.

Uhooker se présente en fait sous la forme d'une extension (uhooker.dll) pour le debugger OllyDbg ( lien ), les interceptions sont ici réalisées à l'aide de points d'arrêt logiciels ( int 3h - lien ), de nombreux scripts sont disponibles prêts à l'emploi sur le site du projet.

Une fois l'extension installée, il suffit de charger l'application ciblée sous TheOllyDbgDebugger puis de choisir un des scripts d'interception avant l'exécution du processus.

Le script Proxy Hooker ( lien ) permet par exemple de mettre en place un proxy afin de capturer le trafic réseau d'une application utilisant le protocole de transport TCP ( script tcpnet - lien ). Chaque paquet de données peut ensuite être visualisé à l'aide d'un éditeur héxadécimal puis réinjecté dans le trafic légitime après avoir été modifiés ( script hooks - lien ).

Une vidéo de la preuve de concept Visual Fuzzing est disponible en téléchargement sur le site dédié aux produits Open Source de Core Security ( lien ).

Le script Change Connect ( lien ) est aussi digne d'intêret puisqu'il permet d'intercepter l'ensemble des appels d'un programme vers la fonction connect() ( lien ).

Il est alors possible de changer l'adresse IP et le port de destination de la connexion afin de rediriger le trafic vers un serveur tiers, un serveur Socat ( lien ) par exemple. Une vidéo, faisant office de preuve de concept de la redirection d'une connexion MSN LIVE Messenger est également disponible en téléchargement ( lien ).

Il est par ailleurs possible grâce à Uhooker de surveiller l'ensemble des modifications opérées sur la base de registre du système d'exploitation à l'aide du script regmonitor ( lien ) prévu à cet effet et son fichier de configuration ( lien ).

Le script Genhooks ( lien ) consiste quant à lui à effectuer de manière automatisée une analyse de la structure d'un fichier DLL ( Dynamic-Link Libraries - lien ) donné afin d'y rechercher toutes les fonctions exportées puis de créer automatiquement les interceptions correspondantes.

Ce script s'avére notamment pratique en cas de librairies présentant de nombreuses fonctions à intercepter ; pour fonctionner il nécessite impérativement le programme dumpbin ( lien ).

Dumpbin est un outil Microsoft prévu pour obtenir des informations sur des fichiers objets COFF (et des bibliothèques standard d'objets COFF ( Common Object File Format - lien ) ainsi que sur des fichiers exécutables et des bibliothèques de liens dynamiques DLL..

La version 1.3 au format tgz ( lien )
La version 1.3 au format zip ( lien )
La documentation de Uhooker ( lien )
ChangeLog Version 1.3 17/12/2007 ( lien ).
Moteur et langage d'ingénierie inverse ERESI ( lien )
Environnement de reverse engineering en Python Paimei/PyDbg ( lien )
High-Level Reverse engineering ( lien )