Comprendre les attaques par port USB

Les périphériques USB sont tellement pratiques. Lorsque l’on a besoin de stocker des petites quantités de données, nous utilisons une clé USB. Tout le monde en a une, et nous leur faisons confiance. Les clés USB sont l’un des moyens principaux pour faire de l’espionnage industriel, mais les attaques au hasard contre des civils et des entreprises sont également courantes.
Le rapport Honeywell 2018 sur les menaces USB pour les opérateurs industriels (en anglais) a analysé un échantillon de 50 sites. Energie, chimie, pâte et papiers, pétrole et gaz et autres secteurs industriels étaient concernés par l’étude. Parmi les sites ciblés, 44 % ont bloqué un fichier suspect venant de ports USB, et 15 % des menaces détectées et bloquées étaient des menaces de haut niveau, comme Stuxnet, Wannacry et Mirai.

Attaques par port USB

Une expérience conduite sur le campus de l’université Illinois Urbana-Champaign en 2016 a montré que sur les 297 clés USB déposées dans l’université, les étudiants et membres du personnel en ont ramassé 98 %.  Pour près de la moitié des clés ramassés, quelqu’un les a branchées et a cliqué sur un fichier. Un sondage est ensuite mené auprès des personnes ayant utilisé les clés USB. 68 % des répondants n’ont pris aucune mesure de sécurité en branchant la clé USB. 68 % déclarent avoir pris un périphérique pour le redonner et 18% l’ont pris par curiosité. Cette étude montre à quel point un simple périphérique USB peut être dangereux.

Le même comportement peut être observé dans les entreprises. Heureusement, les sociétés demandent de plus de plus des formations et des audits d’ingénierie sociale pour sensibiliser leurs équipes à ces menaces. Le simple fait de brancher un périphérique infecté peut mettre en danger la sécurité d’une entreprise : les bonnes intentions et la curiosité peuvent causer beaucoup de tort.

But de l’attaque

Si les anciens ordinateurs et terminaux comme les distributeurs automatiques de billets qui utilisent encore des versions obsolètes d’OS sont particulièrement vulnérables, les smartphones, les objets IoT et les ordinateurs à jour sont également visés.

Voici une liste des nombreuses choses qui peuvent être faites avec une simple clé USB :

  • Prendre le contrôle à distance de l’appareil de la victime
  • Espionner les gens à l’aide de leur webcam, de leur microphone et de leur clavier
  • Voler les mots de passe et des informations personnelles
  • Chiffrer les données pour demander une rançon
  • Effacer, modifier ou injecter des données et du code
  • Détruire le matériel hardware

Il y a quelques années, un groupe de pirates a réussi à voler de l’argent à des distributeurs automatiques en faisant un trou dans la machine et en injectant du code via un port USB. Le nouveau programme en place leur permettait de retirer de l’argent chaque fois qu’un mot de passe précis à 12 chiffres était entré (article en anglais).

Mise en application

Une fois que les attaquants connaissent leur cible et savent ce qu’ils veulent lui faire (voir liste ci-dessus), ils doivent choisir la charge appropriée pour leur périphérique USB. Ils disposent d’un large éventail d’options allant du ransomware au simple keylogger. Les périphériques qui ressemblent à des clés USB peuvent également être utilisés. Par exemple, un USB Killer est un périphérique à l’aspect d’une clé USB qui peut envoyer un courant haute tension par son port USB et endommager le matériel.

Les attaquants peuvent insérer eux-même un logiciel malveillant dans une clé USB, mais ils peuvent aussi acheter une clé USB déjà prête. En autres, les clés Rubber Duckey ou Bash Bunny, qui exécutent des attaques plus conventionnelles comme la mise en place d’un reverse shell, peuvent être trouvés pour moins de 100 euros.

Gardez en tête que tout type de périphérique doté d’un port USB peut être utilisé pour propager des malwares.

Ensuite, les attaquants ont besoin d’un moyen pour que leur clé USB ou leur périphérique avec port USB soit branché sur l’appareil ciblé. Ils peuvent soit le faire eux-même, soit utiliser l’ingénierie sociale pour que quelqu’un d’autre le fasse, sans que cette personne ne s’en rende compte. Les clés USB peuvent être déposées dans la rue, au bureau, dans une boîte aux lettres ou données en cadeau lors d’événements, comme cela s’est peut-être produit lors du sommet du G20 de 2013.

Lorsque la clé USB est connectée, des malwares peuvent s’exécuter immédiatement ou bien d’autres types ont besoin que l’utilisateur clique sur un fichier pour se lancer subrepticement. Du code malveillant peut être caché dans les répertoires, dans les images ou dans toute sorte de fichiers, et la clé peut même se faire passer pour un clavier pour éviter d’être détectée.

Lors d’un récent pentest d’ingénierie sociale, nos pentesters ont déposé 10 clés USB sur le parking, dans les toilettes, salles de réunion et autour du bâtiment de notre client. En quelques heures, 5 clés avaient été utilisées et le malware, un reverse powershell, avait été activé. Un poste de travail était compromis et une session admin était accessible par notre équipe pour une journée entière.

D’un point de vue technique, chaque clé contenait un faux lien vers un répertoire, un répertoire sans nom caché, et un fichier HTML pour suivre combien de fois le piège était activé. Lorsqu’un utilisateur curieux cliquait sur le lien, trois choses se passaient :

  • Un script powershell était exécuté pour trouver les mots de passe Wi-Fi stockés sur l’ordinateur et pour les envoyer au serveur de l’attaquant,
  • Un reverse shell était ouvert depuis l’ordinateur de la victime, donnant un accès total à l’attaquant,
  • Le répertoire caché était ouvert en affichant des JPEG aléatoires et des fichiers PDF pour ne pas éveiller les soupçons de la victime. Ce répertoire contenait également les fichiers malveillants, mais ils ne sont pas visibles.

Adopter les bonnes pratiques

Beaucoup de choses peuvent être faites pour renforcer la sécurité lors de l’utilisation de clés USB. Certaines sont faciles à mettre en œuvre, mais d’autres sont moins pratiques. Nous vous donnons ici des bonnes pratiques et des mesures à prendre pour assurer la sécurité du système d’information :

  • Distinguez les clés USB personnelles et les clés USB professionnelles
  • Si vous ne connaissez pas l’origine d’une clé USB, ne l’utilisez pas
  • Changez vos clés de temps en temps
  • Nettoyez régulièrement vos clés
  • Désactivez les fonctions d’exécution automatique
  • Utilisez une buffer zone pour tester, scanner et décontaminer vos bâtonnets en toute sécurité
  • Si une clé est déjà branchée :
    • Déconnectez la d’internet pour empêcher le téléchargement de données
    • Redémarrez votre appareil immédiatement
  • Conduisez des formations et pentest d’ingénierie sociale
  • (ou, n’utilisez jamais de clés USB… mais c’est moins réaliste)

Si les attaques viennent de l’extérieur, n’oubliez pas que la plupart d’entre elles sont liées aux équipes qui, la plupart du temps, ne connaissent pas les risques de certains comportements. Former votre équipe, en particulier aux différentes techniques d’ingénierie sociale et aux tendances actuelles des attaques, renforce efficacement le niveau de sécurité de l’organisation.