Vorstellung WLAN „Hacking“ Projekt: Pwnagotchi

Das Projekt „Pwnagotchi“ wurde vom Entwickler Evilsocket aus Italien ins Leben gerufen. Seine Idee ist die Kombination aus einem klassischen Tamagotchi aus den 90er-Jahren und WLAN Hacking auf der Basis von bettercap.

Pwnagotchi WLAN
2x Pwnagotchis und Bluetooth iPhone7

Der Pwnagotchi versucht möglichst viele 4-Wege-Handshakes von benachbarten WLAN-Netzwerken zu sammeln. Welche dann hauptsächlich extern weiter verarbeitet werden können.

Um an diese Handshakes zu kommen nutzt er drei verschiedene Varianten:

  1. Einerseits kann er passiv warten, bis sich ein neues Gerät am WLAN anmeldet und dann den Handshake aufzeichnen.
  2. Er kann auch aktiv Endgeräte per Deauthentication-Frames vom WLAN abmelden und dann den Handshake bei der folgenden Authentifizierung aufzeichnen.
  3. Auch ohne aktive Endgeräte kann der Pwnagotchi von fehlerhaften Routern/Accesspoints per PMKID Attacke das nötige Schlüsselmaterial erhalten.

Der Pwnagotchi verwendet künstliche Intelligenz um sein (dynamisches) Umfeld kennenzulernen und sich bestmöglich darauf einzustellen und somit ideale Ergebnisse zu erzielen. Beispielsweise würde er „in Bewegung“ deutlich „aggressiver“ auf allen Kanälen nach neuen Netzwerken suchen und Clients aktiv abmelden um „Wartezeit“ zu vermeiden. Wenn statisch irgendwo rumliegt oder sich dauerhaft im gleichen Umfeld aufhält, kann er passiv scannen und nach Handshakes Ausschau halten.

Pwnagotchi
Pwnagotchi

Basierend auf dem aktuellen Status und dem Fortschritt beim Suchen nach benachbarten WLANs zeigt der Pwnagotchi unterschiedliche „Gesichter“ und Nachrichten auf dem Display an. Er kann unter anderem fröhlich, gelangweilt, motiviert, aber auch einsam sein. Wenn er gelangweilt ist, sollte man ihn beispielsweise in einen Bereich bringen, in dem er neue WLANs finden kann und wenn er sehr glücklich ist, hat er vielleicht ein neues Netzwerk gefunden oder einen Handshake aufgezeichnet. Benachbarte Pwnagotchis können sich auch „finden“ und „Freundschaften“ knüpfen. Evilsocket ist es tatsächlich gelungen dem Projekt Leben einzuhauchen.

happy = „( ◕‿◕)“
cool = „(⌐■_■)“
happy = „(•‿‿•)“

Die gesammelten Handshakes können dann theoretisch weiterverarbeitet werden um WLAN-Passwörter zu knacken. Der Pwnagotchi hat aufgrund der verwendeten Hardware (Pi Zero W) nicht ausreichend Rechenleistung um komplizierte Passwörter zu knacken. Jedoch können die gesammelten Daten manuell exportiert werden und extern weiter verarbeitet werden. Es gibt auch Plugins, welche die Keys automatisch zu Onlineservices hochladen, welche auf das cracken von WLAN/WPA-Keys spezialisiert sind.

Ich sehe den Pwnagotchi weniger als echtes Hackingtool, mit welchem man reihenweise WLANs knackt, sondern eher als unterhaltsame Variante um mehr auf das Thema WLAN-Sicherheit aufmerksam zu machen. Aktuell interessiert sich nur wenige Leute für 4-Wege-Handshakes, PMKIDs, Robust Secure Networks und sonstige Themen. Aber wenn der Pwnagotchi motiviert (☼‿‿☼) guckt, dann fällt es leichter sich mit WLAN-Sicherheitsthemen zu beschäftigen. 🙂

In diesem Blogbeitrag erkläre ich, wie ihr euch einen Pwnagotchi bauen könnt. Außerdem habe ich auch einige Videos zum Thema bei YouTube hochgeladen, nachfolgend findet ihr zwei Empfehlungen.

Vorstellung Pwnagotchi
Benötigte Hardware für den Pwnagotchi

Pwnagotchi bauen leicht gemacht!

In meinem vorherigen Beitrag habe ich bereits das Pwnagotchi-Projekt vom Entwickler Evilsocket vorgestellt. In diesem Beitrag werde ich erklären wie ihr euch schnell und einfach einen eigenen Pwnagotchi bauen könnt.

