Méfiez-vous des clés USB des amis et collègues ...
la pire cyberattaque contre l'armée US est venue d'une clé USB !
Plus récemment,
Stuxnet s'attaque à des postes en se déployant depuis des clés USB grâce à des
failles zero day.
Pire, on sait modifier une souris pour la
rendre infectante :
http://korben.info/teensy-souris-exploit.html
On peut aussi vous envoyer une clé USB qui se fait passer pour un clavier par le
système. Dès qu'elle est branchée
elle peut alors envoyer des séquences de touches ...
(commentaires)
Dans une entreprise n'utilisez jamais sans précautions une clé USB trouvée "par
hasard" (peut être un piège).
Ne laissez jamais de documents sensibles sur une clé USB, sauf cryptage adéquat.
Si vous intervenez sur des PC avec des clés bootables, pensez à les retirer
avant de démarrer normalement.
Protégez-les contre l'écriture, et
vaccinez-les.
La contamination via les clés USB et autres lecteurs amovibles est un phénomène répandu. Nous allons voir comment l'utilisateur se fait piéger, comment l'éviter, et comment décontaminer l'ordinateur infesté en même temps que tous les lecteurs amovibles réputés infestés à leur tour.
Pour l'étude qui suit nous aurons
besoin d'afficher
les extensions des fichiers. On peut être amené à modifier le Registre ==> Prendre ses précautions. |
Quelques nouveautés apparues depuis la création du présent article :
Sécurisation des Windows face aux menaces des périphériques amovibles (PDF) par GOFKB967940 : Mise à jour de la fonctionnalité de lancement automatique (Autorun) dans Windows
KB967715 : Comment faire pour désactiver la fonctionnalité exécution automatique dans Windows
Comme en général on s'intéresse au sujet seulement une fois que l'on a été infecté, commençons par ... la désinfection. D'autant que des articles très bien faits ont été rédigés à ce sujet, et qu'ils expliquent clairement une bonne partie du mécanisme. Leur lecture sera une excellente introduction à ce qui sera raconté plus loin.
Info : le principe des protections proposées ci-dessous est de créer un dossier nommé autorun.inf pour empêcher les parasites d'installer leur fichier du même nom. Il faut signaler un léger inconvénient passager sur Win7, le nom donné à la partition redevient le nom par défaut, à savoir "Disque local". Il suffit de renommer à nouveau le volume.
Exemples de désinfections réussies
Autorun.inf reçoit souvent les Attributs Caché et Système, voir
Afficher
vraiment tous les fichiers.
L'infection peut rendre ce réglage impossible, voir la section Impossibilité
d'afficher les fichiers cachés
Le problème est souvent révélé par
un message d'erreur en cliquant sur le disque.
Mais assez souvent on ne peut plus ouvrir le volume.
Savoir qu'il est simple d'accéder à un volume via Exécuter. par exemple :
DémarrerExécuter>C:
WIN+R, D:
Pour rendre visible autorun.inf et le renommer afin de l'inactiver,
on peut utiliser ces commandes :
Démarrer>Exécuter>attrib C:\autorun.inf -H -S -R
Démarrer>Exécuter>ren C:\autorun.inf autorun.inf.txt
Il sera utile de connaître la syntaxe des fichiers
Autorun.inf :
Ces derniers exemples sont historiquement pour CD-ROM. Ils fonctionnent de la même façon pour les lecteurs amovibles tels que les clés USB, les appareils photos, les lecteurs MP3, et les disques durs externes, à la différence près que seuls les CD sont autorisés à démarrer directement le programme désigné par Autorun.inf
What must
I do to trigger Autorun on my USB storage device?
Si le programme désigné dans Autorun.inf d'un CD-ROM peut-être exécuté
directement par Windows lors de son insertion, il n'en va pas de même pour les
lecteurs amovibles. Ils ne démarrent pas automatiquement le programme. Et ceci
même avec l'AutoPlay activé (l'Exécution automatique est activée par défaut).
C'est une protection de Windows afin que, pour les lecteurs amovibles,
l'exécution du programme désigné par Autorun.inf ne soit exécuté que suite à une
action de l'utilisateur. Windows n'exécute automatiquement que des parties
jugées sans danger dans Autorun.inf, comme la modification de l'icône du
lecteur, son info-bulle, l'ajout d'items dans le Menu Contextuel. On va voir que
c'est ce dernier point qui est la faille.
Nous allons étudier par quel mécanisme l'utilisateur se fait piéger. Nous allons voir que les fonctions Ouvrir (open) et Explorer (explore) sont détournées, mais pas la fonction Développer. Pour commencer il faut que l'utilisateur soit Administrateur. C'est souvent le cas, par ignorance des risques encourus, par habitude, par flegme, ou pour tout autre raison. Il faut un Autorun.inf bien ficelé, et un exécutable véroleur. En guise d'exécutable nous allons utiliser le jeu Winmine qui permettra de vérifier le bon fonctionnement du leurre.
Sur une clé USB copier le fichier C:\Windows\System32\Winmine.exe
Pour le fun renommer ce fichier Winmine.exe en xn1i9x.com
Ça fait peur, hein ? Les exécutables véroleurs changent souvent de nom pour
ne pas être repérés par les anti-virus (soyez constamment à jour de
vos définitions virales !). Ils savent prendre aussi des noms familiers
inspirés des fichiers systèmes de Windows. Ils peuvent même se faire passer pour
un inoffensif dossier.
Quant à l'extension, elle aurait pu être .exe bien sûr, mais aussi .pif, .scr, etc...
Commencer par afficher les extensions des fichiers. Autorun.inf est un simple fichier texte, il suffit de cliquer dessus pour l'ouvrir dans Bloc-Notes. Pour le créer il suffit donc de produire un nouveau fichier texte et de le renommer "Autorun.inf" (avec Bloc-Notes utiliser des guillemets s'il vous embête à vouloir ajouter une extension .txt). Voyons son contenu :
Voici notre exemple :
[AutoRun]
open=xn1i9x.com
shell\open\Command=xn1i9x.com
shell\explore\Command=xn1i9x.com
Explications :
open= désigne le chemin vers l'exécutable à lancer à l'insertion du lecteur (Remarque 1) shell\open\Command= spécifie la commande par défaut (Ouvrir) shell\explore\Command= l'item Explorer du menu Contextuel est ainsi également détourné
Remarques :
Le contenu de la clé est à présent :
Dans une clef véritablement infectée, ces fichiers sont cachés car ils ont les attributs System, Hide, et ReadOnly. Pour faire bonne mesure l'ordinateur vérolé du propriétaire de la clé infectée n'a plus la possibilité d'afficher les fichiers systèmes et cachés. La personne qui vous confie sa clé ignore donc la présence de ces fichiers. Pour être plus réaliste pour la suite de notre simulation j'ai donc masqué ces fichiers et leurs extensions, et j'ai ajouté une image et un dossier supposés intéresser la future victime.
Voici à présent comment l'utilisateur s'infecte lui-même. Il connecte la clé USB à son PC. Après analyse du contenu afin de proposer les actions adaptées aux fichiers trouvés, Windows demande l'action à exécuter. Comme il y a une image, les actions proposées sont les suivantes :
Le plus souvent l'utilisateur choisira "Ouvrir le dossier". Il n'est pas encore infesté.
Ci-dessous l'utilisateur visualise le contenu. Il ne voit pas les fichiers dangereux car les réglages par défaut de Windows font que les fichiers systèmes et les fichiers cachés ne sont pas affichés. De toutes façons la plupart du temps il y a de nombreux fichiers, et on ne fait pas attention.
Il va pouvoir copier l'image "Plans de montage" qui se trouve être la raison pour laquelle on lui a confié cette clé. Il n'est toujours pas infecté.
Dans cette capture ci-après les deux actions encadrées servent à naviguer vers le Poste de Travail :
Une fois copié le fichier désiré, l'utilisateur va vouloir naviguer vers un dossier dans lequel il pourra sauvegarder cette image. Il dispose de cela de divers moyens, dont deux sont en évidence sous ses yeux. Les deux actions encadrées ci-dessus vont afficher le Poste de Travail :
L'utilisateur n'est pas encore infecté, mais ça va venir, car pour ouvrir à nouveau la clé et accéder à son contenu, il y a de fortes chances qu'il clique directement le lecteur, activant par là même l'action par défaut, c'est à dire "Ouvrir", en gras dans le Menu Contextuel.
Le Menu Contextuel propose Ouvrir qui est affiché en gras car c'est l'action par défaut, l'autre possibilité étant Explorer.
"Exécution automatique" correspond à l'AutoPlay, et affiche les actions à choisir comme lors de l'introduction de la clé. Cet item n'a donc rien à voir avec le problème d'infection.
Le piège est sur le point d'être actionné.
Biloute double-clique sur l'icône de la clé, et ... il est infecté !
Au lieu d'ouvrir le contenu de la clé, c'est le sympathique
Winmine, notre faux
virus
xn1i9x.com,
qui démarre :
Avec une véritable infection on pourrait ne rien détecter signalant le méfait. Le virus ferait ce qu'il a à faire, tout en autorisant l'ouverture prévue, on n'y voit que du feu. On a parfois un message d'erreur révélant le nom de l'exécutable, par exemple infectieux, par exemple AMVO.exe. Ceci est causé par l'anti-virus qui réagit tardivement en supprimant l'exe, lequel n'est plus trouvé par l'autorun.inf
Il reste une option d'ouverture qui n'est pas détournée. Il s'agit de l'action Développer disponible dans le panel de gauche lorsqu'on affiche les Dossiers à la place des Tâches habituelles :
Cette fois, cliquer sur la clé dans le panel de gauche aura l'action attendue, car la fonction Développer n'a pas été détournée. Le contenu de la clé est affiché à droite.
Mais c'est trop tard. Avec une clé véritablement infestée, ce PC serait devenu à son tour infectieux, et polluerait tous les lecteurs amovibles non protégés en lecture qui lui seraient connectés.
L'autoplay peut proposer Exécuter lors de l'insertion de la clé :
Il a été rapporté que ce type de virus, afin de se cacher le mieux possible, désactive la possibilité d'afficher les fichiers systèmes et cachés dans Options des dossiers. On peut décocher ou cocher les items mais le réglage n'est pas conservé.
Pour rappel ces paramètres sont stockés dans le
registre à la clé :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Comme l'impossibilité d'afficher les fichiers cachés n'est pas réparé par les anti-virus, il faut vérifier les valeurs CheckedValue et DefaultValue présentent dans ces deux clés du Registre :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
Il est possible que dans la clé SHOWALL on trouve des choses comme CheckedValue=0
ou DefaultValue=0
Avec
CheckedValue=1 et
DefaultValue=2 c'est mieux.
Télécharger et fusionner au registre le contenu de showall-defaultvalue-2.reg en cliquant dessus (ou clic droit, Fusionner) pour faire cette réparation automatiquement et obtenir :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
CheckedValue=1
DefaultValue=2
Si nécessaire corriger également la clé NOHIDDEN ainsi :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN
CheckedValue=2
DefaultValue=2
Si cela était insuffisant faites-le moi savoir.
La première fois que j'ai été confronté au problème seule la valeur SHOWALL\DefaultValue
était concernée.
Mais on m'a signalé un cas où c'était SHOWALL\CheckedValue qui était
à zéro.
Un fichier reg est disponible pour reconstruire totalement
la clé Hidden.
Les valeurs de CheckedValue et DefaultValue sont celles indiquées ci-dessus pour
SHOWALL et NOHIDDEN.
Lire l'article Show Hidden Files and Folders Option Missing or Does Not Work.
Télécharger
le fichier
foldersettings.reg et comparer son contenu à celui de la clé Hidden.
Sauvegarder
la clé Hidden et fusionner le reg. Il supprime la clé puis la répare.
Cette réparation globale de la clé Hidden a été appliquée avec succès
ici.
Plus d'infos :
http://www.google.com/search?q=SHOWALL+site:symantec.com
http://images.google.com/images?q=SHOWALL+site:symantec.com
http://www.google.com/search?q=SHOWALL+site:symantec.com%2Ffr
On peut désactiver un autorun.inf en le renommant, même s'il est caché,
système, et protégé contre l'écriture (attributs H, S, R).
Ouvrir une console de commande (WIN+R ou Démarrer>Exécuter>cmd) et entrer les
commandes :
attrib c:\autorun.inf -H -S -R
ren c:\autorun.inf autorun.inf.txt
En renommant ainsi le fichier il est inactivé, et le volume C s'ouvre à nouveau en cliquant dessus sans plus provoquer d'erreur dû au fichier appelé manquant. Faire de même pour les autres volumes. Mettre Windows à jour, et voir les procédés de désinfection et de protection. Traiter ensuite les volumes amovibles. Informer son entourage.
L'exécution automatique étant désactivée, on risque moins qu'un visiteur reproduise le scénario précédent. On procèdera dorénavant toujours de la manière suivante pour accéder au contenu d'un volume :
- Connexion du lecteur amovible. Si l'AutoPlay est désactivé, rien ne s'affiche.
- Exécuter le raccourci-clavier WIN+E
WIN étant la touche Windows située entre la touche Ctrl et Alt.
Ce raccourci ouvre Explorer.exe avec les dossiers dans le panel gauche- NE PAS CLIQUER DANS LE PANEL DE DROITE
- Dans le panel de gauche on peut cliquer sur la clé sans danger.
Commentaires :
Désactiver l'Autoplay n'est qu'une option, on peut très bien laisser l'Exécution automatique en marche. TweakUI apporte de la souplesse, noter qu'on peut arrêter l'Autoplay par type de lecteur, mais aussi par lettre de lecteur. La variable concernée est alors NoDriveAutoRun.Certains utilisateurs se plaignent qu'ils doivent attendre que l'AutoPlay ait fini d'analyser le contenu de leur disque dur externe. Cette opération est très rapide avec une clé, mais peut être longue avec un disque dur bien rempli. TweakUI et WIN+E apportent une solution pratique à cet ennui.
On a vu comment il était possible de piéger l'utilisateur pour l'amener a exécuter un programme d'une clé USB à son insu, et ce malgré la protection de Windows XP. On va voir plus bas qu'il est possible de contourner par programme cette protection, rendant possible l'exécution d'une action automatiquement dès l'insertion d'une clé. On a également compris qu'un ordinateur infecté infecte à son tour les lecteurs amovibles. Il existe d'autres attaques possibles, tel USBDumper qui récupère automatiquement les données d'une clé connectée à un PC piégé.
Détourner l'Autorun.inf Cette méthode est particulièrement intéressante car elle inhibe les autorun.inf, désactivant ainsi l'Autorun indépendamment de l'AutoPlay. La technique utilisée est originale et fait appel aux mécanismes mis en place dans le Registre pour assurer la compatibilité avec les fichiers.INI tels que system.ini et win.ini; on déroute donc Autorun.inf en créant une clé du même nom dans IniFileMapping, complétée de paramètres qui empêcheront la lecture du contenu du fichier, et l'associeront à une clef du registre inexistante. Voici le contenu du fichier REG à télécharger et fusionner au Registre, inifilemapping-autorun-protection-activee.reg :
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"L'effet est immédiat et ne peut être levé sans redémarrage complet après suppression de la clé.
Avantages : Nécessite le redémarrage pour lever la protection. Facile à appliquer et automatiser. La protection est globale (tous les comptes). Ne supprime pas l'AutoPlay (le contenu s'affiche toujours automatiquement dans une fenêtre).
Inconvénients : Plus d'Autorun sur les CD également. La nécessité de redémarrer pour revenir à l'état normal peut être vécu comme une contrainte. Ne convient pas pour un Compte particulier. Il faudra garder à l'esprit cette manip peu connue si des utilisateurs se plaignent que l'Autorun ne fonctionne pas.
Pour Vista on élargi encore les possibilités et les conséquences de l'utilisation de la clé IniFileMapping dans une très intéressante étude citée en référence ci-après.
Sources :
Administering the Windows NT Registry
Windows NT Workstation Resource Kits : Chapter 26 - Initialization Files and the Registry
Problems of Privilege: Find and Fix LUA Bugs : Use IniFileMapping
The Dangers of Windows AutoRun
Désactivation de la fonction autorun
Pour revenir à l'état normal fusionner inifilemapping-autorun-suppression-de-la-clef.reg :La clé est supprimée. Redémarrage complet nécessaire.
Remerciements à VP pour avoir signalé cette possibilité de remapping des fichiers Autorun.inf
Seconde solution :
On a vu que Windows XP ne permet pas de démarrer directement le programme situé sur une clé USB ou un lecteur amovible, alors que c'est possible avec les CDROM. Il paraissait probable qu'un programme résident pouvait contourner cette limitation. Ce type de logiciel existe, en voici au moins un exemple :
APO USB Autorun
Trouvé ici :
www.soswindows.net/usb
www.libellules.ch/dotclear/index.php?category/Utilitaires/page/9
APO USB Autorun
www.google.fr/search?q=APO+USB+Autorun
APO USB Autorun installe un raccourci dans le dossier Démarrage. Il démarre donc
avec Windows...
L'icône du Systray permet divers paramétrages, dont le choix de la langue.
L'auteur Arnaud Pons a stoppé le développement, le code est disponible :
www.archidune.com
www.archidune.com/index.php?id=6
http://fspsa.free.fr/infection-du-29-mars-2013.pdf
Changer la Lettre
d'un Lecteur Amovible
Déconnexion
rapide des Périphériques de stockage de masse USB
AutoRun changes in Windows 7
http://blogs.msdn.com/e7/archive/2009/04/27/improvements-to-autoplay.aspx
http://www.microsoft.com/protect/computer/viruses/worms/conficker.mspx
Merci d'avoir lu jusqu'ici !
Retour au début
Les restes du site
JF
(Jean-François)
Créée le 20/04/2008