Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
WiFi-password-stealer — Einfaches Tool zur Tastatureingabe-Injektion für Windows und Linux, das gespeicherte WiFi-Daten (SSID und Passwort) exfiltriert. | Kitploit
Tools/GitHubGitHub/aleksamcode/wifi-password-stealer
Wi-Fi-PrüfungPasswortangriffePayload-GenerierungDatenexfiltrationInformationsbeschaffungHardware-HackingSocial EngineeringLernen & BildungRed Teaming

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubaleksamcode/wifi-password-stealer

WiFi-password-stealer

Einfaches Tool zur Tastatureingabe-Injektion für Windows und Linux, das gespeicherte WiFi-Daten (SSID und Passwort) exfiltriert.

Repository anzeigen
59547vor 1 JahrVon Kitploit geprüft

WiFi-Passwort-Dieb

License: GPL v2

Hast du jemals einen Film gesehen, in dem ein Hacker einen scheinbar gewöhnlichen USB-Stick an einen Computer anschließt und sofort Daten stiehlt? Heute wirst du ein Gerät bauen, das genau das tut.

⚠️ Haftungsausschluss:

Alle Inhalte dieses Projekts dienen ausschließlich Forschungszwecken im Bereich der Sicherheit.

Inhaltsverzeichnis

  • WiFi-Passwort-Dieb
    • Inhaltsverzeichnis
    • Einleitung
    • Einrichtung
      • Voraussetzungen
    • Rubber Ducky-Angriff
      • Anforderungen - Was du brauchst
      • Tastatureingabe-Injektionswerkzeug
        • Tastatureingabe-Injektion
        • Verzögerungen
      • Exfiltration
        • Windows-Exploit
          • Senden gestohlener Daten per E-Mail
        • Linux-Exploit
          • Speichern gestohlener Daten auf USB-Stick
          • Bash-Skript
          • Kurzer Überblick über das Payload
        • Formatierung exfiltrierter Daten
      • Problem mit USB-Massenspeichergerät
      • Payload Writer
    • Bash Bunny-Angriff
    • Einschränkungen/Nachteile
    • Referenzen

Einleitung

Im Sommer 2022 machte ich mich daran, ein Gerät zu bauen, das Daten von einem Zielcomputer extrahieren kann. Aber wie genau setzt man Malware ein und exfiltriert Informationen? In den folgenden Abschnitten gehe ich auf die wesentlichen Schritte, die zugrundeliegenden Konzepte und die technischen Nuancen ein, die bei der Erstellung eines benutzerdefinierten Tastatureingabe-Injektionswerkzeugs eine Rolle spielen. Auch wenn dieses Projekt speziell auf WLAN-Anmeldeinformationen abzielt, kann das Payload leicht für fortgeschrittenere oder bösartige Zwecke modifiziert werden – die einzigen wirklichen Grenzen sind deine Kreativität und dein technisches Fachwissen.

Einrichtung

Im Laufe der Zeit ist das Projekt um eine Vielzahl von Skripten und Werkzeugen gewachsen. Es wurde ursprünglich entwickelt, um die Fähigkeiten eines Rubber Ducky zu demonstrieren – insbesondere eine kostengünstige Version mit dem Raspberry Pi Pico (RPi Pico). Derzeit bestehen die beiden Hauptkomponenten des Projekts aus:

  1. Rubber Ducky-Angriff
  2. Bash Bunny-Angriff

Voraussetzungen

  • Physischer Zugriff auf den entsperrten Computer des Opfers.

  • Der Computer muss über Internetzugang verfügen, um die gestohlenen Daten mittels SMTP zur Exfiltration über ein Netzwerkmedium senden zu können.

  • Kenntnis des Passworts des Opfercomputers für den Linux-Exploit.

Rubber Ducky-Angriff