Pwnagotchis

Die Pwnagotchi-Community ist sehr aktiv und deshalb gibt es bereits verschiedene Versionen von Pwnagotchis. Zum Beispiel gibt es eine besonders flache Version mit dem Namen „Slimagotchi“, es gibt Versionen mit integriertem Akku, externen Antennen, LED-Beleuchtung sowie einige andere. In diesem Beitrag soll es jedoch um den „klassischen“ Pwnagotchi mit externer Stromversorgung gehen.

Die Standardvariante besteht aus den folgenden Komponenten:

  1. Raspberry Pi Zero WH*
  2. SanDisk 16GB MicroSD*
  3. Waveshare v2 Display*
  4. Micro USB Kabel*
  5. Powerbank*

Die mit * gekennzeichneten Links sind sogenannte Affiliate Links. Kommt über einen solchen Link ein Einkauf zustande, werde ich mit einer Provision beteiligt. Für Dich entstehen dabei keine Mehrkosten.

Das Herzstück eines Pwnagotchis ist ein Raspberry Pi Zero WH*. Das WH am Ende des Namens ist wichtig, speziell das W, denn dieses steht für WLAN. Es gibt den Raspberry PI Zero auch ohne WLAN, diese Variante kann jedoch nur mit einem zusätzlichen externen WLAN-Adapter verwendet werden.

Das H in der Bezeichnung bedeutet, dass der Raspberry bereits eine angebrachte Stiftleiste hat, an dieser Stiftleiste wird das Display befestigt. Wenn ihr die Variante ohne H verwenden wollt, könnt ihr euch auch eine separate Stiftleiste kaufen und selbstständig auf den Raspberry Pi Zero W löten.

Das Betriebssystem und die Daten werden auf eine MicroSD-Speicherkarte* geschrieben. Diese Karte sollte mindestens 8GB groß sein und eine halbwegs vernünftige Qualität und Geschwindigkeit haben.

Als Display wird vom Entwickler das 2.13″ große Waveshare v2 Display* mit der Auflösung von 250×122 empfohlen. Die Version 2 des Displays kann man an einem Aufkleber auf der Rückseite erkennen. Es gibt dieses Display auch farbig beispielsweise in Rot, diese Variante wird jedoch nicht empfohlen, da die Aktualisierungszeit deutlich langsamer ist und das Display auch weniger Pixel hat. Also kauft am besten die schwarz-weiße Variante.

Zur Datenübertragung zum Computer und zur Stromversorgung wird ein Micro USB Kabel* benötigt. Bitte beachtet, dass einige speziell sehr günstige Kabel nicht zur Datenübertragung sondern teilweise nur zum Laden verwendet werden können.

Wenn ihr den Pwnagtochi unterwegs verwenden wollt, ist es empfehlenswert ein Gehäuse zu verwenden. Ich kenne kein Gehäuse „von der Stange“ welches direkt für den Pwnagotchi verwendet werden kann. Deshalb bevorzuge ich 3D gedruckte Gehäuse. Vorlagen dafür könnt ihr beispielsweise bei www.thingiverse.com finden.

Ich habe folgendes Case als Grundlage verwendet. https://www.thingiverse.com/thing:3965361

Jedoch habe ich noch den Smiley auf der Rückseite entfernen lassen. Falls ihr und auch niemand in eurem Umfeld einen 3D-Drucker hat, kann ich euch günstig ein Gehäuse drucken lassen und per Warensendung zuschicken. Meldet euch bei Bedarf unter info@wifitube.de

Ich habe auch einige Gehäuse aus alten Tupper-Dosen oder Legosteinen gesehen. Somit könnt ihr auch selbst kreativ werden.

Zur Stromversorgung habe ich mich aus Kostengründen für eine externe Powerbank mit USB* entschieden. Über diese kann der Pi Zero W sehr lange betrieben werden und außerdem kann ich über diese auch mein Handy und andere Geräte laden.

Es gibt auch spezielle Akkus wie zum Beispiel den PiSugar* welche ideal zum Pi Zero W passen, jedoch habe ich mich aus Kostengründen und derzeit begrenzter Lieferbarkeit dagegen entschieden.

