mardi 10 juillet 2012

RMLL 2012 - Workshop Reverse Engineering

RMLL Jour 2. La matinée débute par un atelier de reverse engineering proposé par rootBSD (Paul Rascagnères). L'atelier est composé d'une série de malwares à analyser. Pour la petite histoire, ces binaires sont ceux qui sont donnés lors des entretiens d'embauche de sa société (itrust.lu) .
Exercices classiques dans lequel il faut trouver un mot de passe à donner au binaire qui affiche Godd key or Bad key, ainsi qu'un algorithme de chiffrement/déchiffrement d'image png. On retrouve les outils donnés la veille pendant sa conférence (strings, ltrace, gdb).

L'atelier m'a permis de découvrir un outil: metasm. Metasm est une bibliothèque ruby facilitant l'analyse de malware. metasm est livré avec quelques outils utilisant cette bibliothèque dont une interface graphique qui permet d'afficher le graphe des fonctions. L'outil fait beaucoup d'autres choses, je vais aller me renseigner sur ce programme dont le seul défaut selon le formateur est la légèreté de la documentation (esprit de scapy es tu là? :) ).
Un autre outil à suivre est très peu connu et s'appelle edb debugger.
Le dernier exercice est un binaire qui fait crasher tous les debuggers. Typiquement l'int3 est trappée pour faire crasher gdb. Le binaire fait monter à 100% de CPU metasm sans fin, mais edb parvient, après un temps relativement long à charger le binaire. edb debugger.

Très bon workshop, bons exercices, très bonne pédagogie du formateur :-)

2 commentaires:

  1. Cool, tu vas pouvoir me donner des cours à ton retour ;) depuis le temps que je veux comprendre le reverse !

    Dans le même genre que Metasm (comment t'as fait pour pas connaitre ça ?), il y a Miasm, qui a le bon goût d'utiliser Python (j'ai pas envie d'apprendre le Ruby), outil présenté (par un auteur au débit de mitraillette) lors du SSTIC 2012 : https://code.google.com/p/miasm/

    Laurent

    RépondreSupprimer
  2. @Laurent C.:
    J'ai toujours utilisé gdb à l'ancienne. Il est vrai que metasm aide grandement pour aller plus vite cf l'exam3 du workshop. La gui est suffisamment bien faite pour ne pas avoir besoin de toucher au ruby dessous.
    binaires du workshop dispo à http://schedule2012.rmll.info/Atelier-Reverse-Engineering-sur-plateforme-libre?lang=fr

    RépondreSupprimer