jeudi 2 avril 2009

La clef USB: le maillon faible ?

Dans cet article nous allons décrire comment préparer une clef USB pour récupérer des informations sur la machine de notre utilisateur "cible"


Première étape

La première étape consiste à créer le "malware".

Les fichiers qui composent le "malware" sont les suivants:
· autorun.inf
· nircmd.exe
· malware.bat
· folder.ico
· payload.exe

Quelques mots sur l'"autorun.inf". Ce fichier permet de lancer automatiquement une application lors de l'insertion de la clef USB. C'est ce comportement que nous allons utiliser pour exécuter notre "malware".

Cepandant, la fonctionnalité "autorun" peut être désactivé sur la machine "cible" pour des raisons de sécurité que l'on comprend aisément.

Dans ce cas l'"autorun.inf" est malgré tout exécuté lorsque l'utilisateur essaie d'explorer le contenu de la clef avec l'explorateur (double-click sur "My Computer", puis double-click sur la clef USB).




Notre fichier « autorun.inf » est configuré de telle façon que lors de l’insertion de la clef USB, l’utilisateur est averti et on lui demande de confirmer l’ouverture. Le message « Open folder to view files » est affiché et sélectionné par défaut.


Ce message est celui défini dans le fichier « autorun.inf ». L’icône associée est une icône qui représente un répertoire (c’est l’icône « Folder.ico ») définit dans le fichier « autorun.inf ».


Le comportement semble tout à fait normal pour l’utilisateur mais en réalité en choisissant d’ouvrir le contenu de sa clef USB, l’utilisateur choisit d’exécuter le « malware ». La commande exécutée est celle décrite dans le fichier « autorun.inf ».


La ligne de commande utilise un outil appelé « nircmd.exe » disponible à l’URL suivante : http://www.nirsoft.net/utils/nircmd.html . Cet outil permet d’exécuter quelques tâches sans afficher d’interface utilisateur. L’option « execmd » permet d’exécuter une commande Windows. C’est cet outil que nous utilisons pour exécuter notre commande « CALL malware .bat ».


Le fichier « malware.bat » lors de son exécution permet de faire 3 opérations essentielles. La première consiste à cacher les fichiers qui ont été copiés sur la clef USB par le pirate (attrib + H fichier).

La deuxième permet d’ouvrir le contenu de la clef ; c’est le comportement attendu par l’utilisateur (start .).

La troisième et dernière permet d’exécuter la charge utile (CALL payload.exe).

La charge utile correspond au fichier « payload.exe ». Cet exécutable n’est pas présenté dans cet article. Mais il pourrait réaliser les opérations suivantes :
- voler les mots de passe Internet Explorer de l’utilisateur « cible »
- copier des fichiers systèmes
- installer un malware (permettant de prendre le contrôle de la machine)
- transférer des données privées sur la clef USB pour une récupération ultérieure ou sur un serveur « pirate »

Nous allons nous intéresser dans ce qui suit à la récupération de données privées sur la clef USB à l’insu de l’utilisateur.

Deuxième étape

La deuxième étape consiste à infecter la clef USB avec un "malware".

Cette étape peut être facilement réalisée en développant un petit logiciel qui sur détection de l’insertion d’une clef USB copie les fichiers du « malware » sur la clef.

Troisième étape

La troisième étape est l'exécution du malware sur le poste "cible".
Comme nous l’avons vu précédemment lors de l’insertion de la clef sur le poste « cible », l’utilisateur voit apparaître la fenêtre suivante qui correspond au comportement habituel lié à l’insertion de sa clef.



Si l’utilisateur est prudent (et même les plus avertis d’entre eux le sont rarement ; nous l’avons testé pour vous…), il peut remarquer que l’option « Open folder to view files » se trouve à 2 endroits dans la liste. Un utilisateur paranoïaque peut également remarquer que la première option fait référence à un exécutable qui se trouve sur la clef USB (ce qui bien entendu ne devrait pas être le cas).

Quatrième étape

La dernière étape consiste à récupérer les données
Comme pour la corruption de la clef avec le « malware » la récupération des données fonctionne sur le même principe : lors de l’insertion de la clef sur le poste « pirate », le logiciel détecte l’insertion de la clef et la présence éventuelle des données piratées. Si les données sont présentes elles sont alors copiées sur le poste « pirate ».


Prox-IA est à votre entière disposition pour vous fournir des informations complémentaires sur ce thème.
Source: MISC

3 commentaires:

  1. bien joli tout ça mais il faut trouver une bonne raison pour que l'utilisateur cible ait envie de mettre la clé usb et ensuite de la rendre .
    Pour le faire, il faut , souvent , que ce soit fait en toute bonne raison avec un tiers de confiance (ou alors quelqu'un qui aura gagné sa confiance ) .
    Un peu scrabreux comme scénario

    RépondreSupprimer
  2. Effectivement ce scénario ne fonctionne que si l'attaquant et la cible sont par exemple des collègues de travail.
    Mais il existe de nombreux autres scénarii. C'est cette même technique qui est utilisée par le ver Conficker pour se propager (http://fr.wikipedia.org/wiki/Conficker).

    RépondreSupprimer
  3. Vous avez raison cette technique n'est pas récente.
    Il y a 10 ans la disquette était utilisée comme vecteur d'infection. Les machines ne possèdent aujourd'hui que très rarement des lecteurs de disquette. Les clefs USB jouent aujourd'hui le même rôle.
    Mais cette technique a désormais du "plomb dans l'aile".
    Avec l'arrivée de Windows 7 (fin d'annèe 2009), la fontionnalité d'AutoRun ne sera plus utilisable (Vista et XP devraient également avoir un patch de sécurité dans la foulée).
    Vous pouvez obtenir plus d'informations sur le site de Microsoft Technet: http://blogs.technet.com/srd/archive/2009/04/28/autorun-changes-in-windows-7.aspx

    RépondreSupprimer

Partager avec...