Le worm se présente sous la forme suivante : un fichier Autorun.inf et le worm sous la forme d'une DLL.
- Le fichier autorun.inf a pour rôle d'obliger L'explorateur Windows à exécuter le DLL du worm lors de l'insertion du medium USB à travers rundll32.exe
- Le Dll du worm, une fois chargé en mémoire : il va s'occuper de faire son sale travail.
Bien que le concept autorun.inf / clef usb n'est pas nouveau du tout comme approche d'infection, il s'avère tout de même que le concept reste très efficace à cause d'une erreur chaotique de la firme Microsoft dans son design algorithmique de la façon dont l'explorateur Windows traite les fichiers autorun.inf !
Car contrairement aux virus habituels profitant de la fonctionnalité autorun pour s'exécuter dans l'ordinateur hôte, le worm conficker quand à lui profite de la stratégie de parsing des fichiers autorun.inf par l'explorateur Windows à travers sa libraire shell32.dll !! comment ça ?
- Support du format UNICODE pour les autorun.inf
- Insertion des junks sous forme de commentaires.
- Error tolerant parsing du shell avec les fichiers autorun.inf ( je vais revenir sur ce point ).
C'est pas pour rien que Microsoft demande la tête du concepteur de ce worm
Tout ce qui va suivre comme explication, est biensur développé d'un point de vue Antiviral, je t'expliques les choses comme étant vues par un antivirus
L'erreur algorithmique de Microsoft que je juges chaotique, et je pèse bien mes mots : se résume dans le fait que l'explorateur de Windows traite les fichiers autorun.inf comme étant des fichier .ini, donc il applique le même parseur INI lors du traitement des fichiers autorun.inf ; L'auteur ou les auteurs de Conficker en totale conscience de cette erreur, ont profité de la manière dont windows Parse les fichier ini pour évader les détecteurs antiviraux ou mêmes quelques humains soucieux de vérifier certaines choses par leurs propres yeux
(+) Support Unicode :
Le support unicode pour les fichiers autorun.inf, pour être honnête j'ai jamais entendu parlé avant d'avoir eu à faire à monsieur conficker
Donc en partant du principe qu'un fichier autorun.inf est un fichier non unicode, les parseurs antiviraux ne sont pas capablent de comprendre par exemple que "[Autorun]" == "[,0x,A,0x,u,0x,t,0x,o,0x,r,0x,u,0x,n,0x,]" alors que l'explorateur Windows est capable de comprendre qu'ils sont identiques, et le fichier autorun.inf reste parfaitement exécutable !
Jusqu'à la version 0.6a que tu testes actuellement, le FSB Antivirus est aussi vulnérable à cette attaque ! :( Mais la version 0.7 qui est en cours de finalisation n'est pas vulnérable 8)
(+) Les Junks sous forme de commentaires :
Bein c'est pas nouveau et le concept de cette méthode a été introduit exclusivement avec la famille Vundo qui se propage par clefs USB.
La méthode consiste à introduire des lignes de commentaires avant et entre les champs exécutif du fichier autorun.inf afin de contrer les stupides engins antiviraux qui commencent par vérifier si la 1ère ligne du fichier autorun.inf contient bien le texte suivant : "[Autorun]"
Le FSB Antivirus 0.6a n'est pas vulnérable à ma connaissance à cette attaque.
(+) Error tolerant parsing :
C'est ce que j'ai qualifié de chaotique chez Microsoft, et c'est vraiment le prix à payer quand on applique le même parseur INI pour traiter un fichier autorun.inf !!
Avec conficker, la barre a été poussé vraiment très très loin ! comment ça ?
Bein , en profitant de la flexibilité abusive du parseur Windows des fichiers INI, monsieur Confiture, lol pardon je voulais dire monsieur conficker
s'est permis de présenter un fichier autorun.inf, non conforme, mutilé et supposé être non exécutable même à l'oeil nu : mais que Windows valide et exécute quand même !!!! ( dites merci Microsoft !! allez dites merci !!
)
En fait la ligne qui est supposée valider et mettre à exécution le contenu du fichier autorun.inf a été tellement mutilée par conficker à un point où elle contient en fait le fragment suivant :
[AUTorUN
Et là le gentil parseur INI de microsoft valide la ligne et la rend équivante à "[autorun]" et l'explorateur Windows exécute sans aucun problème le contenu du fichier autorun.inf !!!
Supposons ici que le parseur antiviral est capable de traiter le format UNICODE, serait il normal qu'il valide une ligne pareille ? biensur que nonnnnnnnnn !!!
La version 0.6a du FSB Antivirus est malheureusement vulnérable à cette stupidité algorithmique
car il faut être aussi stupide que Windows pour valider une telle ligne
Si la stupidité est le prix à payer pour détecter des virus qui profiteront de cette faille pour vous infecter, bein sachez que la version 0.7 du FSB Antivirus est encore plus stupide que Windows sur ce point :lol: puisque nous venons de terminer les modifications ce soir sur l'engin Heur.Exploit et donc la version 0.7 prendra en charge les 3 failles que j'ai cité en plus de beaucoup d'autres que je ne peux pas citer :x
Bon, en parlant de stupidité cher tristan, j'ai voulu pousser la barre plus haut mais même si le thème de cette soirée s'intitule autours de la stupidité : il ya tout de même une limite à tout !! d'ailleurs je suis prêt à t'envoyer le fichier que j'ai envoyé à virus total pour que tu vérifies par toi même...
Sachant que j'ai une copie du fichier autorun.inf d'infection du worm conficker, j'ai supprimé les 10 kb qui se trouvent à la fin de ce fichier et qui contiennent les commandes vulnérables. De manière à ce que le fichier soit totalement inoffensif et surtout invalide : puisqu'il contient alors que des junks et aucune commande pouvant être validée par notre cher explorateur. Et après j'ai envoyé ce bout de fichier invalide à notre corbeille mondiale de la sécurité sur virus total
http://www.virustota...m/analisis/8c06 ... df2cc5dee2 Les résultats ? ils sont exceptionnels
File autorun.inf received on 03.03.2009 23:10:09 (CET)
Current status: finished
Result: 7/39 (17.95%)
AhnLab-V3 5.0.0.2 2009.02.27 TextImage/Autorun ( vive la corée
)
AVG 8.0.0.237 2009.03.03 Worm/Generic_c.ZY ( on triche pas avec moi svp !! c'est pas heuristique
)
BitDefender 7.2 2009.03.03 Worm.Autorun.VHG
GData 19 2009.03.03 Worm.Autorun.VHG ( n'achetez plus roumain la prochaine fois :lol: )
Microsoft 1.4306 2009.03.03 Worm:Win32/Conficker.B!inf ( N'oubliez pas de remercier Microsoft
)
Panda 10.0.0.10 2009.03.03 W32/Conficker.C.worm ( une variante C ? elle n'existe pas encore
)
VirusBuster 4.5.11.0 2009.03.03 INF.Conficker.F
==> les antivirus qui ont fait des détections ici, n'ont pas un support heurisitique des fichiers autorun.inf puisqu'ils ont reporté un fichier invalide comme étant Conficker et c'est dû à quoi ? tout simplement à des signatures débiles, tellement débiles qu'elles prennent en charge le début junk du fichier pour afficher une alerte !! donc monsieur AVG arrêtez svp avec vos tricheries de quel worm générique parlez vous :?: :!: vous venez tout simplement de détecter un fichier texte poubelle grâce à vos signatures comme étant un worm, c'est donc ça vos heuristiques AVG exceptionnelles :?: :lol:
Conclusion ?
Là un scénario fort probable va se passer : les collecteurs automatisés des autres firmes antivirus reliés au service virus total des autres antivirus vont probablement ajouter la signature du fichier invalide autorun.inf à leurs propres bases de données !!