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.

Hardware Keylogger Open Source

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:

  • Grundkenntnisse in der Elektronik (Hauptsächlich Hardware)
  • Lötkolben für Leiterplatten
  • Mikrocontroller-Programmiergerät (unterstützt die Atmel AT89CXX51 Produktfamilie)
Hardware Keylogger Open Source - Baugruppen

Folgende Baugruppen sind zu diesem Projekt notwendig:

  • Atmel AT89C2051 Mikrocontroller (oder AT89C1051, AT89C4051)
  • EEPROM-Speicher Typ AT24C512 (oder kompatibel)
  • 12 MHz Quarz
  • 2x 33p Kondensator
  • 10 uF Kondensator
  • 10 k Widerstand
  • kleine Drucktaste
Hardware Keylogger Open Source - PS/2 Buchse und Anschluss (z.B. Kabelanschluss)

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.

Hardware Keylogger Open Source - Grundkenntnisse in der Elektronik (Hauptsächlich Hardware)

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.

Hardware Keylogger Open Source - Löten

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.

Hardware Keylogger Open Source - Verbinder

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).

Hardware Keylogger Open Source

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.

Hardware Keylogger Open Source - Installation 1

Die PS/2-Tastaturverbindung am Computer aufsuchen.

Hardware Keylogger Open Source - Installation 2

Tastatur abschalten.

Hardware Keylogger Open Source - Installation 3

Den Hardware Keylogger anstelle der Tastatur anschließen.

Hardware Keylogger Open Source - Installation 4

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.

Hardware Keylogger Open Source - Aufnahme-Modus 1

Die KeyGrab Anwendung starten.

Hardware Keylogger Open Source - Aufnahme-Modus 2

Den Hardware Keylogger anstelle der Tastatur anschließen. Die Tastatur nicht anschließen.

Hardware Keylogger Open Source - Aufnahme-Modus 3

Auf die Titelleiste der KeyGrab Anwendung klicken, um sie zu aktivieren.

Hardware Keylogger Open Source - Aufnahme-Modus 4

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.

Hardware Keylogger Open Source - Aufnahme-Modus 5

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.

Hardware Keylogger Open Source - Datenanalyse

1 - Position im Hardware Keylogger Speicher durch aufgezeichnetes Ereignis besetzt (Hex-Format).
2 - Aufgezeichnete Taste.
3 - Vorgekommenes Ereignis - Drücken oder Loslassen der Taste.
4 - Tasten-Scancode am PS/2-Bus (Hex-Format).
5 - Letzte Speicherposition (Hex-Format).
6 - EEPROM-Speicher (in Kilobits).

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

Hardware Keylogger Open Source - KeyGrab

Wir empfehlen Ihnen, sich mit nachstehenden Bemerkungen vertraut zu machen, um eventuelle Probleme bei der Nutzung des Hardware Keyloggers zu vermeiden.

Gesetzliche Haftung

  1. In jedem Land gelten andere Vorschriften zur Erfassung der Tastaturdaten. Die Rechtsunkenntnis gilt nicht als Entschuldigung für die Nichtbefolgung der Vorschriften. Bitte sehen Sie den Benutzervertrag ein.
  2. Keelog übernimmt keine Haftung für Sach- oder Personenschäden, die auf die Nutzung dieses Hardware Keyloggers zurückzuführen sind.
  3. Der Hardware Keylogger Open Source darf nicht zur rechtswidrigen Aufzeichnung fremder Daten insbesondere Passwörter, Bankdaten, vertraulicher Korrespondenz usw. benutzt werden. In den meisten Ländern gilt das als Rechtsverletzung.

Datenerfassung

  1. Der Hardware Keylogger hat einen nichtflüchtigen EEPROM-Speicher mit 64 kB Speicherplatz. Wenn dieser Speicher voll ist, beginnt die Aufzeichnung erneut ab der ersten Speicherposition. Die ältesten Daten werden gelöscht.
  2. Die ersten 128 Bytes sind für Konfigurationsdaten reserviert, wie die letzte Speicherzugriff-Adresse. Sie wird ca. alle 10 Sekunden aktualisiert.
  3. Lassen Sie den Hardware Keylogger nicht im Aufnahme-Modus arbeiten, wenn es nicht erforderlich ist. Dies führt nämlich zur unnötigen Speicherbesetzung, wodurch die alten, oft aber wichtigen Daten überschrieben werden können.

Datenübertragung

  1. Zur Datenübertragung aus dem Hardware Keylogger ist ein Pentium Klasse PC ab 100 MHz mit Windows 9X/Me/XP/2000 Betriebssystem notwendig.
  2. Zur Datenübertragung aus dem Hardware Keylogger wird die Technologie der Tastatursimulation verwendet. Deshalb muss die echte Tastatur während der Datenübertragung abgeschaltet sein.
  3. Während der Datenübertragung muss die KeyGrab Anwendung aktiv sein, andernfalls wird Windows oder eine andere aktive Anwendung versuchen, die eingehenden Tastenanschläge zu interpretieren.
  4. Die im Aufnahme-Modus aufgezeichneten Daten werden in gegenchronologischer Reihenfolge wiedergegeben. So können die neuesten Daten am Anfang des Übertragungsprozesses angezeigt werden. Um an die ältesten Daten zu gelangen, muss man bis zum Ende des Übertragungsprozesses abwarten. Der ganze Prozess kann bis zu 20 Minuten dauern.
  5. Die Datenübertragung muss durch erneutes Tastendrücken beendet werden. Dies ist zu tun, wenn sich die Daten zu duplizieren beginnen.

PS/2-Tastaturfunktion

  1. Die Funktion der PS/2-Tastatur ist etwas komplizierter, als es anfänglich scheint. Dies ist zu erkennen, wenn Rohdaten, die der Hardware Keylogger erfasst hat, analysiert werden. Bei jedem Tastenanschlag generiert die Tastatur ein Zeichen, den sog. "Scancode". Beim Loslassen der Taste wird dieses Zeichen erneut generiert, jedoch mit dem Zeichen 240 (F0 hex) davor. Es gibt auch erweiterte Tasten, für die das Zeichen 224 (E0 hex) verwendet wird. Mehr Informationen dazu finden Sie im Teil PS/2-Tastaturprotokoll.
  2. Der Hardware Keylogger Open Source hat einen Speicher von 64 kB, was jedoch nicht bedeutet, dass er 64 Tausend Tastenanschläge speichern kann. Eine Sequenz von Drücken und Loslassen der Taste erfordert 3 Bytes für eine Standardtaste und 5 Bytes für eine erweiterte Taste. Die Datenerfassung wurde in kommerziellen Versionen deutlich optimiert.

Grundlagen

Hardware Keylogger Open Source - PS/2-Bussignale

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.

Hardware Keylogger Open Source - Signaldiagramm

Busdaten

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.

Datenerfassung

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.