{"id":42,"date":"2011-03-01T12:05:38","date_gmt":"2011-03-01T11:05:38","guid":{"rendered":"http:\/\/www.blaess.fr\/christophe\/blog\/?page_id=42"},"modified":"2011-03-01T12:05:38","modified_gmt":"2011-03-01T11:05:38","slug":"virologie-nimda","status":"publish","type":"page","link":"https:\/\/www.blaess.fr\/christophe\/articles\/virologie-nimda\/","title":{"rendered":"Virologie&nbsp;: Nimda"},"content":{"rendered":"<p>Janvier 2002<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">Dans le domaine de la s\u00e9curit\u00e9 informatique, l&rsquo;\u00e9t\u00e9 2001 a surtout \u00e9t\u00e9 marqu\u00e9 par le ver Sricam et les diverses d\u00e9clinaisons de Code Red, dont la diffusion a engorg\u00e9 sensiblement certains serveurs. L&rsquo;automne a vu l&rsquo;apparition d&rsquo;un nouveau parasite informatique dont les multiples moyens de propagation sont int\u00e9ressants \u00e0 observer. Cet article en d\u00e9cortique les m\u00e9canismes, en se fondant sur des documents cit\u00e9s en bibliographie et des exp\u00e9riences personnelles.<\/p>\n<p style=\"text-align: justify;\"><code>W32.Nimda<\/code>, puisque tel est son nom, ou plus simplement \u00ab\u00a0Nimda\u00a0\u00bb &#8211; \u00ab\u00a0<em>Admin<\/em>\u00a0\u00bb \u00e0 l&rsquo;envers &#8211; se propage uniquement dans les environnements Microsoft Windows (NT 4.0, 95, 98, 2000, ME). N\u00e9anmoins sa diffusion par courrier \u00e9lectronique d\u00e9range \u00e9galement les utilisateurs d&rsquo;autres syst\u00e8mes d&rsquo;exploitation qui en re\u00e7oivent des copies par mail, m\u00eame s&rsquo;il ne pr\u00e9sente pas de danger pour eux. De plus le travail des administrateurs r\u00e9seau est forc\u00e9ment perturb\u00e9 par les alertes permanentes que Nimda d\u00e9clenche dans les syst\u00e8mes de d\u00e9tection d&rsquo;intrusion.<\/p>\n<p style=\"text-align: justify;\">Les premi\u00e8res traces d&rsquo;activit\u00e9 de Nimda ont \u00e9t\u00e9 relev\u00e9es au matin du 18 septembre 2001, une semaine exactement apr\u00e8s le premier attentat de New-York. Ses auteurs ont ainsi ajout\u00e9 une note dramatique \u00e0 son apparition, en exploitant la co\u00efncidence entre les \u00e9v\u00e8nements internationaux et le fait que leur ver soit pr\u00eat \u00e0 \u00eatre diffus\u00e9. Il ne faut sans doute pas y voir plus qu&rsquo;une simple note de mauvais go\u00fbt, aucun lien ne pouvant \u00eatre \u00e9tabli avec les organisations terroristes internationales. D&rsquo;autre part la dur\u00e9e n\u00e9cessaire pour cr\u00e9er un ver de la qualit\u00e9 de Nimda est probablement bien sup\u00e9rieure \u00e0 une semaine, et il ne peut pas s&rsquo;agir d&rsquo;une r\u00e9ponse, d&rsquo;un soutien, ou quoique ce soit s&rsquo;inspirant des attentats du 11 septembre.<\/p>\n<p style=\"text-align: justify;\">Par ailleurs, une cha\u00eene de caract\u00e8res appara\u00eet en clair dans le code ex\u00e9cutable\u00a0: \u00ab\u00a0<code>Concept Virus (CV) V.5, Copyright \u00a9 2001 R.P. China<\/code>\u00ab\u00a0, mais elle n&rsquo;indique probablement pas sa v\u00e9ritable origine. En effet, la Chine semble \u00eatre actuellement le pays \u00e0 la mode pour signer la provenance des virus sans pour autant qu&rsquo;ils en \u00e9manent vraiment.<\/p>\n<p style=\"text-align: justify;\">Nimda est int\u00e9ressant car il s&rsquo;agit \u00e0 la fois d&rsquo;un ver, d&rsquo;un virus, d&rsquo;un cheval de Troie, et de surcro\u00eet il utilise un acc\u00e8s cach\u00e9 (<em>backdoor<\/em>). Une pr\u00e9sentation de ces divers types de parasites informatiques est disponible dans [BLAESS 2001]. Il s&rsquo;agit de la premi\u00e8re apparition \u00e0 grande \u00e9chelle d&rsquo;un virus s&rsquo;appuyant sur autant de moyens de diffusion. Cela ne se rencontrait jusqu&rsquo;\u00e0 pr\u00e9sent que dans des vers exp\u00e9rimentaux pour illustrer des concepts th\u00e9oriques. Nous allons voir les diff\u00e9rents moyens qu&#8217;emploie Nimda pour se propager. Il est important de noter que Nimda se pr\u00e9sente sous forme de fichier binaire, probablement \u00e9crit en C et peaufin\u00e9 en assembleur, dont l&rsquo;analyse par d\u00e9sassemblage du code ex\u00e9cutable est tr\u00e8s complexe, contrairement \u00e0 d&rsquo;autres vers simplistes comme\u00a0<em>ILoveYou<\/em> qui se r\u00e9sument \u00e0 des ensembles de macros Visual Basic. Le comportement du ver est donc essentiellement d\u00e9duit d&rsquo;une observation externe, et certaines parties sont peut-\u00eatre encore rest\u00e9es dans l&rsquo;obscurit\u00e9.<\/p>\n<h2>Nimda, un cheval de Troie<\/h2>\n<p style=\"text-align: justify;\">Pour un utilisateur courant, celui dont la machine sert essentiellement &#8211; du moins du point de vue Internet &#8211; au courrier \u00e9lectronique et au surf Web, le premier contact avec Nimda est probablement un mail, avec un sujet al\u00e9atoire, provenant d&rsquo;une adresse parfois connue. Ce courrier \u00e9lectronique ne contient pas de texte, mais une pi\u00e8ce y est attach\u00e9e, nomm\u00e9e\u00a0<code>readme.exe<\/code>. Il s&rsquo;agit naturellement d&rsquo;un fichier ex\u00e9cutable contenant le code du virus lui-m\u00eame. Toutefois, sur un grand nombre de machines Windows, les extensions classiques sont masqu\u00e9es, au profit d&rsquo;une ic\u00f4ne d\u00e9crivant le type de fichier. Ainsi l&rsquo;utilisateur ne verra qu&rsquo;une pi\u00e8ce nomm\u00e9e\u00a0<code>readme<\/code>, et, de son propre chef, cliquera dessus en toute tranquilit\u00e9, persuad\u00e9 que cela affichera le contenu d&rsquo;un texte sans pour autant prendre le moindre risque. Naturellement, le clic d\u00e9clenchera au contraire l&rsquo;ex\u00e9cution du programme, et le d\u00e9marrage du virus.<\/p>\n<p style=\"text-align: justify;\">Ce genre de cheval de Troie est redoutable\u00a0; le type d&rsquo;ic\u00f4ne associ\u00e9e au fichier est le seul indice dont l&rsquo;utilisateur dispose pour savoir qu&rsquo;il d\u00e9marre un programme ex\u00e9cutable et pas simplement la lecture d&rsquo;un texte. Un nombre important des pseudo-vers transmis par courrier \u00e9lectronique s&rsquo;appuient sur l&rsquo;attitude inconsciente ou ignorante de l&rsquo;utilisateur, mais ce cas est diff\u00e9rent. Les extensions des pi\u00e8ces jointes sont masqu\u00e9es par d\u00e9faut, et on ne peut d\u00e9cemment pas reprocher \u00e0 l&rsquo;utilisateur d&rsquo;avoir voulu lire le texte associ\u00e9 \u00e0 un message qui provient d&rsquo;un exp\u00e9diteur connu\u00a0!<\/p>\n<p style=\"text-align: justify;\">Pire\u00a0: le fichier\u00a0<code>readme.exe<\/code> est attach\u00e9 au mail avec un type MIME\u00a0<code>audio\/x-wav<\/code>, qui repr\u00e9sente en principe les \u00e9chantillons sonores. Or, le moteur d&rsquo;affichage HTML des versions non-corrig\u00e9es de Microsoft Internet Explorer (invoqu\u00e9 par Microsoft Outlook Express) d\u00e9clenche automatiquement la lecture de ces \u00e9chantillons lorsqu&rsquo;il les rencontre. Malheureusement, la lecture se fait en demandant au syst\u00e8me d&rsquo;<em>ex\u00e9cuter<\/em> le fichier, ce qui est b\u00e9nin pour un v\u00e9ritable fichier Wav, mais dramatique dans notre situation. Dans ce cas, l&rsquo;utilisateur n&rsquo;a m\u00eame pas besoin de cliquer sur l&rsquo;ic\u00f4ne du fichier, Outlook s&rsquo;en charge tout seul\u00a0!<\/p>\n<p style=\"text-align: justify;\">L&rsquo;efficacit\u00e9 de ce m\u00e9canisme est telle qu&rsquo;il a d\u00e9j\u00e0 \u00e9t\u00e9 copi\u00e9 par un ver nomm\u00e9 BadTrans, apparu durant la derni\u00e8re semaine de novembre 2001. Celui-ci se pr\u00e9sente sous forme de fichier ex\u00e9cutable ayant un nom anodin suivi d&rsquo;une extension masqu\u00e9e\u00a0<code>.pif<\/code> (<em>Program Information File<\/em>) ou <code>.scr<\/code> (<em>Screen Saver<\/em>), ce qui donne par exemple\u00a0<code>info.doc.pif<\/code>,\u00a0<code>sounds.mp3.scr<\/code>, etc. N\u00e9anmoins, les autres caract\u00e9ristiques de Nimda semblent in\u00e9gal\u00e9es pour le moment, du moins dans un seul et m\u00eame virus.<\/p>\n<h2>Nimda, un virus<\/h2>\n<p style=\"text-align: justify;\">Ignorons pour l&rsquo;instant les tentatives de diss\u00e9mination vers d&rsquo;autres h\u00f4tes, et voyons qu&rsquo;arriv\u00e9 sur un syst\u00e8me, Nimda essaye de s&rsquo;incruster dans les moindres recoins de la machine car il lui faut d&rsquo;abord s&rsquo;assurer de sa propre p\u00e9rennit\u00e9 dans son nouvel environnement. Pour cela il se copie dans le r\u00e9pertoire syst\u00e8me (<code>windows<\/code>,\u00a0<code>win32<\/code>,\u00a0<code>winnt<\/code>, etc.) sous le nom\u00a0<code>load.exe<\/code> (apr\u00e8s une phase transitoire o\u00f9 il s&rsquo;appelle\u00a0<code>mmc.exe<\/code>), puis il ajoute au fichier\u00a0<code>system.ini<\/code> une ligne dans la section\u00a0<code>[boot]<\/code> :<\/p>\n<pre>shell = explorer.exe load.exe -dontrunold<\/pre>\n<p style=\"text-align: justify;\">Cela lui garantit d&rsquo;\u00eatre \u00e0 nouveau charg\u00e9 en m\u00e9moire et ex\u00e9cut\u00e9 lors du red\u00e9marrage du syst\u00e8me. Un m\u00e9canisme de\u00a0<em>mutex<\/em> (verrouillage pour acc\u00e8s exclusif) est utilis\u00e9 pour \u00e9viter les infections \u00e0 r\u00e9p\u00e9tition de la m\u00eame machine. L&rsquo;option\u00a0<code>dontrunold<\/code> indique au ver qu&rsquo;il ne doit pas essayer de lancer l&rsquo;ancien ex\u00e9cutable\u00a0<code>load.exe<\/code> s&rsquo;il existait avant son arriv\u00e9e, ce qui \u00e9vite les probl\u00e8mes en cas de double infection simultan\u00e9e.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.blaess.fr\/christophe\/art_014-1.gif\" alt=\"art_014-1.gif\" width=\"200\" height=\"170\" \/><\/p>\n<p style=\"text-align: center;\">Fig. 1 &#8211; Auto-installation.<\/p>\n<p style=\"text-align: justify;\">Il doit ensuite essayer d&rsquo;\u00e9tendre son action aux autres utilisateurs locaux. Il parcourt alors r\u00e9cursivement les r\u00e9pertoires, en ajoutant une copie de son propre code dans tous les fichiers ex\u00e9cutables qu&rsquo;il rencontre. Jusque l\u00e0 rien de surprenant. N\u00e9anmoins Nimda effectue le m\u00eame travail sur le r\u00e9seau en s&rsquo;attaquant aux disques partag\u00e9s accessibles en \u00e9criture\u2026 En fait, cela n&rsquo;est pas aussi efficace qu&rsquo;on peut l&rsquo;imaginer de prime abord, car il est rare qu&rsquo;un administrateur syst\u00e8me consciencieux laisse un disque partag\u00e9 contenant des fichiers ex\u00e9cutables accessible en \u00e9criture.<\/p>\n<p style=\"text-align: justify;\">Nimda utilise alors un second m\u00e9canisme de prolif\u00e9ration. Lorsqu&rsquo;il rencontre des fichiers de type\u00a0<code>.doc<\/code> dans un r\u00e9pertoire accessible en \u00e9criture, il y ajoute une copie de lui m\u00eame sous le nom\u00a0<code>riched20.dll<\/code>. En effet, lorsqu&rsquo;un tel document est charg\u00e9 directement (par exemple en cliquant sur son ic\u00f4ne dans le poste de travail), les biblioth\u00e8ques dynamiques n\u00e9cessaires pour Microsoft Word ou Wordpad &#8211; entre autres\u00a0<code>riched20.dll<\/code> et<code>msi.dll<\/code> &#8211; sont recherch\u00e9es d&rsquo;abord dans le r\u00e9pertoire courant. De plus ces biblioth\u00e8ques ayant l&rsquo;extension\u00a0<code>.dll<\/code> sont normalement dissimul\u00e9es aux utilisateurs\u00a0! Ce principe est donc tr\u00e8s efficace pour contaminer d&rsquo;autres utilisateurs partageant les m\u00eames r\u00e9pertoires de travail\u00a0; il leur suffit d&rsquo;ouvrir un document, m\u00eame en lecture seule, pour que le virus soit ex\u00e9cut\u00e9 sur leur syst\u00e8me.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.blaess.fr\/christophe\/art_014-2.gif\" alt=\"art_014-2.gif\" width=\"400\" height=\"258\" \/><br \/>\nFig. 2 &#8211; Diffusion locale via un r\u00e9pertoire partag\u00e9.<\/p>\n<h2>Nimda, un vers du r\u00e9seau<\/h2>\n<p style=\"text-align: justify;\">Jusqu&rsquo;\u00e0 pr\u00e9sent, les moyens que nous avons vus pour la diss\u00e9mination de Nimda sont relativement passifs. C&rsquo;est la lecture d&rsquo;un courrier \u00e9lectronique, l&rsquo;ex\u00e9cution d&rsquo;un fichier infect\u00e9 ou la consultation d&rsquo;un document qui d\u00e9clenchent la contamination de la machine cible. Toutefois Nimda est beaucoup plus agressif, et essaye de s&rsquo;infiltrer activement sur d&rsquo;autres h\u00f4tes.<\/p>\n<p style=\"text-align: justify;\">Le moyen de r\u00e9plication le plus \u00e9vident est celui du courrier \u00e9lectronique. Nimda se constitue une liste d&rsquo;adresses mail de cibles en parcourant les pages HTML stock\u00e9es dans le cache d&rsquo;Internet Explorer, et en utilisant le m\u00e9canisme de communication MAPI (<em>Mail Application Program Interface<\/em>) pour r\u00e9cuperer les courriers enregistr\u00e9s sur l&rsquo;ordinateur. Ce dernier point permet d&rsquo;am\u00e9liorer la diffusion par mail, car le destinataire voyant arriver un courrier en provenance d&rsquo;une source connue sera plus enclin \u00e0 cliquer sur une ic\u00f4ne intitul\u00e9e\u00a0<code>readme<\/code>. Par ailleurs, une fois la premi\u00e8re vague de diffusion par mail d\u00e9clench\u00e9e, Nimda enregistre les param\u00e8tres n\u00e9cessaires sur le disque pour r\u00e9iterer son offensive dix jours plus tard. Pour \u00e9viter d&rsquo;\u00eatre trop facilement d\u00e9tect\u00e9 par les antivirus utilisant un syst\u00e8me de signature, Nimda modifie al\u00e9atoirement son propre code ex\u00e9cutable avant transmission aux correspondants\u00a0; seule sa taille reste constante \u00e0 56 Ko (57344 octets pour \u00eatre pr\u00e9cis).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.blaess.fr\/christophe\/art_014-3.gif\" alt=\"art_014-3.gif\" width=\"400\" height=\"194\" \/><\/p>\n<p style=\"text-align: center;\">Fig. 3 &#8211; Infection par courrier \u00e9lectronique.<\/p>\n<p style=\"text-align: justify;\">Nimda ne se limite pas \u00e0 l&rsquo;attaque des postes clients, des machines destin\u00e9es aux utilisateurs courants, mais essaye \u00e9galement de se propager sur les serveurs web en employant plusieurs techniques. Pour rechercher une cible potentielle, Nimda effectue des requ\u00eates HTTP vers des adresses prises au hasard, de pr\u00e9f\u00e9rence dans le sous-r\u00e9seau de classe C de son h\u00f4te (avec un masque 255.255.0.0) puis dans le sous-r\u00e9seau de classe B (masque 255.0.0.0) voire, de temps \u00e0 autre, une adresse totalement al\u00e9atoire.<\/p>\n<p style=\"text-align: justify;\">Une fois rep\u00e9r\u00e9 un serveur HTTP, il tente tout d&rsquo;abord l&rsquo;attaque dite de \u00ab\u00a0remont\u00e9e\u00a0<code>..\/..<\/code>\u00ab\u00a0. Il s&rsquo;agit tout simplement de demander au serveur d&rsquo;invoquer un script CGI nomm\u00e9\u00a0<code>scripts\/..\/..\/winnt\/system32\/cmd.exe<\/code>. Bien s\u00fbr un tel nom devrait \u00eatre rejet\u00e9 car la cha\u00eene\u00a0<code>..\/..<\/code>permet de remonter dans les r\u00e9pertoires se trouvant au-del\u00e0 de la racine autoris\u00e9e. Malheureusement, une faille de s\u00e9curit\u00e9 des serveurs Microsoft IIS les rend aveugles \u00e0 la portion\u00a0<code>..\/..<\/code> si on la camoufle derri\u00e8re un double codage, en employant l&rsquo;un des \u00e9quivalents possible de la norme Unicode. Par exemple \u00ab\u00a0<code>..%%32%66..<\/code>\u00a0\u00bb est \u00e9quivalent \u00e0 \u00ab\u00a0<code>..%2f..<\/code>\u00a0\u00bb (<code>%32<\/code> est le code Ascii de `<code>2<\/code>&lsquo; et\u00a0<code>%66<\/code> celui de `<code>f<\/code>&lsquo;) et donc \u00e9quivalent \u00e0 \u00ab\u00a0<code>..\/..<\/code>\u00a0\u00bb puisque\u00a0<code>2f<\/code> est le code de `<code>\/<\/code>&lsquo;. Le v\u00e9ritable bogue de Microsoft IIS est de se livrer \u00e0 ce double d\u00e9codage sans v\u00e9rifier les conditions de s\u00e9curit\u00e9 \u00e0 la deuxi\u00e8me \u00e9tape. Nimda essaye diverses variations sur ce th\u00e8me, en tentant aussi d&rsquo;utiliser\u00a0<code>....<\/code>, tout ceci afin d&rsquo;ex\u00e9cuter l&rsquo;interpr\u00e9teur de commande\u00a0<code>cmd.exe<\/code> sur l&rsquo;ordinateur distant.<\/p>\n<p style=\"text-align: justify;\">On notera l&rsquo;exploitation d&rsquo;une autre astuce dans cette cha\u00eene\u00a0: l&rsquo;administrateur peut restreindre les conditions d&rsquo;utilisation des r\u00e9pertoires de son serveur HTTP. Notamment, il peut interdire l&rsquo;ex\u00e9cution des fichiers, des scripts, dans certains r\u00e9pertoires. Or, il existe un m\u00e9canisme d&rsquo;h\u00e9ritage, un peu abusif, qui transmet l&rsquo;autorisation d&rsquo;ex\u00e9cution de r\u00e9pertoire parent en sous-r\u00e9pertoire enfant. Le r\u00e9pertoire\u00a0<code>scripts<\/code> est cr\u00e9\u00e9 par d\u00e9faut, lors de l&rsquo;installation d&rsquo;IIS, avec les autorisations d&rsquo;ex\u00e9cution. En le mentionnant en d\u00e9but de cha\u00eene, Nimda s&rsquo;assure des permissions n\u00e9cessaires pour lancer\u00a0<code>cmd.exe<\/code>. Si\u00a0<code>cmd.exe<\/code> est accessible, Nimda lui transmet les instructions n\u00e9cessaires pour lui faire charger son propre code en utilisant le protocole TFTP (<em>Trivial File Tranfert Protocol<\/em>, RFC 783), en le sauvegardant sous le nom\u00a0<code>admin.dll<\/code>, ce qui a inspir\u00e9 le nom du ver. Ensuite il demande au serveur distant de le lancer, prenant ainsi le contr\u00f4le d&rsquo;un nouvel h\u00f4te.<\/p>\n<p style=\"text-align: justify;\">Une fois arriv\u00e9 sur un serveur web, Nimda tente de contaminer les utilisateurs qui viendront en consulter le contenu. Pour cela, il parcourt les r\u00e9pertoires, et s&rsquo;attaque \u00e0 ceux contenant des fichiers de type HTML (<code>.htm<\/code>,\u00a0<code>.html<\/code>,\u00a0<code>.asp<\/code>), leur ajoutant un fichier nomm\u00e9\u00a0<code>readme.eml<\/code>, contenant une copie de lui-m\u00eame avec le type MIME\u00a0<code>x-wav<\/code> d\u00e9crit plus haut. De plus, il ins\u00e8re dans les fichiers HTML rencontr\u00e9s les lignes de javascript suivantes\u00a0:<\/p>\n<pre>&lt;html&gt;\n&lt;script language=\"Javascript\"&gt;\nwindow.open(\"readme.eml\",null,\"resizable=no,top=6000,left=6000,\")\n&lt;\/script&gt;\n&lt;\/html&gt;<\/pre>\n<p style=\"text-align: justify;\">Lorsqu&rsquo;un utilisateur charge le fichier HTML avec un navigateur web, ces lignes demandent l&rsquo;ouverture d&rsquo;une fen\u00eatre suppl\u00e9mentaire avec le contenu du fichier\u00a0<code>readme.eml<\/code>, lequel on l&rsquo;a vu contient le code ex\u00e9cutable du virus dans un attachement MIME\u00a0<code>x-wav<\/code>. Le simple fait de consulter une telle page avec une version vuln\u00e9rable de Microsoft Internet Explorer permet donc la contamination par Nimda.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.blaess.fr\/christophe\/art_014-4.gif\" alt=\"art_014-4.gif\" width=\"400\" height=\"269\" \/><\/p>\n<p style=\"text-align: center;\">Fig. 4 &#8211; Prolif\u00e9ration par serveur Web.<\/p>\n<h2>Nimda et les acc\u00e8s cach\u00e9<\/h2>\n<p style=\"text-align: justify;\">Sur certains serveurs Microsoft IIS, la faille autorisant la remont\u00e9e\u00a0<code>..\/..<\/code> peut avoir \u00e9t\u00e9 corrig\u00e9e r\u00e9cemment, mais Nimda tente alors une derni\u00e8re offensive, en essayant de profiter de l&rsquo;acc\u00e8s cach\u00e9 install\u00e9 par le vers Code Red II durant la vague de diffusion de l&rsquo;\u00e9t\u00e9 dernier. Celui-ci copiait en effet l&rsquo;interpr\u00e9teur\u00a0<code>cmd.exe<\/code> dans le r\u00e9pertoire\u00a0<code>scripts<\/code> en le renommant\u00a0<code>root.exe<\/code>. Et c&rsquo;est \u00e0 cet endroit que Nimda essaye de le trouver pour se transf\u00e9rer avec le m\u00eame principe que\u00a0<code>cmd.exe<\/code>.<\/p>\n<p style=\"text-align: justify;\">Finalement, Nimda installe \u00e9galement ses propres acc\u00e8s cach\u00e9s, bien qu&rsquo;ils ne lui soient pas directement utiles (peut-\u00eatre en pr\u00e9vision d&rsquo;une version future\u00a0?)\u00a0: la cr\u00e9ation d&rsquo;un compte\u00a0<code>Guest<\/code> ajout\u00e9 dans le groupe\u00a0<code>Administrator<\/code>, et l&rsquo;ouverture du disque\u00a0<code>C:<\/code> en partage complet.<\/p>\n<h2 style=\"text-align: left;\">D\u00e9sagr\u00e9ments et rem\u00e8des<\/h2>\n<p style=\"text-align: justify;\">Nous avons vus les moyens de propagation de Nimda, mais il faut \u00e9galement examiner les nuisances qu&rsquo;il repr\u00e9sente vis-\u00e0-vis des machines atteintes. Tout d&rsquo;abord, pr\u00e9cisons qu&rsquo;<em>a priori<\/em>, aucune bombe logique n&rsquo;est dissimul\u00e9e dans le code du virus. Pas d&rsquo;effacement al\u00e9atoire des fichiers, pas d&rsquo;attaque par d\u00e9ni de service vers une cible pr\u00e9cise, pas de divulgation des documents rencontr\u00e9s sur le disque\u2026 Nimda semble finalement relativement b\u00e9nin face au vandalisme dont certains autres virus font preuve. Toutefois, outre l&rsquo;aspect d\u00e9sagr\u00e9able de son intrusion dans un syst\u00e8me priv\u00e9, des probl\u00e8mes se posent en raison m\u00eame des m\u00e9canismes de sa propagation.<\/p>\n<p style=\"text-align: justify;\">Tout d&rsquo;abord le trafic r\u00e9seau n\u00e9cessaire \u00e0 la diffusion de Nimda par la recherche et la contamination de sites web est suffisament important pour que la bande passante en certains points soit alt\u00e9r\u00e9e de mani\u00e8re sensible. Il s&rsquo;agit d&rsquo;un ph\u00e9nom\u00e8ne ponctuel qui s&rsquo;est surtout manifest\u00e9 durant les premi\u00e8res heures de propagation de Nimda. Le second probl\u00e8me en revanche a dur\u00e9 plus longtemps, il s&rsquo;agit d&rsquo;un engorgement des serveurs de courriers \u00e9lectroniques et des connexions \u00e0 faible bande passante des utilisateurs ind\u00e9pendants. Dans le cas de ces machines personnelles, on ne doit pas sous-estimer non plus le probl\u00e8me pos\u00e9 par Nimda en terme de stockage, car un volume de 56 Ko est ajout\u00e9 \u00e0 chaque fichier ex\u00e9cutable et dans chaque r\u00e9pertoire contenant des documents\u00a0<code>.doc<\/code> ou\u00a0<code>.html<\/code>, ce qui peut conduire \u00e0 une surcharge des disques de faible capacit\u00e9. De plus sur les syst\u00e8mes NT, les fichiers temporaires utilis\u00e9s pour ex\u00e9cuter les programmes originaux qui ont \u00e9t\u00e9 infect\u00e9s, ne sont pas effac\u00e9s imm\u00e9diatement, mais uniquement au red\u00e9marrage suivant de la machine, ce qui peut conduire \u00e0 une saturation du disque contenant le r\u00e9pertoire de stockage temporaire.<\/p>\n<p style=\"text-align: justify;\">Enfin, le principal d\u00e9sagr\u00e9ment est la faille de s\u00e9curit\u00e9 b\u00e9ante que Nimda ouvre sur les syst\u00e8me o\u00f9 il s&rsquo;installe. Non seulement il cr\u00e9e un compte public avec les privil\u00e8ges d&rsquo;administrateur, mais il autorise \u00e9galement l&rsquo;acc\u00e8s partag\u00e9 du disque dur de la machine atteinte. Enfin, en effectuant des requ\u00eates HTTP al\u00e9atoires pour chercher d&rsquo;autres cibles, il signale sa pr\u00e9sence au reste du monde, permettant ainsi \u00e0 toute personne mal intentionn\u00e9e de se constituer une liste de machines vuln\u00e9rables.<\/p>\n<p style=\"text-align: justify;\">Les rem\u00e8des pour \u00e9viter d&rsquo;\u00eatre contamin\u00e9 par Nimda sont assez \u00e9vidents\u00a0: mettre \u00e0 jour les logiciels incrimin\u00e9s avec les correctifs propos\u00e9s par l&rsquo;\u00e9diteur. On trouve ainsi des\u00a0<em>patches<\/em> pour Microsoft Internet Explorer ou Microsoft IIS (voir par exemple les adresses fournies par [CERT 2001]). Pour \u00e9liminer le virus sur une machine infect\u00e9e, il existe des proc\u00e9dures clairement expliqu\u00e9es sur les m\u00eames sites. A pr\u00e9sent, la prolif\u00e9ration de Nimda semble \u00e0 peu pr\u00e8s \u00e9teinte. Cela ne signifie pas que toutes les machines atteintes ont \u00e9t\u00e9 nettoy\u00e9es, mais que les syst\u00e8mes les plus sensibles (serveurs HTTP) ont pour la plupart \u00e9t\u00e9 mis \u00e0 jour. D&rsquo;autre part, les serveurs de courrier \u00e9lectronique \u00e9tant de plus en plus souvent dot\u00e9s de syst\u00e8mes antivirus, leur utilisation comme relais de diffusion par Nimda s&rsquo;est interrompue d\u00e8s la mise \u00e0 jour des bases de donn\u00e9es correspondantes.<\/p>\n<h2>Conclusion<\/h2>\n<p style=\"text-align: justify;\">Virus, vers, chevaux de Troie, tous ces parasites sont \u00e9videmment des vermines qu&rsquo;il convient d&rsquo;\u00e9radiquer le plus t\u00f4t possible. Toutefois certains peuvent \u00eatre plus int\u00e9ressants que d&rsquo;autres. C&rsquo;est le cas de Nimda dont la pugnacit\u00e9 \u00e0 se propager est surprenante. Force est de reconna\u00eetre la qualit\u00e9 d&rsquo;\u00e9criture de ce virus, m\u00eame si deux remarques s&rsquo;imposent en restriction de ses performances\u00a0:<\/p>\n<ul>\n<li style=\"text-align: justify;\">Nimda utilise des failles de s\u00e9curit\u00e9 assez faciles \u00e0 exploiter, les parties techniques les plus pointues \u00e9tant l&rsquo;impl\u00e9mentation des divers protocoles de communication employ\u00e9s (codage MIME en base 64, SMTP, TFTP, et HTTP). En particulier, Nimda n&rsquo;utilise pas de m\u00e9canismes n\u00e9cessitant de bonnes connaissances du langage assembleur comme les d\u00e9bordements de buffer (voir l&rsquo;article de Fr\u00e9d\u00e9ric Raynal et Samuel Dralet dans ce num\u00e9ro). On peut donc imaginer que si ses auteurs sont plut\u00f4t astucieux, leurs comp\u00e9tences techniques ne sont toutefois pas n\u00e9cessairement tr\u00e8s avanc\u00e9es.<\/li>\n<li style=\"text-align: left;\">La diss\u00e9mination de Nimda est par d\u00e9finition limit\u00e9e dans le temps puisqu&rsquo;elle s&rsquo;appuie uniquement sur des failles de s\u00e9curit\u00e9 faciles \u00e0 corriger, et qu&rsquo;aucun m\u00e9canisme n&rsquo;a \u00e9t\u00e9 pr\u00e9vu pour mettre \u00e0 jour le virus. Par exemple, la premi\u00e8re vague d&rsquo;infiltration aurait pu \u00eatre suivie d&rsquo;un second virus plus discret employant uniquement les acc\u00e8s cach\u00e9s install\u00e9s par Nimda et se mettant lui-m\u00eame \u00e0 jour \u00e0 partir de\u00a0<em>patches<\/em> diffus\u00e9s anonymement sur Usenet ou en IRC\u2026<\/li>\n<\/ul>\n<h2 style=\"text-align: left;\">Pour en savoir plus<\/h2>\n<ul>\n<li style=\"text-align: left;\">[BLAESS 2001] Christophe Blaess &#8211;\u00a0<em>Virus\u00a0: Nous sommes concern\u00e9s\u00a0!<\/em> &#8211; Linux Magazine France Hors S\u00e9rie num\u00e9ro 8.\u00a0http:\/\/www.blaess.fr\/christophe\/.<\/li>\n<li style=\"text-align: left;\">[CERT 2001] CERT Advisory CA-2001-26\u00a0:\u00a0<em>Nimda Worm<\/em>.\u00a0http:\/\/www.cert.org\/advisories\/CA-2001-26.html.<\/li>\n<li style=\"text-align: left;\">[LANDESMAN 2001] Mary Landesman &#8211;\u00a0<em>Email Worm Launches Attack<\/em> -http:\/\/antivirus.about.com\/od\/virusdescriptions\/a\/nimdaworm.htm.<\/li>\n<li style=\"text-align: left;\">[MACKIE 2001] Andrew Mackie, Jensenne Roculan, Ryan Russel, Mario Van Velzen &#8211;\u00a0<em>Nimda Worm Analysis<\/em> &#8211; Incident Analysis Report.http:\/\/aris.securityfocus.com\/alerts\/nimda\/010919-Analysis-Nimda.pdf.<\/li>\n<li style=\"text-align: left;\">[PETHIA 2001] Richard D. Pethia &#8211;\u00a0<em>Information Technology-Essential But Vulnerable: How Prepared Are We For Attacks?<\/em> &#8211; Carnegie Mellon University &#8211;\u00a0http:\/\/www.cert.org\/congressional_testimony\/Pethia_testimony_Sep26.html.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Janvier 2002 &nbsp; Dans le domaine de la s&eacute;curit&eacute; informatique, l&rsquo;&eacute;t&eacute; 2001 a surtout &eacute;t&eacute; marqu&eacute; par le ver Sricam et les diverses d&eacute;clinaisons de Code Red, dont la diffusion a engorg&eacute; sensiblement certains serveurs. L&rsquo;automne a vu l&rsquo;apparition d&rsquo;un nouveau parasite informatique dont les multiples moyens de propagation sont int&eacute;ressants &agrave; observer. Cet article [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":20,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-42","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/pages\/42","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":0,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/pages\/42\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/pages\/20"}],"wp:attachment":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/media?parent=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}