Das ist die benötigte Hardware für eine einfache Version des Pwnagotchi. Theoretisch könntet ihr auch erstmal ohne Display starten und den Pwnagotchi per Bluetooth (von eurem Smarthpone) aus steuern.  Und auch eine Powerbank ist nicht nötig, wenn ihr den Raspberry zunächst per Laptop oder  Netzteil mit Strom versorgt.

Montage und Installation:

Bilder und speziell Videos sagen mehr als tausend geschriebene Worte, deshalb empfehle ich euch folgendes Video, in welchem ich die Montage und Installation des Pwnagotchis zeige. Ab Minute 2:18 starte ich mit dem Zusammenbau des Pwnagotchis.

Video Pwnagotchi bauen

Das Waveshare Display kann direkt auf den Raspberry Pi Zero WH „gesteckt“ werden. Beim oben verlinkten Gehäuse wird der Raspberry mit montiertem Display einfach nur eingeschoben und anschließend wird der Deckel draufgesteckt. Dieser sollte wenn er korrekt gedruckt ist von selbst halten. Beim einstecken des Pwnagotchis in das Gehäuse solltet ihr speziell auf das Flachbandkabel am Display achten, wenn sich dieses verhakt kann es leicht beschädigt werden.

Montage/Hochzeit Raspberry + Waveshare
Montage/Hochzeit Raspberry + Waveshare
Pwnagotchi ins Gehäuse einführen

Somit wäre das Thema Hardware auch schon erledigt und wir können die Software auf die MicroSD-Karte flashen. Die aktuellste Version könnt ihr unter diesem Link herunterladen.

Auf dieser Seite werden auch die entsprechenden Änderungen und Bugfixes beschrieben. Zum Beschreiben der Speicherkarte verwende ich die Software balenaEtcher.

Meine Speicherkarte verbinde ich via Kartenlesegerät mit dem Computer und kann dann die Software mit balenaEtcher flashen. In der Software müsst ihr nur das Image und die richtige Speicherkarte auswählen und schon könnt ihr den Prozess mit einem Klick auf „Flash!“ starten. Der Vorgang dauerte bei mir ca. 20-30 Minuten. 

Pwnagotchi Software mit balenaEtcher flashen

Während die Software geflasht wird, könnt ihr einen Blick auf die Standardkonfiguration des Pwnagotchis werfen.

Und dann könnt ihr auch eine erste minimal Konfiguration (config.toml) für euren Pwnagotchi erstellen. Nachfolgend eine Vorlage:

main.name = "WiFiTube"
main.lang = "en"
main.whitelist = [
  "EXAMPLE_NETWORK",
  "ANOTHER_EXAMPLE_NETWORK",
  "fo:od:ba:be:fo:od",
  "fo:od:ba"
]

main.plugins.grid.enabled = true
main.plugins.grid.report = true
main.plugins.grid.exclude = [
  "YourHomeNetworkHere"
]

ui.display.enabled = true
ui.display.type = "waveshare_2"
ui.display.color = "black"

main.plugins.memtemp.enabled = true

bettercap.handshakes = "/handshakes"

Mit dieser Konfigurationsdatei weist ihr dem Pwnagotchi seinen Namen zu, könnt die Sprache einstellen („en“ für English oder „de“ für Deutsch), euer eigenes und benachbarte Netzwerke whitelisten (sodass diese nicht aktiv deauthentifiziert und via grid plugin gemeldet werden) und bereits erste Plugins aktivieren/konfigurieren.

Sobald die Karte fertig „geflasht“ ist, könnt ihr diese einmal trennen/“auswerfen“ und wenn er diese erneut an den Computer anschließt könnt ihr eure zuvor erstellte config.toml Datei ins Hauptverzeichnis kopieren. Danach die Karte wieder auswerfen und in den Pwnagotchi stecken. Über den äußeren Micro-USB Anschluß kann der Pwnagotchi jetzt an eine Stromquelle (z.Bspl. Powerbank) angeschlossen werden. Das erste Starten des Pwnagotchis kann einige Minuten dauern, da er dabei RSA-Schlüssel generiert.

Pwnagotchi + Powerbank
Pwnagotchi lebt!

Weiterführende Informationen könnt ihr auf der offiziellen Entwicklerseite und bei Reddit finden. Außerdem gibt es auch einen Pwnagotchi Slack Channel.

Ich habe bei YouTube sowohl eine deutsche und auch eine englische Playlist mit Tipps&Tricks zum Pwnagotchi. Also schaut mal auf meinem Kanal vorbei.

Vorstellung Pwnagotchi + Playlist deutsch