|
Mina un outil de dé-obfuscation pour les codes Javascript
Par Rédaction,
secuobs.com
Le 01/12/2008
Résumé : Mina est un nouvel outil qui vise à permettre d'effectuer des opérations de dé-obfuscation des codes Javascript afin de tester, avant leur exécution, si ceux-ci représentent une menace pour l'intégrité du système hôte et ses utilisateurs. - Lire l'article
Les techniques d’obfuscation ( lien ) ont initialement été développées afin d’empêcher les opérations d’ingénierie inverse sur les applications et les systèmes dans le but de sauvegarder la propriété intellectuelle des codes de programmation. Néanmoins, elles sont également utilisées par certains de ces codes dont les développeurs souhaitent dissimuler la nature malveillante.
Ces techniques permettent à ces développeurs de cacher plus précisément les parties du code qui tendent à exploiter des faiblesses au niveau du système d’exploitation ou des applications, qui y résident, sans être pour autant identifiées en tant que malveillantes par les systèmes de détection et de prévention d’intrusion (I[D|P]S) en présence.
Plusieurs outils automatisés d’obfuscation sont disponibles sur le marché, la qualité et la robustesse du code en résultant restent cependant assez variables en fonction de la solution utilisée. Dans le cas d’une solution de qualité, ces codes se révèlent extrêmement difficiles à lire et à comprendre ; la rétro-ingénierie, via la décompilation et le désassemblage, s’avérant la plupart du temps complexe voir impossible dans bien des cas.
Mina est un nouvel outil, développé par Stephen Lawler ( Mandiant - lien ) et Stephen A. Ridley ( Matasano - lien ), qui permet à tout un chacun de réaliser des opérations de dé-obfuscation sur ce genre de code lorsqu’ils sont développés en Javascript. Cette solution se présente plus précisément sous la forme d’un mini-débogueur compatible avec les systèmes d’exploitation de type Microsoft Windows.
Lors de son utilisation, Mina va en fait s’attacher aux processus relatifs à l’exécution d’un navigateur Internet de type Microsoft Internet Explorer. Mina consiste concrètement en une implémentation autonome d’une technique que l’on peut résumer à la mise en place d’un point d’arrêt logiciel ( voir l’impression écran - lien ) sur la fonction spécifiquement utilisée pour exécuter le code Javascript dès lors qu’il aura été « dé-obfusqué » par la procédure interne au code malveillant.
Cette fonction s’avère ici être la fonction COlescript::Compile() contenue dans la librairie JSCRIPT.DLL ; en bloquant le processus à cette étape, il est possible d’extirper le code Javascript en clair avant son exécution par l’interpréteur standard. Une fois extirpé de la sorte, il serait alors possible d’effectuer des opérations de détection afin de savoir si un code peut être exécuté par la suite sans que cela représente un risque pour le système hôte.
L’ensemble de ces éléments peut être vérifié grâce à l’utilisation d'un script spécifique qui est mis à disposition par les auteurs de Mina ; ce script ( lien ) est compatible avec WinDbg. A noter qu’afin de permettre son étude et son amélioration, les sources de Mina sont dès à présent accessibles publiquement sur la page suivante ( lien ) alors que l’archive contenant l’utilitaire peut être récupérée sur celle-ci ( lien ).
La procédure d’utilisation de Mina est quant à elle disponible dans le fichier Readme ( lien ) ; l’utilisation de Mina est impérativement conditionnée par l’installation préalable des Debugging Tools ( lien ) pour les systèmes d’exploitation Microsoft Windows.
Une vidéo de démonstration de Mina est également mise à disposition, sur le site « Don’t Stuff Beans Up Your Nose » des auteurs, au format HD ( lien ) ou au format wmv ( lien ) ; la version YouTube est visualisable ci-dessous :
- Article suivant : Pramana, un système de CAPTCHA invisibles basé sur l'analyse comportementale
- Article précédent : Désinstaller automatiquement les logiciels de P2P avec la nouvelle version de GFI LANguard
- Article suivant dans la catégorie Outils : Miranda un outil d'exploitation pour les faiblesses de conception du protocole UPnP
- Article précédent dans la catégorie Outils : Netifera une plateforme d'analyse pour des volumes élevés de captures réseau
Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, exploit, windows, attaque, outil, microsoft, réseau, audit, metasploit, vulnérabilité, système, virus, internet, usbsploit, données, source, linux, protocol, présentation, scanne, réseaux, scanner, bluetooth, conférence, reverse, shell, meterpreter, vista, rootkit, détection, mobile, security, malicieux, engineering, téléphone, paquet, trames, https, noyau, utilisant, intel, wishmaster, google, sysun, libre |
Mini-Tagwall de l'annuaire video : | | | | curit, security, biomet, metasploit, biometric, cking, password, windows, botnet, defcon, tutorial, crypt, xploit, exploit, lockpicking, linux, attack, wireshark, vmware, rootkit, conference, network, shmoocon, backtrack, virus, conficker, elcom, etter, elcomsoft, server, meterpreter, openvpn, ettercap, openbs, iphone, shell, openbsd, iptables, securitytube, deepsec, source, office, systm, openssh, radio |
Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone, server, inject, patch, apple, twitter, mobile, virus, ebook, facebook, vulnérabilité, crypt, source, linux, password, intel, research, virtual, phish, access, tutorial, trojan, social, privacy, firefox, adobe, overflow, office, cisco, conficker, botnet, pirate, sécurité |
Mini-Tagwall des Tweets de la revue Twitter : | | | | security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall, network, twitter, vmware, windows, microsoft, compliance, vulnerability, python, engineering, source, kernel, crypt, social, overflow, nessus, crack, hacker, virus, iphone, patch, virtual, javascript, malware, conficker, pentest, research, email, password, adobe, apache, proxy, backtrack |
|
|
|
|
|