Nous avons eu la chance de pouvoir assister à la formation de Lee Ling Chuan (@lclee_vx) et Chan Lee Yee (@lychan25) dédiée au reverse engineering de malware.
La formation était très complète et instructive – les outils incontournables du reverse engineering ont été présentés : IDA, WinDbg, Ollydb… Nous avons aussi utilisé d’autres outils d’analyse forensics de Windows, qui nous ont aidé à détecter les changements effectués par un virus (ou autres logiciels malveillants) sur notre système d’exploitation. Tous les outils (VM comprise) se trouvaient convenablement sur un CD fournis par les formateurs.
Le cours s’est articulé autour de l’analyse de plusieurs malwares différents. Le premier a été un botnet (relativement simple). Le but du TP était de trouver le mot de passe permettant de prendre le contrôle du botnet en débuggant le logiciel (analyse dynamique), et de rebooter les ordinateurs des autres stagiaires : une petite compétition assez amusante et très instructive !
Nous avons aussi vu d’autres logiciels malveillants utilisant d’autres vecteurs de contamination comme des pages web ou des documents PDF malveillants. Dans les deux cas, il s’agissait de trouver le shellcode et son vecteur d’exécution dans les logiciels. Nous avons aussi étudié les malwares plus avancés, qui chiffrent leurs instructions ou leur shellcode, nous permettant de trouver l’adresse IP de leurs serveurs command & control.
La dernière partie du cours se portait sur une analyse d’un dropper passant par le kernel pour s’installer dans le système. Des concepts assez complexes qui n’étaient pas forcément à portée des gens n’ayant pas une grande expérience en reverse ou en mécanismes internes des systèmes d’exploitation.
En tout et pour tout, ce furent trois jours assez denses en informations. Nous avons appris beaucoup de choses : le désassemblage de malware se voit donc maintenant bien démystifié. Merci encore aux deux formateurs qui ont su partager leur savoir avec passion et bonne humeur, en dépit du décalage horaire !
Thomas Chopitea
Bonjour,
Le reverse engineering n’est pas une simple décompilation du fichier malicieux pour trouver des information, c’est un peu plus, modifier le code interne pour que ce fichier soit son propre antidote…