Nach der Erstellung eines pico-ducky musst du nur das modifizierte Payload (angepasst für deine SMTP-Details für den Windows-Exploit und/oder angepasst für das Linux-Passwort und einen USB-Stick-Namen) auf den RPi Pico kopieren.

Anforderungen - Was du brauchst


  • RPi Pico
  • Micro-USB-auf-USB-Kabel
  • Jumper Wire (optional)
  • pico-ducky: Verwandelt den RPi Pico in einen USB Rubber Ducky
  • USB-Stick (nur für den Exploit über ein physisches Medium)



[!NOTE]

  • Es ist möglich, dieses Werkzeug mit dem Rubber Ducky zu bauen, bedenke jedoch, dass der RPi Pico etwa 4,00 $ und der Rubber Ducky 80,00 $ kostet.

  • Allerdings, während pico-ducky eine gute und budgetfreundliche Lösung ist, bietet der Rubber Ducky Dinge wie Tarnung und die Verwendung der neuesten DuckyScript-Version.

  • Um Ducky Script zum Schreiben des Payloads auf deinem RPi Pico zu verwenden, musst du ihn zuerst in ein pico-ducky umwandeln. Folge diesen einfachen Schritten, um ein pico-ducky zu erstellen.

Tastatureingabe-Injektionswerkzeug

Ein Tastatureingabe-Injektionswerkzeug führt nach dem Anschluss an einen Host-Computer bösartige Befehle aus, indem es Code ausführt, der von einem Benutzer eingegebene Tastatureingaben nachahmt. Während es wie ein USB-Stick aussieht, verhält es sich wie eine Tastatur, die ein vorprogrammiertes Payload eintippt. Werkzeuge wie der Rubber Ducky können über 1.000 Wörter pro Minute tippen. Einmal erstellt, kann jeder mit physischem Zugriff dieses Payload problemlos einsetzen.

Tastatureingabe-Injektion

Das Payload verwendet den Befehl STRING, um Injektions-Tastatureingaben zu verarbeiten. Es akzeptiert ein oder mehrere alphanumerische/Satzzeichen und gibt den Rest der Zeile genau so in die Zielmaschine ein, wie er ist. Die Befehle ENTER/SPACE simulieren das Drücken von Tastaturtasten.

Verzögerungen

Wir verwenden den Befehl DELAY, um die Ausführung des Payloads vorübergehend anzuhalten. Dies ist nützlich, wenn ein Payload darauf warten muss, dass ein Element, z. B. eine Eingabeaufforderung, geladen wird. Eine Verzögerung ist besonders zu Beginn sinnvoll, wenn ein neues USB-Gerät an einen Zielcomputer angeschlossen wird. Zunächst muss der Computer eine Reihe von Aktionen ausführen, bevor er Eingabebefehle akzeptieren kann. Bei HIDs ist die Einrichtungszeit sehr kurz. In den meisten Fällen dauert es nur einen Bruchteil einer Sekunde, da die Treiber integriert sind. In einigen Fällen kann ein langsamerer PC jedoch länger brauchen, um das pico-ducky zu erkennen. Die allgemeine Empfehlung ist, die Verzögerungszeit entsprechend deines Ziels anzupassen.

Exfiltration

Datenexfiltration ist die unbefugte Übertragung von Daten von einem Computer/Gerät. Sobald die Daten gesammelt sind, kann ein Angreifer sie verpacken, um eine Erkennung zu vermeiden, während er die Daten über das Netzwerk mittels Verschlüsselung oder Komprimierung sendet. Die zwei häufigsten Arten der Exfiltration sind:

  • Exfiltration über ein Netzwerkmedium.
    • Dieser Ansatz wurde für den Windows-Exploit verwendet. Das gesamte Payload ist hier zu sehen.

  • Exfiltration über ein physisches Medium.
    • Dieser Ansatz wurde für den Linux-Exploit verwendet. Das gesamte Payload ist hier zu sehen.

Windows-Exploit

