vendredi 12 décembre 2008

0-day Internet Explorer : la cybercriminalité dans la brêche

Alors que Microsoft indique que la vulnérabilité annoncée deux jours plutôt dans Internet Explorer 7 touche en fait toutes les versions supportées (Alerte Lexsi 203), de nombreux codes d'exploitation commencent à voir le jour sur la toile, l'un d'entre eux étant annoncé comme universel par le framework Metasploit.

Certains voient dans cette 0-day un marché plutôt juteux, et l'on commence à voir apparaître de nouvelles compromissions de sites légitimes par injection SQL visant à insérer un Javascript malveillant exploitant la vulnérabilité, pour distribuer tous types de malwares. Notons par exemple la compromission d'un moteur de recherche taïwanais ou le site chinois d'Abit.

Malware as a service

Profitons de l'occasion pour observer l'évolution du "Malware as a service", prestation consistant à vendre un malware clés en mains à des clients n'ayant pas les moyens techniques de développer le leur. Un malware bancaire particulièrement connu et distribué par ce biais est Zeus, aussi nommé Zbot ou Prg. Celui-ci a récemment franchi une nouvelle étape, avec l'apparition d'un service regroupant de nombreuses prestations, visant à simplifier encore la tâche des "clients".

Présenté comme une combinaison d'un kit d'infection, Malkit, et du cheval de Troie Zeus, le service propose entre autres à ses clients les prestations suivantes, pour la modique somme de 50$ US par mois :

  • Hébergement du kit Zeus à Amsterdam
  • Kit Zeus pré-configuré
  • Kit d'infection contenant une quinzaine de codes d'exploitation, provoquant le téléchargement du binaire Zeus
  • Interface d'administration et de statistiques

On est en droit de se demander si à ce prix là, l'hébergeur ne se réserve pas le droit de se servir un peu au passage ...

Quel est le lien entre ce kit de malware et la vulnérabilité 0-day dans Internet Explorer ?

Une mise à jour de la page de présentation vient d'avoir lieu aujourd'hui :

La réaction du milieu criminel fût rapide, tel que l'on pouvait s'y attendre ...

La recommandation du jour ne sera pas vraiment différente de celle de l'avant-veille : maintenant que des sites légitimes commencent à devenir de potentielles sources d'infection, il convient d'appliquer urgemment les solutions de contournement fournies par Microsoft (Réf. Lexsi 11033), ou d'éviter purement et simplement d'utiliser Internet Explorer dans l'attente d'un correctif.

mercredi 10 décembre 2008

Un "Tuesday" particulièrement "Black"

Comme tous les seconds mardi du mois, Microsoft nous livre ses mises à jour de sécurité. Décembre ne déroge pas à la règle, et ce ne sont pas moins de 28 vulnérabilités qui sont corrigées dans cette mouture hivernale.

On retrouve les composants classiques des patch-days précédents : la bibliothèque GDI, Word et Excel, Internet Explorer et Windows. Les vulnérabilités corrigées sont les suivantes :

MS08-070 : Six vulnérabilités de type corruption de mémoire dans des contrôles ActiveX de Microsoft Visual Basic 6, pouvant permettre l'exécution de code arbitraire (Réfs Lexsi 10543 et 11025).

MS08-071 : Deux vulnérabilités de type dépassement d'entier et débordement de tampon dans le tas dans la gestion des fichiers WMF par GDI, pouvant permettre l'exécution de code arbitraire (Réf Lexsi 11026).

MS08-072 : Huit vulnérabilités de type corruption de mémoire dans le traitement des fichiers RTF par Word et Outlook, pouvant permettre l'exécution de code arbitraire (Réf Lexsi 11027).

MS08-073 : Quatre vulnérabilités de type corruption de mémoire dans Internet Explorer, pouvant permettre l'exécution de code arbitraire (Réf Lexsi 11028).

MS08-074 : Trois vulnérabilités dans Excel, pouvant permettre l'exécution de code arbitraire (Réf Lexsi 11029).

MS08-075 : Deux vulnérabilités dans la recherche Windows, pouvant permettre l'exécution de code arbitraire (Réf Lexsi 11031).

MS08-076 : Deux vulnérabilités dans les composants Windows Media, la première permettant de rejouer des identifiants NTLM d'une victime afin d'exécuter du code arbitraire, tandis que la seconde permet à un attaquant de récupérer les identifiants NTLM de sa victime (Réf Lexsi 11030).

