Comment faire votre propre Bad USB - octet NULL

Comment faire votre propre Bad USB

Beaucoup d'entre vous ne savent même pas de mon existence ici sur Null Byte, donc je pensais de contribuer quelque chose d'assez intéressant. Récemment, quelqu'un a demandé comment faire votre propre « Bad USB, » et je promis de faire comment faire sur ce sujet. De plus, il serait agréable d'avoir quelque chose lié à notre monde WonderHowTo. Alors voilà!

introduction

La plupart des lecteurs flash USB courants sont exploitables en raison de la vulnérabilité « BadUSB ». Cela nous permet aux pirates de reprogrammer le microcontrôleur en eux pour agir comme un dispositif d'interface humaine (HID), par exemple un clavier et exécuter des frappes personnalisées sur notre machine cible. Ce scénario est souvent appelé une « attaque Payload HID, » puisque vous devez remettre votre script à Bad USB pour l'exécution (plus tard). Même si presque tous les lecteur flash USB est exploitable, la seule méthode de reprogrammation est publié pour les microcontrôleurs « Phison ».

Dans ce tutoriel, nous allons déterminer le microcontrôleur de votre lecteur flash USB, compiler le code source publié dans GitHub pour les outils dont nous avons besoin, et de passer à la construction d'un firmware personnalisé avec une charge utile de HID intégré qui transformera notre flash USB sans danger conduire dans un clavier malveillant conçu pour nous aider à compromettre notre machine victime. Le processus est un peu comme la compilation et le clignotement ROM sur votre appareil Android.

Comment faire votre propre Bad USB - octet NULL

Exigences

  • Nous devons travailler sur Windows.
  • , Nous avons également besoin d'avoir un lecteur flash USB 3.0 avec un micro-contrôleur Phison 2303 (2251-03). Vous trouverez une liste des périphériques pris en charge connus sur GitHub. Je vais utiliser un USB 3.0 TransMemory-MX Toshiba 8 Go lecteur dans ce tutoriel.

Parfois, posséder un appareil confirmé ne signifie pas que le PS2251-03 est effectivement utilisé, les fabricants semblent utiliser différents contrôleurs, même dans les modèles mêmes de l'appareil.

  • Assurez-vous que vous pouvez ouvrir le boîtier de votre périphérique USB sans l'endommager. Un de mes amis ont dû littéralement vu son dispositif USB parce qu'il était trop pressé. S'il vous plaît lire la section « Réglage Notre appareil en « Mode d'amorçage » manuellement » à la fin de cet article pour aider à l'ouvrir.

S'il vous plaît continuer à vos propres risques; il n'y a aucune garantie que votre appareil fonctionne, même si il ne devrait pas y avoir de problèmes.

Détermination de la Microcontroller de Notre USB Flash Drive

Avant de commencer, nous voulons nous assurer que notre USB utilise le contrôleur pris en charge. Nous pouvons utiliser un programme appelé information Flash Drive Extractor pour recueillir les informations nécessaires sur notre USB.

Il ne nécessite aucune installation. Il suffit d'ouvrir l'outil et cliquez sur le bouton « Obtenir des informations USB Flash Drive » pendant que vous avez votre clé USB insérée dans votre PC. Si votre lecteur utilise le contrôleur Phison 2303 (2251-03), la sortie devrait ressembler à ceci:

Comment faire votre propre Bad USB - octet NULL

Toutefois, si votre périphérique USB a un autre, il est fort probable que vous ne pouvez pas reprogrammer à un dispositif HID avec cet exploit. Assurez-vous de vérifier les périphériques pris en charge connus afin d'obtenir un qui fonctionne.

Configuration de l'environnement Build-

Téléchargement - Compiler le code source

Comment faire votre propre Bad USB - octet NULL

Comment faire votre propre Bad USB - octet NULL

Après le clonage et l'ouverture de la repostitory. Vous êtes le plus susceptible de voir trois solutions.

Nous aurons besoin DriveCom et EmbedPayload seulement. Si ouvert, vous pouvez compiler avec Ctrl + Maj + B ou barre de menus - Construire - Générer la solution.

Si vous ne pouvez pas cloner le dépôt par Visual Studio, téléchargez le fichier .zip à partir GitHub et ouvrir les fichiers .sln dans chaque dossier des solutions. devraient être DriveCom et EmbedPayload la. \ Psychson \ tools maintenant: E: \ Documents \ Bad_USB \ Psychson \ tools.

Comment faire votre propre Bad USB - octet NULL

L'obtention d'une image du brûleur

Chaque image du brûleur doit faire le travail, mais vous pouvez utiliser la dernière version qui est indiquée par la partie « Vyyy » du nom.

Encoder Dowload Duck