Um das Windows-Payload (payload1.dd) zu verwenden, musst du kein Jumper Wire zwischen den Pins anschließen.

Senden gestohlener Daten per E-Mail

Sobald Passwörter in die .txt-Datei exportiert wurden, sendet das Payload die Daten an die festgelegte E-Mail-Adresse über Yahoo SMTP. Detailliertere Anweisungen findest du unter folgendem Link. Außerdem muss die Payload-Vorlage mit deinen SMTP-Informationen aktualisiert werden, das heißt, du musst RECEIVER_EMAIL, SENDER_EMAIL und dein E-Mail-PASSWORD aktualisieren. Darüber hinaus kannst du auch den Textkörper und den Betreff der E-Mail ändern.

https://github.com/AleksaMCode/WiFi-password-stealer/blob/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_windows.template.dd#L31

[!NOTE]

  • Nach dem Senden der Daten per E-Mail wird die .txt-Datei gelöscht.

  • Du kannst auch einen SMTP von einem anderen E-Mail-Anbieter verwenden, aber du solltest auf den SMTP-Server und die Portnummern achten, die du im Payload schreiben wirst.

  • Beachte, dass einige Netzwerke die Verwendung eines unbekannten SMTP in der Firewall blockieren könnten.

Linux-Exploit

Um das Linux-Payload (payload2.dd) zu verwenden, musst du ein Jumper Wire zwischen GND und GPIO5 anschließen, um mit dem Code in code.py auf deinem RPi Pico konform zu sein. Weitere Informationen zum Einrichten mehrerer Payloads auf deinem RPi Pico findest du unter diesem Link.

Exploit on Linux Mint

Abb. 1: Exploit auf Linux

Speichern gestohlener Daten auf USB-Stick

Sobald Passwörter vom Computer exportiert wurden, werden die Daten auf dem festgelegten USB-Stick gespeichert. Damit dieses Payload ordnungsgemäß funktioniert, muss es mit dem korrekten Namen deines USB-Sticks aktualisiert werden, das heißt, du musst USBSTICK an zwei Stellen durch den Namen deines USB-Sticks ersetzen.

https://github.com/AleksaMCode/WiFi-password-stealer/blob/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_linux.template.dd#L3

https://github.com/AleksaMCode/WiFi-password-stealer/blob/25cf7c56a7df4a9811b4d3eab8d6e6dad4282055/payload/payload_linux.template.dd#L11

Darüber hinaus musst du auch das Linux-PASSWORD an drei Stellen im Payload aktualisieren. Wie oben erwähnt, musst du für den Erfolg dieses Exploits das Passwort des Linux-Rechners des Opfers kennen, was diesen Angriff weniger wahrscheinlich macht.

https://github.com/AleksaMCode/WiFi-password-stealer/blob/a90ffb208e6a09d1b0ae44d1afe81d82248ba3fe/payload/payload_linux.template.dd#L7

https://github.com/AleksaMCode/WiFi-password-stealer/blob/a90ffb208e6a09d1b0ae44d1afe81d82248ba3fe/payload/payload_linux.template.dd#L9

Bash-Skript

Um das Skript wifi_passwords_print.sh auszuführen, musst du das Skript mit dem korrekten Namen deines USB-Sticks aktualisieren, woraufhin du den folgenden Befehl in dein Terminal eingeben kannst:

root@kitploit:~
echo PASSWORD | sudo -S sh wifi_passwords_print.sh USBSTICK

wobei PASSWORD dein Kontopasswort ist und USBSTICK der Name deines USB-Geräts.

Kurzer Überblick über das Payload

