Nicolas SURRIBAS

Développement / Réseau / Sécurité Informatique

malware

Revue du honeypot mwcollect

Rédigé par devloop - -

Note : Cet article a été initiallement écrit en décembre 2005.

mwcollect est un honeypot destiné à la surveillance des malwares circulant sur le réseau Internet.

Commençons par décrypter un peu ce charabia...
Un malware est un programme (logiciel) donc les objectifs sont néfastes. Evidemment les malwares ne sont pas tous aussi néfastes les uns que les autres. On les divise en plusieurs catégories : virus, vers, spyware, adware, backdoors/rootkits, dialers... mais bien souvent ces programmes sont des mélanges de plusieurs catégories ou du moins collaborent les uns avec un autres (ex: un ver qui infecte des machines et y installe spyware/dialer ainsi qu'une rootkit pour cacher sa présence).

Un honeypot est un leurre destiné à attirer les pirates. Comment peut-on attirer un pirate ? Et bien il suffit de mettre à disposition un service/programme qui semble exploitable et d'attendre son passage.
Quel est l'utilité d'un tel leurre ? Principalement se tenir au courant des techniques, vulnérabilités, logiciels utilisés par les attaquants pour mieux se défendre.

En règle générale quand on entend "honeypot" on pense à des systèmes complets, sacrifiés pour ces chers pirates ou encore des systèmes émulés avec une architecture réseau soigneusement étudié pour récupérer les informations... bref un arsenal qui demande du matos assez costaud.

Heureusement on trouve quelques solutions légères qui simulent un ou plusieurs services en particulier... mwcollect est l'une de ces solutions.
Il simule différents services exploités massivement par les vers, donne de fausses réponses afin de faire croire que l'attaque a réussi et stocke les données qui ont une signature inconnue (donc à priori une nouvelle variante d'un ver voire pourquoi pas... une toute nouvelle attaque) sur le disque.