Le « Encoder Duck » est un outil multi-plateforme Java qui convertit des scripts en charges utiles HID. Il est basé sur le Bad-USB appelé « Rubber Ducky » par Hak5. Vous pouvez le télécharger ici . (Ne pas oublier d'installer Java.) Je l'ai enregistré à E: \ Documents \ Bad_USB \ DuckEncoder \.

Création d'un Custom Firmware

À ce stade, se font tous nos préparatifs et nous pouvons continuer à utiliser les outils. Dans cette étape, nous avons tout simplement aller à notre. \ Psychson \ firmware \ et exécutez build.bat. Si tout va bien, vous verrez un nouveau dossier avec de nombreux fichiers différents à l'intérieur.

Comment faire votre propre Bad USB - octet NULL

Le fichier FW.BIN est le fichier que nous utiliserons dans la charge utile suivante.

Rédaction d'un script

Nous allons aller de l'avant et de créer un fichier txt dans notre répertoire préféré

(E: \ Documents \ Bad_USB \ DuckEncoder \ script.txt). Je pensais de vous montrer quelque chose de plus intéressant qu'un script « Bonjour tout le monde », donc je fait celui-ci:

Comment faire votre propre Bad USB - octet NULL

Vous pouvez même utiliser des scripts personnalisés et faire un peu d'ingénierie inverse ici.

Convertir en un Payload HID

Il est temps de commencer à utiliser le terminal Windows - cmd.

java jar "PATH \ duckencode.jar" -i "PATH \ script.txt" -o "\ payload.bin Path"

java -jar E: \ Documents \ BadUSB \ DuckEncoder \ duckencode.jar -i E: \ Documents \ Bad_USB \ DuckEncoder \ script.txt -o E: \ Documents \ Bad_USB \ DuckEncoder \ inject.bin

Nous n'obtiendrons une sortie, mais inject.bin doit être créé dans E: \ Documents \ Bad_USB \ DuckEncoder \. dans mon cas.

Intégrer le Payload dans le firmware

Maintenant, nous devons utiliser les outils que nous avons construit avec Visual Studio. De toute évidence, EmbedPayload est d'intégrer des charges utiles. Nous devons simplement exécuter cmd:

"Path to EmbedPayload.exe" "PATH à la charge utile" "chemin vers le firmware nous avons construit"

E: \ Documents \ BadUSB \ Psychson \ tools \ EmbedPayload.exe E: \ Documents \ Bad_USB \ DuckEncoder \ inject.bin E: \ Documents \ Bad_USB \ Psychson \ firmware \ bin \ FW.BIN

Notez que FW.BIN comprend la charge utile maintenant. Vous pouvez également remplacer le firmware en exécutant build.bat à nouveau.

Dumping le firmware actuel de l'USB Flash Drive

Je vous conseille vivement de faire une copie du firmware sur votre lecteur flash USB au cas où vous voulez restaurer. Pour toute action que nous voulons prendre notre USB, nous devons utiliser DriveCom, qui est dans notre dossier « outils ».

"PATH DriveCom.exe" / drive = "lettre de lecteur de notre USB" / action = DumpFirmware / brûleur = "PATH à notre image du brûleur" / firmware = "Chemin du output.bin"

E: \ Documents \ Bad_USB \ Psychson-maître \ tools \ DriveCom.exe / lecteur = F / action = DumpFirmware /burner=E:\Documents\Bad_USB\Firmware\BN03V117M.BIN / firmware = E: \ Documents \ Bad_USB \ originalfw .poubelle

Firmware clignotant

Enfin, nous pouvons remettre la charge utile fermeture descendante très malveillant intégré dans le firmware à notre lecteur flash USB:

"PATH DriveCom.exe" / drive = "Drive Letter" / action = SendFirmware / brûleur = "PATH à notre image du brûleur" / firmware = "Chemin du firmware"

E: \ Documents \ BadUSB \ Psychson \ tools \ DriveCom.exe / drive = F / action = SendFirmware /burner=E:\Documents\Bad_USB\Firmware\BN03V117M.BIN / firmware = E: \ Documents \ Bad_USB \ Psychson \ firmware \ bin \ FW.BIN

Une sortie réussie devrait ressembler à ceci:

Comment faire votre propre Bad USB - octet NULL

Notez que DriveCom commute le mode de notre USB en mode démarrage automatiquement pour flasher le firmware. Maintenant que notre lecteur flash USB est devenu un clavier, on ne peut pas passer d'un mode plus avec nos outils, ni accès à la mémoire, mais qui est un problème mineur. Dans la section suivante, je vais me concentrer comment résoudre ce problème.

Réglage Notre appareil en « Mode de démarrage » manuellement

Si vous voulez prendre des mesures supplémentaires à votre Bad USB, vous remarquerez que ni DriveCom, ni de Windows, ni aucun autre système d'exploitation y ont accès, car il est un clavier après tout. Nous devons ouvrir le cas de notre lecteur USB et de connecter deux broches du microcontrôleur tout en branchant le lecteur dans notre PC. Étant donné que le cercle se trouve sur le coin supérieur gauche de mon contrôleur (de ce point de vue), je dois relier les deux broches du côté inférieur gauche:

Comment faire votre propre Bad USB - octet NULL

J'utilise habituellement le bord d'un connecteur USB pour connecter ces deux broches. En outre, un câble d'extension USB peut être très utile dans ce scénario. Il semble être difficile, mais vous m'y habituer. Utilisez ce que vous vous sentez plus à l'aise, sans endommager votre lecteur flash USB. Si vous le faites correctement, le lecteur affichera à nouveau dans Windows:

Comment faire votre propre Bad USB - octet NULL

Et nous pouvons modifier notre lecteur ou flasher le nouveau firmware d'origine. Dans le cas contraire, votre PC s'arrêtera-essayer la prochaine fois plus difficile.

Dernières pensées

Le Bad USB est un outil très puissant si vous avez accès à l'ordinateur de votre victime, même si Windows peut être la merde au chargement des pilotes USB. En outre, il évite la détection AV car il est un clavier plutôt que d'un virus.

De plus, je voudrais mentionner que j'apprécie vraiment des commentaires constructifs de vous les gars. Donc, ne hésitez pas à me PM si vous trouvez une erreur ou voulez améliorer quelque chose!

Les références

Toutes les photos ont été prises par moi-même.

Ah, je ne sais comment vous êtes précis et prudent.
Bien fait, facile à suivre et donne un bon premier impact.

En outre, comme le fait que vous avez inclus de nouvelles informations sur le côté matériel, je devrais essayer ceci un certain temps. En outre, des notes sur les détails montrent vraiment combien vous vous-même en elle. Espérons que vous serez en mesure de nous en dire plus sur votre expérience.

GG, My_Ouzo, heureux que vous joint les créateurs!

Hm. Qu'est-ce que je devrais dire?

Quand j'ai vu cet exploit sur github je presque immédiatement vérifié tous mes lecteurs flash USB pour le contrôleur pris en charge. J'ai eu un, mais parce que je ne voulais pas sacrifier j'ai commandé un autre dans la liste des périphériques pris en charge connus. (Finalement, je flashé accidentellement le premier lecteur flash USB, parce que les fenêtres ont changé les lettres de lecteur). La recherche et le téléchargement de tous les outils nécessaires ont pris un peu d'effort, mais la construction et l'exécution de tout se passe bien.

Il était aussi amusant montrant le mauvais USB à mes amis, même pensaient qu'ils ne trouvent pas particulièrement drôle lorsque leur PC fermé.

Je tiens aussi à mentionner que depuis que j'aime la photographie autant que le piratage j'ai apprécié prendre des photos pour cet article.

FATAL: System.InvalidOperationException: En-tête non accepté
à DriveCom.PhisonDevice.TransferFile (données d'en-tête octets, des octets, le corps d'octets) dans
C: \ Users \ Susantha \ Desktop \ Nouveau dossier \ DriveCom \ DriveCom \ PhisonDevice.cs: ligne 256

à DriveCom.Startup.RunFirmware (String filename) dans C: \ Users \ Susantha \ Deskto
p \ Nouveau dossier \ DriveCom \ DriveCom \ Startup.cs: ligne 427
à DriveCom.Startup. SendFirmware () dans C: \ Users \ Susantha \ Desktop \ Nouveau dossier \ D
riveCom \ DriveCom \ Startup.cs: ligne 378
à DriveCom.Startup.Main (Les arguments de chaîne) dans C: \ Users \ Susantha \ Desktop \ New pli
er \ DriveCom \ DriveCom \ Startup.cs: ligne 114

Savez-vous whythis est arrivé, j'ai eu un Phison 2251-61 (2261) donc je 2251-61 sur Win8 pour essayer d'envoyer mon firmware mais il atteint ce et étapes

À la question ci-dessus référenceurs puis-je utiliser output.bin que je suis d'une action DumpFirmware à SendFirmware

Tout d'abord Bienvenue sur Null Byte Susantha!

Mais je suis désolé de dire qu'il ne semble pas fonctionner avec le contrôleur « 2251-61 ». Cet exploit est le « 2251-03 » seulement: /.

Je l'ai essayé avec la même FDD vous nous montrer ici, mais je comprends toujours pas comment réinitialiser après je flash firmware personnalisé en elle.

Articles Liés