MS08-077 : Une vulnérabilité dans Sharepoint Server qui n'effectue pas correctement les contrôles d'accès pour certaines fonctions d'administration. Cela pourrait permettre une élévation de privilèges (Réf Lexsi 11032).

Pas de "remote root" cette fois-ci, donc ...

Tout cela pourrait laisser penser que l'on est face à une journée de patch-day classique, si certains n'en avaient pas profité pour révéler l'existence d'une vulnérabilité de type 0-day, exploitée dans la nature, et touchant Internet Explorer 7 ! Celle-ci n'est pour le moment exploitée que sur des sites chinois, mais il ne devrait pas falloir attendre bien longtemps pour la voir débarquer dans tous les kits d'infection à la mode ... une preuve de concept ayant été publiée. Un joli cadeau de Noël avant l'heure !

La vulnérabilité est un débordement de tampon dans le tas, type de vulnérabilités facilement exploitable par le biais d'une page malveillante en utilisant la technique du "heap-spraying", consistant à remplir le tas de nombreuses instances d'une charge malveillante, puis en choisissant comme adresse de retour l'adresse 0x0a0a0a0a, ce qui nous fait a priori retomber dans le tas, près du shellcode.

Analyse d'une page malveillante

Le code d'exploitation pour la vulnérabilité n'est pour le moment adapté qu'à Internet Explorer 7 sous Windows XP et Windows 2003, comme nous l'indique le code javascript décidant de l'exploitation :

nav=navigator.userAgent.toLowerCase();
if (navigator.appVersion.indexOf('MSIE')!=-1) { version=parseFloat(navigator.appVersion.split('MSIE')[1]) }
if (version==7) {
 w2k3 = ( (nav.indexOf('windows nt 5.2')!=-1) || (nav.indexOf('windows 2003')!=-1) );
 wxp = ( (nav.indexOf('windows nt 5.1')!=-1) || (nav.indexOf('windows xp')!=-1) );
 if (wxp||w2k3)
  document.write('<XML ID=I>...');
}

Le shellcode en question est simplement "xoré" à l'aide de la clé 0x21.

Une fois déchiffré, on peut noter la présence de l'URL servant à télécharger le malware derrière ce "drive-by-download".

Point positif, le malware téléchargé est détecté par de nombreux antivirus :

Celui-ci est un classique "downloader", allant récupérer une liste de malware à installer sur la machine.

http://XXXXXXXX.cn/youxi/0.exe
http://XXXXXXXX.cn/youxi/1.exe
http://XXXXXXXX.cn/youxi/2.exe
http://XXXXXXXX.cn/youxi/3.exe
http://XXXXXXXX.cn/youxi/4.exe
http://XXXXXXXX.cn/youxi/5.exe
http://XXXXXXXX.cn/youxi/6.exe
http://XXXXXXXX.cn/youxi/7.exe
http://XXXXXXXX.cn/youxi/8.exe
http://XXXXXXXX.cn/youxi/9.exe
http://XXXXXXXX.cn/youxi/10.exe
http://XXXXXXXX.cn/youxi/11.exe
http://XXXXXXXX.cn/youxi/12.exe
http://XXXXXXXX.cn/youxi/13.exe
http://XXXXXXXX.cn/youxi/14.exe
http://XXXXXXXX.cn/youxi/15.exe
http://XXXXXXXX.cn/youxi/16.exe
http://XXXXXXXX.cn/youxi/17.exe
http://XXXXXXXX.cn/youxi/18.exe
http://XXXXXXXX.cn/youxi/19.exe
http://XXXXXXXX.cn/youxi/20.exe
http://XXXXXXXX.cn/youxi/21.exe
http://XXXXXXXX.cn/youxi/22.exe
http://XXXXXXXX.cn/youxi/23.exe
http://XXXXXXXX.cn/youxi/24.exe
http://XXXXXXXX.cn/youxi/25.exe
http://XXXXXXXX.cn/youxi/26.exe

Le conseil du jour sera toujours le même : Patchez ! Enfin, si un patch est disponible ... Si vous avez la possibilité, utilisez de préférence un navigateur autre qu'Internet Explorer 7, le temps que la rustine de Microsoft soit prête !