Skip to main content
  1. Posts/

ESP8266 Spielzeug und WLAN Tool

·849 words·4 mins· loading · loading · ·
Deutsch ESP32 Linux
rOger Eisenecher
Author ::..
rOger Eisenecher
> 12 years leading and building a SOC for MSSP • > 20 years working in security • > 40 years working with IT • 100% tech nerd.
Table of Contents

Per Zufall ist mir ein DSTIKE USB Deauther Stick in die Hände gefallen. Beim rumspielen mit diesem Stick konnte ich erfolgreich WLAN Netzwerke scannen und Clients von WLAN Netzwerken trennen.

Grundlagen

Der folgende Artikel beschreibt den DSTIKE USB Deauther. DSTIKE hat diverse verschiedene Produkte in ihrem Programm, die sehr unterschiedlich sind - aber immer auf den ESP8266 mit Wifi Teil setzen.

Der Stick kann auf verschiedene Arten genutzt werden:

  • per Browser und WLAN
  • per serieller Konsole
  • per Onboard-Display (trifft aber nicht auf den DSTIKE USB-Deauther zu, da er kein Display hat)

Zugriff per WLAN

Sobald der Stick mit Strom versorgt wird (z.B. Powerbank) startet das System automatisch und spannt auch ein WLAN Netz auf, über das bequem mittels Web-Browser auf die Parameter zugegriffen werden kann.

Die Standard-Einstellungen lauten wir folgt:

  • WLAN SSID: pwned
  • WLAN Passwort: deauther
  • Adresse des Web-GUI: http://192.168.4.1

USB-Deauther_Entry-Page.png
Entry page of USB Deauther

Wenn man sich erfolgreich verbunden und die angegebene Url aufgerufen hat, sieht man die abgebildete Eingangsseite. Da man mit diesem Tool “schabernack” treiben kann, muss man explizit bestätigen, dass man sich dessen bewusst ist, indem man auf “I have read and understood the notice above” klickt.

Wichtig: Natürlich sollte man so bald als möglich die SSID sowie das WLAN-Passwort des Sticks ändern. Dies kann man unter dem Reiter Settings erledigen.

Zugriff per serieller Konsole

Der Zugriff per serieller Konsole ist ebenfalls möglich. der USB-Stick meldet sich als “serieller Port” am System. Hier beschreibe ich den Zugriff mittels Linux - funktioniert aber genauso mit Windows oder MacOS X.

Für den seriellen Zugriff auf den USB-Stick benötigt man folgende Parameter:

  • Baudrate: 115200
  • Anzahl Bits und Parität: 8N1
  • Flow Control: Keine
  • Port: /dev/ttyUSB0 (Linux)

Mit diesen Parametern sollte eine Verbindung zu Stande kommen. Damit kann die serielle Schnittstelle für den Zugriff auf den Stick genutzt werden. Als erstes einfach mal help eingeben (und sich nicht beirren lassen, dass kein Feedback auf der Konsole sichtbar ist. Ebenfalls benötigt das Kommando kein Return - es muss einfach zügig eingegeben werden). Damit erhält man folgende Ausgabe:

# help
[===== List of commands =====]
help
scan [<all/aps/stations>] [-t <time>] [-c <continue-time>] [-ch <channel>]
show [selected] [<all/aps/stations/names/ssids>]
select [<all/aps/stations/names>] [<id>]
deselect [<all/aps/stations/names>] [<id>]
add ssid <ssid> [-wpa2] [-cl <clones>]
add ssid -ap <id> [-cl <clones>] [-f]
add ssid -s [-f]
add name <name> [-ap <id>] [-s]
add name <name> [-st <id>] [-s]
add name <name> [-m <mac>] [-ch <channel>] [-b <bssid>] [-s]
set name <id> <newname>
enable random <interval>
disable random
load [<all/ssids/names/settings>] [<file>]
save [<all/ssids/names/settings>] [<file>]
remove <ap/station/name/ssid> <id>
remove <ap/station/names/ssids> [all]
attack [beacon] [deauth] [deauthall] [probe] [nooutput] [-t <timeout>]
attack status [<on/off>]
stop <all/scan/attack/script>
sysinfo
clear
format
print <file> [<lines>]
delete <file> [<lineFrom>] [<lineTo>]
replace <file> <line> <new-content>
copy <file> <newfile>
rename <file> <newfile>
run <file>
write <file> <commands>
get <setting>
set <setting> <value>
reset
chicken
reboot
info
// <comments>
send deauth <apMac> <stMac> <rason> <channel>
send beacon <mac> <ssid> <ch> [wpa2]
send probe <mac> <ssid> <ch>
led <r> <g> <b> [<brightness>]
led <#rrggbb> [<brightness>]
led <enable/disable>
draw
screen <on/off>
screen mode <menu/packetmonitor/buttontest/loading>
========================================================================
for more information please visit github.com/spacehuhn/esp8266_deauther
========================================================================

Sichern des Flashes des USB-Deauther

Gute Praxis ist das Sichern der Firmware des USB-Sticks bevor man eine neue einspielt. Dies erfolgt mit folgendem Kommando:

esptool.py --port /dev/ttyUSB0 --baud 460800 read_flash 0 0x400000 flash_contents.4mb.bin

Hier wird mittels schnellerer Datenrate (460800) die Firmware ausgelesen. Dabei starten wir bei Adresse 0 und lesen 4 MByte aus (0x400000) und schreiben den Inhalt in die Datei flash_contents.4mb.bin.

Hinweis: Es kann sein, dass das Auslesen des Flashes mit einer Fehlermeldung abbricht. Das kann öfters vorkommen - einfach nochmals probieren bis es komplett ohne Fehlermeldung durchläuft. Zudem werden mehrere Abzüge des Flashes nicht die identische sha256 Summe ergeben, da darin auch gewisse Laufzeitdaten gespeichert werden und somit der Hash sich ändert.

Updaten des USB Deauther

Auch für das Update kommt wieder das esptool.py zum Einsatz. Bevor der Stick allerdings aktualisiert werden kann, muss vorher die richtige Firmware heruntergeladen werden. Zum Zeitpunkt der Artikelerstellung ist dies esp8266_deauther_2.5.0_rc1_DSTIKE_USB_DEAUTHER_V2.bin. Die Datei findet man auf der Projekt-Homepage https://github.com/SpacehuhnTech/esp8266_deauther

Nachdem die Datei heruntergeladen wurde, kann man den effektiven Update-Vorgang starten:

esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash -fm dout 0x0000 esp8266_deauther_2.5.0_rc1_DSTIKE_USB_DEAUTHER_V2.bin

Damit wird die Firmware auf das Flash des Sticks geschrieben.

Danach sollte der Stick abgezogen und neu angeschlossen werden. Damit ist die Aktualisierung beendet.

Details zum Stick auslesen

Um Details über den Stick zu erfahren, kann ebenfalls das Tool esptool.py eingesetzt werden.

chip_id

esptool.py --port /dev/ttyUSB0 --baud 115200 chip_id

Hier eine Beispiel-Ausgabe des Kommandos:

esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: aa:bb:cc:dd:ee:ff
Uploading stub...
Running stub...
Stub running...
Chip ID: 0xccddeeff
Hard resetting via RTS pin...

flash_id

esptool.py --port /dev/ttyUSB0 --baud 115200 flash_id

Hier eine Beispiel-Ausgabe des Kommandos:

esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: aa:bb:cc:dd:ee:ff
Uploading stub...
Running stub...
Stub running...
Manufacturer: 5e
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

Links

Hier sind einige Links rund um den DSTIKE USB-Deauther: