web-dev-qa-db-fra.com

Comment les clés USB peuvent-elles être dangereuses?

Nous connaissons tous l'histoire de la clé USB laissée à l'extérieur d'une centrale électrique qui a été trouvée par un travailleur et insérée dans un ordinateur pour voir le contenu qui a ensuite permis un piratage.

Voici ma question, comment? Je reçois ce code est exécuté, mais comment? J'aimerais vraiment pouvoir faire ça (pour ma propre curiosité bien sûr). J'ai toujours eu une bonne compréhension de la sécurité, comment sécuriser les choses, etc., mais des choses comme les virus, les chevaux de Troie, les pilotes USB ... comment sont-ils activés avec peu d'interaction humaine?

J'aimerais vraiment en savoir plus sur ces choses, je suis un programmeur/administrateur système, donc je voudrais créer un script mais n'ayant jamais été enseigné ou ne l'ayant jamais fait, je ne sais pas comment ni par où commencer. J'aimerais vraiment une grande discussion à ce sujet avec autant d'informations que possible.

161
TheHidden

Jetez un oeil à ce clavier USB :

Rubber Ducky USB Device

"Mais ce n'est pas un clavier! C'est une clé USB, idiot!"

En fait non. Cela ressemble à un lecteur USB, mais lorsqu'il se connecte à un ordinateur, il signale qu'il s'agit d'un clavier USB. Et au moment où il est installé, il commencera à taper les séquences de touches que vous avez programmées à l'avance. Tout système d'exploitation que je connais fait automatiquement confiance aux claviers USB et les installe en tant que périphériques d'entrée de confiance sans nécessiter d'interaction de l'utilisateur au moment où ils sont connectés.

Il existe différentes charges utiles disponibles pour cela. Par exemple, il y en a une qui tape l'entrée du clavier pour ouvrir un Shell, lance WGET pour télécharger un binaire à partir d'Internet et l'exécute.

225
Philipp

Récemment, une forme d'attaque a fait surface qui ne "pirate" pas l'ordinateur par le biais de vulnérabilités de code ou de logiciel, mais endommage plutôt l'électronique.

Un créateur connu sous le nom de Dark Purple a créé un appareil appelé USB Killer 2.0 (basé sur une version antérieure créée par lui sur la base du même concept) qui, lorsqu'il est branché sur le port USB de l'ordinateur, stocke la petite quantité d'énergie envoyée à l'appareil dans des condensateurs, puis renvoie l'énergie stockée à la fois à -220 volts.

Il continue de répéter ce processus jusqu'à ce que l'ordinateur soit mort. Cela détruit le contrôleur d'E/S, souvent intégré à la carte mère (et peut également causer d'autres dommages; je n'ai pas lu de détails sur les tests approfondis). (Source originale en russe et la version traduite de Google = .)

USB drive, USB Killer 1.0, USB Killer 2.0

À droite, l'USB Killer 1.0 exposé et son successeur, l'USB Killer 2.0, et à gauche, l'USB Killer dans un boîtier fermé, qui ressemble à un lecteur flash USB ordinaire.

Les résultats sont affichés ici, tuant la carte mère d'un Lenovo ThinkPad X60 juste après avoir été branché sur la fente USB:

YouTube: USB Killer v2.0 testing.

90
IQAndreas

La "clé USB laissée en dehors de la centrale électrique" dont vous parlez ressemble beaucoup à l'affaire Stuxnet. Il y avait une quantité surprenante (et satisfaisante) de détails sur les aspects techniques dans le livre Countdown to Zero Day . Si vous êtes vraiment curieux, je vous recommande fortement de le lire.

Pour vous donner un tl; dr pour votre question; cela ne se fait pas avec un script mais plutôt un fichier conçu à un niveau inférieur pour exploiter les vulnérabilités dans la façon dont le système d'exploitation gère les clés USB. Lorsque vous branchez un lecteur USB sur Windows, il essaiera de faire des choses utiles comme évaluer la structure des fichiers et voir s'il y a des fichiers que vous voudrez particulièrement utiliser, afin de vous donner une invite pour accéder immédiatement à ces fichiers. Bien qu'il n'exécute intentionnellement aucun des fichiers directement, il existe des exploits dans la façon dont le système d'exploitation analyse les fichiers qui peuvent être utilisés pour inciter le système d'exploitation à exécuter du code.

40
Jeff Meden

Un exemple célèbre de ce que vous demandez est cet avis de Microsoft . La vulnérabilité mentionnée est déclenchée simplement en insérant la clé USB; aucune autre interaction de l'utilisateur n'est requise. C'est ainsi que le virus Stuxnet s'est propagé - voir par ex. rapports de Symantec et F-Secure .

28
Konstantin Shemyak

Ce type d'approches fonctionnait auparavant, mais en raison de la forte propagation des virus via les plumes, l'option autorun sur les systèmes d'exploitation qui permettaient aux clés USB de s'exécuter lorsqu'elles étaient branchées, a été désactivée.

Avant que cette option ne soit désactivée, vous pouviez avoir un fichier EXE sur un périphérique USB qui s'exécuterait lorsque vous branchez l'USB sur l'ordinateur. Sur les systèmes d'exploitation récents, l'option autorun est désactivée par défaut.

Un périphérique USB peut être reprogrammé pour émuler un clavier USB. Lorsque le périphérique USB est branché sur le système, le système d'exploitation le reconnaît comme un clavier USB. Ou pour une alternative plus simple, vous pouvez obtenir du matériel créé spécifiquement à cet effet comme l'a suggéré @Philipp.

Cela suit le principe du test du canard (version adaptée de USB rubber ducky):

S'il plie comme un clavier et tape comme un clavier, ce doit être un clavier

Les claviers USB ont les droits de l'utilisateur connecté et peuvent être utilisés pour injecter des logiciels malveillants dans le système d'exploitation.

23