Das Überwachungstool Screen Crab ist eine unauffällige Video-Hardware die zwischen HDMI-Geräten – wie einem Computer und einem Monitor oder einer Konsole und einem Fernseher – angebracht werden kann und damit unauffällig die Bildschirminhalte „abgreifen“ kann. Diese Art von Tools werden auch als Screen Grabber oder Man-in-the-Middle Implantat bezeichnet. Damit können die Bildschirminhalte als Screenshots oder Videos auf einer microSD-Karte gespeichert oder direkt per WLAN übertragen werden. Der Screen Crab wird von Hak5 angeboten und kann in verschiedenen Online-Shops bestellt werden. Die Konfiguration erfolgt einfach über eine TXT-Datei, die auf der microSD-Karte abgelegt wird. Damit ist die Verwendung der Hardware ohne tiefgreifendes Informatik-Know-how möglich.
Der Screen Crab hat eine Größe von ca. 10,5 x 5,1 x 2,1 cm. Auf der einen Seite befindet sich der HDMI-Eingang und auf der anderen Seite der HDMI-Ausgang. Auf der Seite des Eingangs befindet sich der Button für die Steuerung, der Slot für die microSD-Karte und der Anschluss für die WLAN-Antenne. Es wird eine ca. 10 cm lange Dipolantenne mit RP-SMA Anschluss mitgeliefert. Neben dem HDMI-Ausgang befindet sich die RGB-Status-LED und eine USB-C-Schnittstelle für die Stromversorgung. Es wird ein 5 Watt Netzteil empfohlen (5 Volt, 1 Ampere). Eine neue Firmware kann über die microSD-Karte eingespielt werden.
Ein Angreifer kann den Screen Crab unauffällig platzieren und im Anschluss alle Bildschirminhalte abfangen. Sind die Kabel entsprechend unorganisiert, fällt ein weiteres Gerät häufig nicht auf. Wenn ein Kabelkanal vorhanden ist, wird dieser auch häufig als Versteck genutzt. Für legale Zwecke kann damit ein Rechner- oder die Monitorausgabe in Abwesenheit beobachtet werden, um einen potenziellen Missbrauch aufzudecken.
Automatische Screenshots
Im einfachsten Modus speichert der Screen Crab in regelmäßigen Abständen Screenshots. Hierfür muss eine microSD-Karte eingelegt werden, die entweder mit FAT32 oder ExFAT formatiert ist. Der Screen Crab wird mit einem weiteren HDMI-Kabel angeschlossen. Dazu wird das bisher verwendete HDMI-Kabel am Monitor ausgesteckt und in den Eingang, auf der Seite mit der WLAN-Antenne, gesteckt. Das neue HDMI-Kabel wird in den Ausgang gesteckt und mit dem Monitor verbunden. Als letztes fehlt nur noch die Stromversorgung, dazu kann ein beliebiges USB-Netzteil mit USB-C-Stecker verwendet werden. Es ist nicht im Lieferumfang enthalten, aber es kann beispielsweise einfach ein vorhandenes Smartphone-Netzteil verwendet werden.
Sobald die Stromversorgung hergestellt ist, leuchtet die Kontroll-LED auf. Nach einer kurzen Boot-Zeit von ca. 30 Sekunden leuchtet die LED des Screen Crab blau, um anzuzeigen, dass die microSD-Karte mit Screenshots beschrieben wird. Es wird auch automatisch eine Konfigurationsdatei config.txt mit den Standardeinstellungen erzeugt. Um die Aufnahme zu stoppen und die microSD-Karte auszuwerfen – muss die Taste am Gerät gedrückt werden. Sobald die LED dauerhaft grün leuchtet, kann die Karte ausgeworfen werden.
Konfigurationsdatei
Per Konfigurationsdatei wird das Verhalten des Screen Crab gesteuert. Sie wird mit dem Namen config.txt auf der Hauptebene der microSD-Karte abgelegt. Sie kann entweder manuell mit einem Texteditor erstellt werden oder alternativ wird die automatisch generierte Variante bearbeitet.
Mit der Option LED und den Parametern ON und OFF kann bestimmt werden, ob die LED den Status anzeigt oder ob sie deaktiviert wird. Mit der Deaktivierung ist ein unauffälligerer Betrieb möglich. Die Option CAPTURE_MODE mit den Parametern IMAGE, VIDEO und OFF bestimmen den Aufzeichnungsmodus. Mit IMAGE werden Screenshots aufgezeichnet und mit VIDEO ein kontinuierliches Video. Die Einstellung OFF wird für die WLAN- bzw. Cloud-Variante verwendet, wenn keine lokalen Aufzeichnungen angefertigt werden sollen. Die nächste Option DEDUPLICATE wird nur verwendet, wenn Screenshots (IMAGE) erstellt werden. Damit werden Duplikate entfernt bzw. nicht gespeichert. Damit werden nur dann neue Screenshots abgespeichert, wenn sich tatsächlich etwas geändert hat. Mit CAPTURE_INTERVAL wird das Intervall für die Screenshots in Sekunden festgelegt. Mit der nächsten Option STORAGE wird das Verhalten bei einer vollen Speicherkarte bestimmt. Mit dem Parameter FILL wird die Aufzeichnung nicht mehr weitergeführt, wenn die Speicherkarte voll ist. ROTATE bewirkt hingegen, dass die älteste Aufnahme überschrieben wird. Mit BUTTON kann bestimmt werden, ob beim Drücken der Taste am Gehäuse die microSD-Karte sicher entfernt werden kann (EJECT) oder ob sich das Gerät abschaltet (OFF). Mit der letzten Option VIDEO_BITRATE wird die Qualität des Videos festgelegt. Umso niedriger die Qualität, umso länger kann die Aufzeichnung erfolgen. Zu Auswahl stehen LOW (2 MBit/s), MEDIUM (4 MBit/s) und HIGH (16 MBit/s).
Es müssen nicht immer alle Option gesetzt werden. Wenn nur Screenshots erstellt werden, kann zum Beispiel die Zeile VIDEO_BITRATE weggelassen werden. Mit der nachfolgenden Konfiguration wird alle 10 Sekunden ein Screenshot erstellt:
LED ON CAPTURE_MODE IMAGE DEDUPLICATE ON CAPTURE_INTERVAL 10 STORAGE FILL BUTTON OFF
Kontroll-LED
Über die RGB-LED wird der Status des Screen Crab angezeigt. Während dem Start wird der Status mit der folgenden Codierung angezeigt:
- Hellcyan (kurz): Gerät wurde mit Strom versorgt, Bootvorgang gestartet
- Grün (nach Hellcyan): Gerät bootet
- Grün (blinkend): Warten auf Abschluss der Aufnahme, Auswerfen der MicroSD-Karte
- Rot: MicroSD-Karte ist voll oder wurde nicht erkannt
Um den Konfigurationsstatus anzuzeigen, wird die folgende Codierung verwendet:
- Cyan: Drahtlose Konfiguration ist aktiv
- Cyan (blinkend): WLAN-Status wird geändert bzw. aktualisiert
- Magenta: Gerät wartet auf die Betätigung der Taste
- Magenta (blinkend): Einmaliger Tastendruck = Screenshot-Aufzeichnung oder zweimaliger Tastendruck = Video-Aufzeichnung
Der Erfassungsstatus wird wie folgt angezeigt:
- Blau: Screenshots werden auf MicroSD-Karte gespeichert
- Gelb: Video werden auf MicroSD-Karte
- Weiß: HDMI-Videosignal wird nicht erkannt
- Grün (nach Knopfdruck): MicroSD-Karte kann sicher ausgeworfen werden
WLAN-Verbindung
Neben der Aufzeichnung auf einer microSD-Karte kann das Monitorsignal auch per WLAN übertragen werden. Allerdings funktioniert die Kopplung nicht im lokalen Netzwerk oder direkt mit einem Endgerät, sondern nur über die von Hak5 bereitgestellt Lösung Cloud C2. Dabei handelt es sich um keinen klassischen Cloud-Dienst, sondern um eine selbst gehostete webbasierte „Command and Control“ Lösung. Damit können verschiedene Geräte von Hak5 mit dem Webbrowser konfiguriert und gesteuert werden.
Es steht die kostenlose Community Variante für Linux-, Mac- und Windows-Rechner zur Verfügung. Diese kann unkompliziert in einem lokalen Netzwerk ohne Server getestet werden. Dazu muss auf der Cloud C2 Seite eine Bestellung für 0 € durchgeführt werden, anschließend werden per E-Mail der Download-Link sowie ein Lizenz-Token zugeschickt.
In der heruntergeladenen ZIP-Datei befinden sich mehrere Dateien für verschiedenen Betriebssysteme. Unter Windows kann C2 mit dem folgenden Befehl in der PowerShell gestartet werden (1.2.3.4 muss durch die eigene IP-Adresse ersetzt werden):
c2-3.0.2_amd64_windows.exe -hostname 1.2.3.4
Anschließend kann im Webbrowser das Interface unter der Adresse http://127.0.0.1:8080 aufgerufen werden. Nach der Konfiguration und dem Log-in kann der Screen Crab mit dem Button „(+) Add Device“ hinzugefügt werden. Danach kann das Gerät aufgerufen werden und mit dem Button „Set-up“ wird die Datei device.config generiert und zum Download angeboten. Sie muss auf die microSD-Karte kopiert werden. Zusätzlich muss eine neue config.txt mit den WLAN-Zugangsdaten erstellt und ebenfalls auf die microSD-Karte abgelegt.
WIFI_SSID wlanname WIFI_PASS passwort
Sobald der Screen Crab mit den beiden Dateien auf der microSD-Karte gestartet wurde, wird er von dem Hak5 Cloud C2 Server erkannt.
Gegenmaßnahmen
Der Screen Crab muss direkt an einem Rechner oder einem vergleichbaren Gerät angeschlossen werden. Damit muss ein Angreifer physisch vor Ort präsent sein und Zugang zum Bereich mit dem Rechner haben.
Grundsätzlich sollte der Zugang so beschränkt werden, dass nur vertrauenswürdige Personen Zugang zu den Rechnersystemen haben. Des Weiteren sollte eine unordentliche Verkabelung vermieden werden und wenn möglich immer die passende Kabellänge gewählt werden. Dadurch fallen Veränderungen oder zusätzliche Geräte schneller auf. In Bereichen mit Publikumsverkehr ist der Rechner so zu verbauen (z. B. in einem abschließbaren Fach im Schreibtisch), dass eine Manipulation nicht möglich ist. Dieses Vorgehen wird auch als Schutz durch bauliche Maßnahmen bezeichnet.
In sensiblen Bereichen sollte Softwareseitig überprüft werden, ob es eine Unterbrechung zu einem Bildschirm gab. Sollte dieser Event eintreten, muss die Sicherheitsabteilung automatisch benachrichtigt und der Vorfall geprüft werden.
Logger Artikelserie
Dieser Blogbeitrag ist Teil der Artikelserie „Logger als Angriffstools“, die dem Themenschwerpunkt Hacking Hardware angehört. In dieser Artikelserie beschreibe ich verschiedene Arten von Loggern, damit diese erkannt und effektive Gegenmaßnahmen eingeleitet werden können.