Reverse Shell für 1,50€ – Digispark statt USB Rubber Ducky

Einige werden sie vielleicht kennen: die USB Rubber Ducky von Hak5. Ein USB-Stick der besonderen Art: Sie ist nicht nur als Massenspeicher einsetzbar, sondern kann als ein beliebiges USB-Eingabe-Gerät verwendet werden. Dadurch eröffnen sich sehr nette Wege, eine Payload auf einem Rechner auszuführen. Die Rubber Ducky ist frei programmierbar, wodurch man keinerlei Limitierungen hat. Allerdings hat sie einen relativ (wenn auch angemessenen) hohen Preis von $45. In diesem Tutorial werde ich euch zeigen, wie ihr ein Digispark USB Development Board als eine kostengünstige Alternative benutzen könnt. Als Beispiel werde ich eine Reverse Shell beim Einstecken des Digispark erzeugen.

Was ihr braucht:

An english version of this tutorial can be found here.

Das Digispark USB Development Board

Der Digispark von Digistump ist ein kleiner, programmierbarer Mikrocontroller, der mit Hilfe der Arduino-IDE programmiert werden kann. Die Syntax ist der von Arduino-Boards sehr ähnlich. Wie man die IDE für den Digispark vorbereitet, kann hier nachgelesen werden: Connecting and Programming Your Digispark

Digispark USB Development Board
Digispark USB Development Board

Auf Ebay habe ich mir eine ganze Handvoll der Digisparks gekauft. Auch wenn es keine Originale sind (erkennbar an der Beschriftung “rev3”, die es nie offiziell gegeben hat), sind sie dennoch voll funktionsfähig und bestens für unsere Zwecke geeignet.

Erstellen der Payload

Als Erstes müssen wir die Payload erstellen, die später mit Hilfe des Digisparks auf unserem Opferrechner ausgeführt werden soll. Dazu verwenden wir MSFvenom:

Bei LHOST müsst ihr die IP eurer Kali Linux Maschine eintragen. Alternativ könntet ihr auch eine Domain eintragen und so das ganze auch außerhalb eures Netzwerkes nutzen.

Jetzt gibt es die erste Schwierigkeit… Im Gegensatz zur Rubber Ducky, mit der man eine beliebig große SD-Karte nutzen kann, hat der Digispark nur ca. 6Kb internen Speicher und allein die Bibliothek, die wir brauchen, um den Digispark als Tastatur nutzen zu können hat schon ca. 2,4Kb. Damit wir trotzdem an unsere Payload kommen, müssen wir sie für unser Opfer aus dem Netz erreichbar machen. Ihr könnt einen lokalen Webserver starten oder ihr ladet die Payload bei pastebin hoch und verwendet die “RAW” Ansicht oder ihr hängt sie an euren Webspace an: nox-sec.de/hacking/payload.html

Den Digispark programmieren

Wenn wir unsere Payload erstellt haben, können wir damit beginnen, den Digispark zu programmieren. Hierbei müsst ihr beachten, der Digispark nach dem US-Tastaturlayout arbeitet. Ihr müsst also eure Sonderzeichen und Dergleichen so anpassen, das sie auf dem Deutschen Tastaturlayout passen.
Leider sieht der Code danach ein bisschen wüst aus und lässt sich nicht mehr so leicht lesen. Alternativ könnte evtl. die Bibliothek “DigiKeyboard.h” umgeschrieben werden.

Der Quell-Code für den Digispark:

Im Prinzip könnt ihr das ganze Skript so lassen und nur die URL für die Payload anpassen, sodass die für euch passende Payload heruntergeladen wird.

Soweit sollte der Digispark bereit für den Einsatz sein. Bevor ihr jetzt aber los stürmt und ihn in den erstbesten USB-Port schiebt solltet ihr aber noch Kali Linux so vorbereiten, so dass ihr die Reverse-Shell Session direkt abgreifen könnt.

MSFconsole vorbereiten

Um das “Empfangende” Ende für die Reverse-Shell vorzubereiten, öffnet ihr in eurem Kali Linux System ein Terminal und startet MSFconsole:

Danach gebt ihr an, welchen exploit ihr nutzen wollt

Jetzt müsst ihr noch die nötigen Parameter festlegen

Zum Schluss sagen wir unserer Konsole, dass sie auf eine neue Session warten soll

Soooo. Jetzt könnt ihr einen (Un)Freiwilligen suchen und den Digispark an seinen PC stecken. Nach dem Anstecken wird nur schnell eine Powershell geöffnet und wieder geschlossen. Für diesen Zeitraum müsst ihr euer Opfer kurz ablenken. Wenn euer USB Development Board anfängt schnell zu blinken, ist das Skript fertig und ihr könnt ihn wieder verschwinden lassen.

Wenn alles glatt läuft, sollte eure Konsole nun folgendes anzeigen:

Als letztes müsst ihr euch nur noch an die Session anhängen

Herzlichen Glühstrumpf! Ihr habt jetzt eine Reverse Shell auf euren Opfer-PC. Mit dem Befehl “help” könnt ihr sehen was ihr jetzt alles machen könnt.

Viel Spaß.

3 Antworten auf „Reverse Shell für 1,50€ – Digispark statt USB Rubber Ducky“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.