Les données recueillies sont soit des fichiers qu'un ver/attaquant a voulu transférer sur sa victime, soit des shellcodes utilisés pour abuser d'une vulnérabilité (une suite d'instructions que le ver veut faire exécuter à sa victime).

Les failles que j'ai simulé à l'aide de mwcollect sont (des failles Windows) MS04-11 (service lsass, exploité notemment par Sasser), MS05-39 (service PnP, exploité notamment par Zotob) ainsi que MS03-26 (RPC-DCOM exploité en particulier par le célèbre Blaster).

Je n'ai pas calculé combien de temps au total j'ai fait tourner mwcollect mais j'ai pu en tirer certaines conclusions et certains chiffres :
  • Sur un total de 382 exploitations réussies, 249 reviennent au service RCP-DCOM, 131 sont à attribuer à lsass et seulement 2 au service Plug and Play.
  • Il faut moins d'une minute une fois les services lancés pour être scanné.
  • Une faille est exploitée dans LES 5 PREMIERES MINUTES.
  • Même si la faille a été exploitée, l'attaque complète échoue dans la plupart des cas. Les vers ont en effet tendance à utiliser le protocole TFTP pour se propager, ce qui implique le lancement d'un mini serveur TFTP sur la machine attaquante. La plupart du temps le port 69 est explicitement fermé sur la machine par conséquent soit le mécanisme de propagation du ver est imparfait soit la machine attaquante a récupéré le malware d'une façon particulière (site internet, P2P etc)... mais dans tous les cas ont peu considérer que le créateur du malware n'a pas pensé à tout.
  • Très rarement le port TFTP de l'attaquant est protégé par un firewall. Dans ces cas soit un vrai attaquant se trouve sur la machine, soit le ver était présent avant l'apparition du firewall (passage à SP2 ?), ou encore le ver est venu d'ailleurs.
  • Il y a parfois des cas où la commande exécuté est du type "tftp.exe -i 0.0.0.0 get malware.exe" ce qui montre que le malware attaquant n'a pas été capable de déterminer l'adresse IP sur laquelle il se trouve.
  • Sur tous les cas d'exploitation AUCUN n'a réussi à transférer un fichier par TFTP... j'ai seulement eu 3 cas où le serveur TFTP était effectivement lancé mais le fichier à télécharger était... manquant.
  • Les noms de fichiers utilisés par les malwares sont généralement des noms qui pourraient être ceux d'un exécutable système windows... ou des utilitaires (ex: PopupBlocker.exe).
  • Malgré les stats effrayantes que je viens de donner, j'ai remarqué que seules des IPs du même fournisseur d'accès que moi apparaissent dans les logs. Bref le traffic est filtré par le F.A.I. Si ce n'était pas le cas une exploitation surviendrait probablement dès le lancement de Windows (sympa non ?).
  • Une bonne partie des shellcodes sont encodés à l'aide d'un XOR
Le résultat d'un hexdump sur un des shellcodes récupéré :
Hexdump du shellcode
Le shellcode n'étant pas crypté on devine tout de suite à l'aide des chaines de caractères qu'il ouvre un port et y associe une instance de l'invite de commande...

Quelques critiques sur mwcollect :
Quand un shellcode demande l'ouverture d'un port, mwcollect se charge évidemment de l'ouvrir... malheureusement quand le ver/l'attanquant se connecte à ce port on a un beau segfault Le programme ne garde pas en mémoire les shellcodes qu'il a déjà reçu... on se retrouve vite fait avec 25 fois le shellcode le plus fréquent. A cause de tout ça on s'en lasse assez vite

Bon point : on est deux fois plus heureux d'être sous Linux après cette expérience.

Aller sur le site de mwcollect

Etude du ver Web Santy.A

Rédigé par devloop - -

Introduction

Le 20 décembre 2004, ainsi que les quelques jours qui ont suivi, un ver informatique d'un type un peu spécial modifiait plus de 40000 sites Internet à travers le monde en exploitant une faille qui touchait le système de forum phpBB dans sa version 2.0.10 (et antérieure).

Avant-Propos

Jusqu'à présent les vers informatiques (Worms en Anglais) ne se propageaient que de deux façons différentes : soient ils utilisaient une faiblesse dans les clients de messagerie (généralement Outlook) pour exécuter un programme fourni en pièce jointe et s'envoyaient à tous les contacts présents dans le carnet d'adresse ; soient ils exploitaient une vulnérabilité dans un service particulier (vulnérabilités de type buffer overflow, mauvaise validation d'entrée...)

Les vers les plus connus pour la première catégorie se nomment ILOVEYOU, Melissa ou MyDoom. En règle générale ils demandent une interraction de la part de la victime pour fonctionner (on vous promet très souvent des photos de telle ou telle manequin à la mode alors qu'en réalité il s'agit bien sûr d'un virus :)
Ce type de virus semble avoir fait son temps. Tout d'abord les internautes se montrent de plus en plus méfiant, de plus beaucoup ont au moins un antivirus installé sur leur machine.

La seconde catégorie ne requiert aucune interraction avec l'utilisateur et à cause de l'aspect volatile du ver (ils peuvent transiter sur Internet sans obligatoirement se retrouver sous la forme d'un fichier à un moment donné) il est très difficile de s'en protéger. Très souvent les antivirus sont totalement inefficaces face à ce type de vers (Blaster, Slammer etc).

Santy et ses dérivés n'appartiennent à aucune des deux catégories, même s'ils sont assez proches de la seconde catégorie (à aucun moment ils ne nécessitent l'interraction de la victime). En fait, ils sont à classer dans une nouvelle catégorie, à savoir les vers d'applications Web ou, en anglais, les "Web Worms".

Au vu de la multiplication des failles dans les applications Web (failles CGIs, failles PHP, XSS, SQL Injection etc) il était évident que ce type de vers serait apparu un jour ou l'autre. J'ai d'ailleurs eu l'occasion de lire un document intitulé "Web Application Worms : Myth or Reality" réalisé par la société Informatique IMPERVA qui expliquait comment ce type de ver fonctionnerait (et ils ont visé juste). Voyons tout de suite comment fonctionnait Santy.A.

Lire la suite de Etude du ver Web Santy.A

Classé dans : Non classé - Mots clés : malware