Keelog hat beschlossen, die frühere Version des Hardware Keyloggers sowie die Firmware- Vollversion, Software-Quellcodes, Schaltpläne und Dokumentation zu veröffentlichen. Der Hardware Keylogger Open Source ist ein zu 100% betriebsfähiger und bewährter PS/2-Tastaturrekorder, der bei Hunderten von Benutzern auf der ganzen Welt eingebaut und verwendet wird. Dieses Gerät arbeitet ähnlich wie die KeyGrabber PS/2 Version. Zur Abrufung und Analyse der Daten aus dem Keylogger dient die KeyGrab Sonderanwendung. Wir erinnern Sie jedoch daran, dass der Hardware Keylogger Open Source mit allen eventuellen Mängeln und ohne Gewähr veröffentlicht wurde.
Bevor Sie anfangen, prüfen Sie mit der Checkliste, ob Sie alle erforderlichen Werkzeuge und Kenntnisse besitzen, die zur Umsetzung des Projekts Hardware Keylogger Open Source erforderlich sind:
Folgende Baugruppen sind zu diesem Projekt notwendig:
Außerdem ist ein Gehäuse für den Keylogger notwendig. Es ist zu empfehlen, ein PS/2-Verlängerungskabel sowie einen einige Zentimeter langen Schrumpfschlauch zu kaufen, der dann um den fertigen Keylogger thermisch umgewickelt werden kann.
Die Montage muss mit dem Programmieren der Firmware des Mikrocontrollers beginnen. Programmiergerät-Software starten, Mikrocontroller AT89C2051 wählen und das Programm mit Hilfe des Codes in binärer Version oder Hex-Version öffnen. Der Code kann auch in der Quellversion neu kompiliert werden, wobei der entsprechende Compiler für die 8051-Familie zu verwenden ist. Das Löten ist vermutlich der Projektteil, der den meisten Arbeits- und Zeitaufwand erfordert, da der Hardware Keylogger möglichst klein sein soll. Der nachstehende Schaltplan für den Hardware Keylogger Open Source zeigt, wie die Verbindungen zwischen den einzelnen Baugruppen verlaufen sollen.
Die Baugruppen löten, wobei Sie mit dem Mikrocontroller und dem EEPROM-Speicher beginnen sollen. Unnötige Anschlüsse können beseitigt werden. Sorgen Sie dafür, dass der Zugang zur Drucktaste gewährleistet wird. Beim Einbau der Kondensatoren achten Sie auf ihre richtige Polarisierung.
Das Gerät soll möglichst kompakt sein, ohne unnötige Zwischenräume. Es sind jedoch Kurzschlüsse zu vermeiden, denn sie werden später schwer zu beseitigen sein. Nach dem Löten der Hauptelemente sollte der Hardware Keylogger ähnlich aussehen, wie das Beispiel auf dem Foto.
Zum Schluss soll der PS/2-Anschluss eingebaut werden. Es ist zu empfehlen, das PS/2-Verlängerungskabel durchzuschneiden und jeden Teil getrennt zu löten. Vergessen Sie aber nicht, vor dem Löten den Schrumpfschlauch über einen Kabelteil zu ziehen. Alle vier PS/2-Anschlüsse (CLK, DATA, VCC und GND) an der Buchse und am Anschluss löten (an der Tastatur und am Computer).
Es ist zu empfehlen, vor der thermischen Umwicklung des Schrumpfschlauchs um den Keylogger eine kleine Klebstoff- oder Harzmenge zwischen den Elementen anzubringen, um die ganze Konstruktion steifer zu machen. Zum Schluss erwärmen Sie den Schrumpfschlauch, damit er den Keylogger umschließt, und schneiden sie eine kleine Öffnung für die Drucktaste aus.
Der Hardware Keylogger Open Source beginnt die Daten aufzunehmen, gleich nachdem er zwischen dem Computer und der Tastatur angeschlossen wird. Der Keylogger ist völlig transparent, er hat keinerlei Einfluss auf die Funktion des Computers oder der Tastatur und kann durch Software nicht aufgespürt werden. Alle Tastaturdaten werden im internen nichtflüchtigen EEPROM-Speicher mit 64kB aufgezeichnet. Der Aufnahme-Modus ist vom Betriebssystem, das im Computer installiert ist, unabhängig.
Die PS/2-Tastaturverbindung am Computer aufsuchen.
Tastatur abschalten.
Den Hardware Keylogger anstelle der Tastatur anschließen.
Die Tastatur an den Keylogger anschließen. Der Aufnahme-Modus startet gleich nach der Einschaltung der Stromversorgung.
Nachdem die Tastaturdaten im Aufnahme-Modus gespeichert werden, können sie am beliebigen PC mit Windows 9X/Me/XP/2000 Betriebssystem wiedergegeben werden. Beim Hardware Keylogger erfolgt das durch Simulation der Datenübertragung durch die Tastatur, Die aufgezeichneten Daten werden durch die KeyGrab Anwendung übernommen. Nachdem der Computer alle Daten übernommen hat, können sie verarbeitet und analysiert werden. Die nachstehenden Anleitungen beschreiben, wie der Wiedergabe-Modus gestartet wird.
Die KeyGrab Anwendung starten.
Den Hardware Keylogger anstelle der Tastatur anschließen. Die Tastatur nicht anschließen.
Auf die Titelleiste der KeyGrab Anwendung klicken, um sie zu aktivieren.
Die Taste auf dem Hardware Keylogger drücken, um die Datenübertragung einzuleiten. Während der Übertragung die aktive Anwendung nicht umschalten. Dies ist erst dann zu machen, wenn die gewünschten Daten zum Computer übertragen wurden.
Den Hardware Keylogger abschalten und die PS/2-Tastatur wieder anschalten.
Bei der Datenübertragung zu der KeyGrab Haupttabelle werden sie automatisch so verarbeitet, damit die während des Aufnahme-Modus gedrückten Tasten angezeigt werden. Die Daten werden in gegenchronologischer Reihenfolge übertragen, so dass die neuesten aufgenommenen Daten am Anfang angezeigt werden. Die übertragenen Daten können manuell oder mit Hilfe von einigen eingebauten Suchoptionen analysiert werden.
Die für den Benutzer interessantesten Informationen enthält die Spalte mit der Taste (2) und dem Ereignis (3). Diese Spalten enthalten die Information über die gespeicherten Zeichen. Sie können die Geschichte des aufgezeichneten Textes einsehen, indem Sie die Scroll-Funktion benutzen. Die Keylogger-Daten werden in gegenchronologischer Reihenfolge übertragen (die neuesten Daten am Anfang).
Anwendung zur Datenaufzeichnung aus dem Hardware Keylogger Open Source für Windows 9X/ME/2000/XP:
KeyGrab.zip (0.7MB)
Komplette Quellcode für den AT89C2051 Mikrocontroller:
Quellcode - diy.asm
Kompilierte Firmware für den AT89C2051 Mikrocontroller:
BIN-Datei - diy.bin, HEX-Datei - diy.hex
Wir empfehlen Ihnen, sich mit nachstehenden Bemerkungen vertraut zu machen, um eventuelle Probleme bei der Nutzung des Hardware Keyloggers zu vermeiden.
Wenn wir ein Kabel durchschneiden, finden wir drinnen normalerweise 6 Leitungen. Nur 4 davon sind relevant. Zwei davon sind Stromversorgungsleitungen: Masse (GND) und +5 Volt (VCC), die durch das Computernetzteil generiert werden. Die zwei anderen dienen zur asynchronen Datenübertragung: Datenleitung (DATA) und Taktleitung (CLK). Auf dem Bild rechts wurde gezeigt, wie diese Leitungen den (a) DIN-Stecker-Pins und (b) miniDIN-Stecker-Pins entsprechen. Die Datenübertragung erfolgt in beiden Richtungen, jedoch spielt hier die Tastatur die übergeordnete Rolle. Sie sendet die Information über das Tastendrücken und -loslassen. Der Datensatz enthält nur einen Byte, der einem Startbit folgt und nach dem ein Paritätsbit und ein Stoppbit folgen. Die Tastatur sendet weitere Bits durch die DATA-Leitung und takt sie mit negativen Impulsen auf der CLK-Taktleitung. Die Taktfrequenz beträgt 10...30 kHz. Es könnte ein ganz einfaches und angenehmes Protokoll sein, wenn der Computer nicht ab und zu eine Information an die Tastatur zu senden bräuchte. In einem solchen Fall zieht der PC die Taktleitung für eine Weile runter und wartet, bis die Tastatur zu takten beginnt. Wenn die Impulse starten, beginnt der Kontroller im Computer seine eigenen Daten durch die DATA-Leitung zu senden. Die Übertragungsverläufe können Sie in den nachstehenden Diagrammen sehen: (a) von der Tastatur zum PC, (b) vom PC zur Tastatur. Dieses Protokoll hat natürlich einige Ausnahmen, wie z.B. Übertragungsunterbrechung, Zeichenwiederholung usw. Dies sind jedoch relativ seltene Ereignisse.
Was wird dann eigentlich durch das Tastaturkabel übertragen? Beim Start sendet sowohl die Tastatur als auch der Computer die Initialisierungsdaten und sie informieren über ihren Status. Beim normalen Computerbetrieb werden Daten nur durch die Tastatur gesendet. Diese Daten beziehen sich auf jedes Ereignis, das auf der Tastatur stattgefunden hat. Als Ereignis gilt das Tastendrücken oder -loslassen. Beim Tastendrücken wird der sog. "Scancode" der Taste gesendet. Jede Taste hat nur einen Scancode, was eine Scancode-Map bildet. Beim Loslassen der Taste wird zuerst der 240-Sonderbyte (F0 hex) gesendet, und anschließend der Scancode der jeweiligen Taste. Also wird eine normale Zeicheneingabe durch die Tastatur verursachen, dass 3 Bytes gesendet werden. Wenn die Taste länger gedrückt bleibt, wird ihr Scancode mit aktuell eingestellter Wiederholfrequenz wiederholt. Wird die Taste losgelassen, sendet die Tastatur den 240-Byte, und zum Schluss den Scancode. Dies wäre jedoch immer noch ein angenehmes und einfaches Protokoll, wenn es nicht einige Sondertasten gäbe, wie Pos 1, Ende, Pfeiltasten usw. Wenn eine Sondertaste gedrückt wird, wird der 224-Byte (E0 hex) und anschließend sein Scancode gesendet. Wenn eine Sondertaste losgelassen wird, wird die Sequenz 224, 240 (E0, F0 hex) gesendet, und anschließend der Scancode der Taste. Die Normal- und Sondertasten sind für alle nationalen Tastaturbelegungen gleich, gemäß der Scancode-Map. Um die ganze Sache noch komplizierter zu machen, gibt es noch zwei "Extra-Sondertasten", d.h. Druck-S-Abf-Taste und Pause-Taste. Wenn diese Tasten gedrückt werden, wird eine ganze Zeichenreihe gesendet. Für eine Person, die die Tastaturkommunikation programmiert, ist es besser, diese Tasten außer Acht zu lassen.
Der Mikrocontroller überwacht ständig die DATA- und CLK-Leitungen und erfasst alle Daten. Die Daten werden direkt im internen nichtflüchtigen EEPROM-Speicher aufgezeichnet, ohne jegliche Analyse. Dadurch kann der Benutzer später alle Ereignisse einsehen, die auf der Tastatur stattgefunden haben. Wenn der Benutzer entscheidet, dass die Datenaufnahme beendet wurde, und die Taste drückt, wird der Hardware Keylogger in den Wiedergabe-Modus umgeschaltet. Vorher muss die Tastatur abgeschaltet werden, sonst wird sie den Datenfluss interpretieren. Der Keylogger startet die Datenübertragung aus dem internen Speicher durch die Tastatursimulation. Die KeyGrab Anwendung soll aktiv sein, um den Datenfluss aus dem Hardware Keylogger zu interpretieren. Die Normaltasten werden direkt mit dem Scancode gesendet, und die Sondertasten mit einem Doppelbyte-Code.