NetworkManager basiert auf dem Konzept von Verbindungsprofilen und verwendet Plugins zum Lesen/Schreiben von Daten. Es verwendet das .ini-ähnliche Schlüsseldatei-Format und speichert Netzwerkkonfigurationsprofile. Die keyfile ist ein Plugin, das alle Verbindungstypen und Fähigkeiten unterstützt, die NetworkManager hat. Die Dateien befinden sich in /etc/NetworkManager/system-connections/. Basierend auf dem keyfile-Format verwendet das Payload den Befehl grep mit Regex, um relevante Daten zu extrahieren. Für die Dateifilterung wurde eine modifizierte positive Lookbehind-Assertion verwendet ((?<=keyword)). Während die positive Lookbehind-Assertion an einer bestimmten Position in der Zeichenfolge übereinstimmt, also an einer Position direkt nach dem Schlüsselwort, ohne dass dieser Text selbst Teil der Übereinstimmung ist, wird der Regex (?<=keyword).* jeden Text nach dem Schlüsselwort finden. Dadurch kann das Payload die Werte nach den Schlüsselwörtern SSID und psk (Pre-Shared Key) abgleichen.

Weitere Informationen zu NetworkManager findest du unter diesen nützlichen Links:

  • Manuelles Erstellen von NetworkManager-Profilen im Schlüsseldatei-Format
  • Beschreibung des keyfile-Einstellungs-Plugins

Formatierung exfiltrierter Daten

Nachfolgend ein Beispiel der exfiltrierten und formatierten Daten von einem Opferrechner in einer .txt-Datei.

https://github.com/AleksaMCode/WiFi-password-stealer/blob/f5b3b11328764eb07d765a210fbf25db3a828455/resources/wifi_pass.txt#L1-L5

Problem mit USB-Massenspeichergerät

Einer der Vorteile des Rubber Ducky gegenüber dem RPi Pico ist, dass er nach dem Einstecken nicht als USB-Massenspeichergerät angezeigt wird. Sobald er an den Computer angeschlossen ist, sieht die Maschine ihn nur als USB-Tastatur. Dies ist kein Standardverhalten für den RPi Pico. Wenn du verhindern möchtest, dass dein RPi Pico beim Einstecken als USB-Massenspeichergerät erscheint, musst du ein Jumper Wire zwischen Pin 18 (GND) und Pin 20 (GPIO15) anschließen. Weitere Details findest du unter diesem Link.

💡 Tipp:

  • Lade dein Payload auf den RPi Pico, bevor du die Pins verbindest.
  • Löte die Pins nicht, da du das Payload wahrscheinlich irgendwann ändern/aktualisieren möchtest.

Payload Writer

Beim Erstellen einer funktionsfähigen Payload-Datei kannst du das Skript writer.py verwenden oder die Vorlagendatei manuell ändern. Um das Skript erfolgreich auszuführen, musst du zusätzlich zum Skriptdateinamen einen Betriebssystemnamen (windows oder linux) und den Namen der Payload-Datei (z. B. payload1.dd) übergeben. Nachfolgend findest du ein Beispiel, wie das writer-Skript beim Erstellen eines Windows-Payloads ausgeführt wird.

root@kitploit:~
python3 writer.py windows payload1.dd

Bash Bunny-Angriff

Mit einigen kleinen Änderungen können die zuvor verwendeten Skripte auch für den Bash Bunny angepasst werden. Der Bash Bunny funktioniert, indem er ein vertrauenswürdiges USB-Gerät emuliert [1]. Für dieses Projekt konfigurieren wir ihn so, dass er ein Flash-Speichergerät mit dem folgenden Befehl emuliert [1, 2]:

root@kitploit:~
ATTACKMODE HID STORAGE

Mit dem DuckyScript-Befehl ATTACKMODE können wir festlegen, welchen Gerätetyp der Bash Bunny emulieren soll [1]. Jeder Angriffsmodus registriert sich mit einer eindeutigen USB Vendor ID (VID) und Product ID (PID) [1]. Es ist auch möglich, mehrere Angriffsmodi durch Verkettung zu kombinieren.

Bash Bunny plugged in a PC

Abb. 2: Bash Bunny Mark I angeschlossen an einen PC

