Le 27 mars 2007 à Beijing, 23h00 heure locale, le site chinois de recherche antivirus « Malware-Test.com », [1] annonce l'utilisation d'un 0day pour Windows par des sites malicieux. Microsoft publiera un advisory deux jours plus tard, le 29 mars. La vulnérabilité réside dans la gestion des curseurs animés de Windows. À l'aide d'un curseur animé mal formé, il est possible d'exécuter du code sur une machine, et donc de l'infecter. Le problème étant dans user32.dll, Internet Explorer, Firefox, Outlook, etc. sont affectés. Commence alors, une croissance de sites malicieux utilisant cette vulnérabilité, qui ne sera patchée [2] qu'à partir du 3 avril 2007. Lors de la rédaction de cet article, plus de 2000 sites exploitent la faille .ANI pour propager des codes malicieux [3]. Cet article présente l'analyse d'un virus installé à l'aide de cette vulnérabilité.Mots-clés : virus, infection PE, reverse engineering, protections, analyse de code, anti-émulation.
Introduction – Présentation de la faille exploitée
La vulnérabilité réside dans USER32.dll. Lorsque Windows charge un curseur animé, Windows commence par vérifier le curseur, en examinant le début du header. Celui-ci doit contenir les lettres « RIFF ». Ensuite, la fonction _LoadCursorIconFromFileMap est exécutée. C'est dans cette fonction, et plus précisément, dans la sous fonction LoadAniIcon qu'il est possible d'exploiter la vulnérabilité. En présence d'un curseur non malicieux, le programme continue son exécution juste après LoadAniIcon et tout fonctionne correctement. Par contre, en présence d'un curseur malicieux, l'adresse de retour de LoadAniIcon est modifiée pour pointer vers une instruction qui va permettre l'exécution d'un shellcode.
L'adresse de retour est écrasée à l'aide d'une fonction qui copie le header anih, sur la pile. La taille du header est normalement de 0x24 bytes. Aucune vérification n'est effectuée, et il est possible de...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première