Der Bash Bunny unterstützt die ursprünglichen DuckyScript-Befehle, weshalb ich das Skript aus dem Rubber Ducky-Abschnitt wiederverwenden konnte. Um diese Befehle inline zu verwenden, müssen wir ihnen den Befehl QUACK voranstellen [1]. Anstatt beispielsweise WINDOWS r zu schreiben, schreiben wir Q WINDOWS r.

Um Payloads auf den Bash Bunny zu laden, muss das Gerät in den Arming-Modus versetzt werden (Schalterposition 3 – die dem USB-Stecker am nächsten ist) [1]. Nach dem Anschließen kopiere payload.txt und exfil.txt in payloads\switch1. Payloads müssen payload.txt heißen [1,2], während alle unterstützenden Dateien, auf die das Payload verweist, beliebig benannt werden können.

Die Massenspeicher-Verzeichnisstruktur des Bash Bunny ist wie folgt [2]:

root@kitploit:~
BashBunny/
├── loot/
│   └── (vom Payload exfiltrierte Daten werden hier gespeichert)
└── payloads/
    ├── library/
    │   └── (wiederverwendbare Skripte oder Module)
    ├── switch1/
    │   ├── payload.txt
    │   └── (optionale Dateien, z.B. exfil.txt, Skripte, etc.)
    └── switch2/
        ├── payload.txt
        └── (optionale Dateien)

Abb. 3: Bash Bunny Massenspeicher-Verzeichnisstruktur

Sobald das Skript ausgeführt wurde, werden die Ergebnisse in loot\wifi_pass.txt gespeichert. Wenn der Zielcomputer keine gespeicherten WLAN-Passwörter hat, ist die Datei leer.

[!NOTE]

Da der Bash Bunny-Angriff auf einem PowerShell-Skript (exfil.txt) basiert, kann er nur auf Windows-Systemen verwendet werden. Um einen ähnlichen Ansatz unter Linux zu verwenden, musst du das Payload modifizieren und das PowerShell-Skript durch das Bash-Skript ersetzen, das im obigen Linux-Abschnitt referenziert wird.

Einschränkungen/Nachteile

  • Dieses pico-ducky funktioniert derzeit nur unter Windows OS.

  • Dieser Angriff erfordert physischen Zugriff auf ein entsperrtes Gerät, um erfolgreich durchgeführt werden zu können.

  • Der Linux-Exploit ist weitaus weniger wahrscheinlich erfolgreich, da du für den Erfolg nicht nur physischen Zugriff auf ein entsperrtes Gerät benötigst, sondern auch das Admin-Passwort des Linux-Rechners kennen musst.

  • Die Firewall des Rechners oder Netzwerks kann das Senden gestohlener Daten über das Netzwerkmedium verhindern.

  • Die Verzögerungen des Payloads könnten aufgrund unterschiedlicher Geschwindigkeiten der beim Angriff verwendeten Computer unzureichend sein.

  • Das pico-ducky-Gerät ist nicht wirklich unauffällig, im Gegenteil, es ist ziemlich sperrig, besonders wenn man die Pins lötet.

  • Außerdem ist das pico-ducky-Gerät bei gleichem Skript deutlich langsamer als der Rubber Ducky.

  • Wenn die Feststelltaste aktiviert ist, wird ein Teil des Payload-Codes nicht ausgeführt und der Exploit schlägt fehl.

  • Wenn der Computer eine nicht-englische Umgebung hat, wird dieser Exploit nicht erfolgreich sein.

  • Derzeit unterstützt pico-ducky kein DuckyScript 3.0, sondern nur DuckyScript 1.0. Wenn du die Version 3.0 benötigst, musst du den Rubber Ducky verwenden. Für diesen Exploit wird Version 3.0 nicht benötigt!

Referenzen

  1. Bash Bunny by Hak5 Documentation
  2. Bash Bunny Basics Wiki
Tool herunterladen