R0ket Keyboard sniffer: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
 
Line 1: Line 1:
=Einleitung=
=R0cket Keyboard Sniffer=

==Einleitung==
Die R0ket wurde als Badge auf dem Chaos Communication Camp 2011 verteilt. Sie beinhaltet unter anderem einen Nordic VLSI nRF24L01+ chip, welcher im 2,4 GHz Spektrum funkt. Derselbe Chip wird in vielen Funklösungen verwendet, z.B. in Funkkeyboards von Microsoft oder in TurningPoint ResponseCard RF ("Clicker"). Wie Max Moser und Thorsten Schröder in ihrem KeyKeriki V2.0 Projekt gezeigt haben, kann der nRF24L01+ auch zum sniffen von Datenübertragungen verwendet werden.
Die R0ket wurde als Badge auf dem Chaos Communication Camp 2011 verteilt. Sie beinhaltet unter anderem einen Nordic VLSI nRF24L01+ chip, welcher im 2,4 GHz Spektrum funkt. Derselbe Chip wird in vielen Funklösungen verwendet, z.B. in Funkkeyboards von Microsoft oder in TurningPoint ResponseCard RF ("Clicker"). Wie Max Moser und Thorsten Schröder in ihrem KeyKeriki V2.0 Projekt gezeigt haben, kann der nRF24L01+ auch zum sniffen von Datenübertragungen verwendet werden.
Travis Goodspeed hat Code für das Next Hope Badge entwickelt, um das Microsoft Wireless Comfort Desktop Kit abzuhören. Dieser Code soll nun auf die R0ket portiert werden.
Travis Goodspeed hat Code für das Next Hope Badge entwickelt, um das Microsoft Wireless Comfort Desktop Kit abzuhören. Dieser Code soll nun auf die R0ket portiert werden.


===Vorraussetzungen===
==Vorraussetzungen==
Es wird folgende Hard- und Software benötigt:
Es wird folgende Hard- und Software benötigt:
# R0ket
# R0ket
Line 11: Line 9:
# ...
# ...


===Vorgehensweise===
==Vorgehensweise==
Folgende Punkte sollen zum sniffen des Keyboards abgearbeitet werden:
Folgende Punkte sollen zum sniffen des Keyboards abgearbeitet werden:
* Zunächst werden die Register des Chips so konfiguriert, dass überhaupt Pakete empfangen werden können. (Siehe Theoretisches)
* Zunächst werden die Register des Chips so konfiguriert, dass überhaupt Pakete empfangen werden können. (Siehe Theoretisches)
Line 17: Line 15:
*Mit der gefundenen Adresse wird gezielt das Keyboard ausgehorcht. Die Pakete müssen noch entschlüsselt werden.
*Mit der gefundenen Adresse wird gezielt das Keyboard ausgehorcht. Die Pakete müssen noch entschlüsselt werden.


===Aktueller Stand===
==Aktueller Stand==
Die R0cket zeigt an, dass sie Pakete empfängt. Allerdings scheitern wir noch daran, diese auszulesen.
Die R0cket zeigt an, dass sie Pakete empfängt. Allerdings scheitern wir noch daran, diese auszulesen.


==Programmierung der R0cket==
=Programmierung der R0cket=
...
...


==Theoretisches zum Finden der MAC-Adresse des Keyboards==
=Theoretisches zum Finden der MAC-Adresse des Keyboards=
===Aufbau der Datenpakete===
==Aufbau der Datenpakete==
Die gesendeten Pakete beginnen normalerweise mit einer Preambel, gefolgt von ein SYNC-field. Die Preambel ist dabei entweder AA oder EE (sich abwechselnde 0en und 1en), je nachdem, ob das erste bit des SYNC-field 1 oder 0 ist. Die Preambel zeigt an, dass ein Paket beginnt.
Die gesendeten Pakete beginnen normalerweise mit einer Preambel, gefolgt von ein SYNC-field. Die Preambel ist dabei entweder AA oder EE (sich abwechselnde 0en und 1en), je nachdem, ob das erste bit des SYNC-field 1 oder 0 ist. Die Preambel zeigt an, dass ein Paket beginnt.
Das SYNC-field dient dazu, den Rest des Paketes bitweise zu synchronisieren. Bei den nRF24L01+ chips dient die MAC-Adresse als SYNC-field, ist also von Gerät zu Gerät unterschiedlich. Zusätzlich erlaubt der Chip keine MAC-Adressen, die kürzer als 3 Byte sind, was im Folgenden umgangen werden soll.
Das SYNC-field dient dazu, den Rest des Paketes bitweise zu synchronisieren. Bei den nRF24L01+ chips dient die MAC-Adresse als SYNC-field, ist also von Gerät zu Gerät unterschiedlich. Zusätzlich erlaubt der Chip keine MAC-Adressen, die kürzer als 3 Byte sind, was im Folgenden umgangen werden soll.


===Ausnutzen der Preambel===
==Ausnutzen der Preambel==






==Probleme==
=Probleme=
Folgende Probleme traten bei der Einrichtung bzw. beim Testen der Kommunikation auf.
Folgende Probleme traten bei der Einrichtung bzw. beim Testen der Kommunikation auf.
* ...
* ...


==Literatur und Links==
=Literatur und Links=
[http://www.remote-exploit.org/?p=437 KeyKeriki V2]
[http://www.remote-exploit.org/?p=437 KeyKeriki V2]



Revision as of 03:59, 22 September 2011

Einleitung

Die R0ket wurde als Badge auf dem Chaos Communication Camp 2011 verteilt. Sie beinhaltet unter anderem einen Nordic VLSI nRF24L01+ chip, welcher im 2,4 GHz Spektrum funkt. Derselbe Chip wird in vielen Funklösungen verwendet, z.B. in Funkkeyboards von Microsoft oder in TurningPoint ResponseCard RF ("Clicker"). Wie Max Moser und Thorsten Schröder in ihrem KeyKeriki V2.0 Projekt gezeigt haben, kann der nRF24L01+ auch zum sniffen von Datenübertragungen verwendet werden. Travis Goodspeed hat Code für das Next Hope Badge entwickelt, um das Microsoft Wireless Comfort Desktop Kit abzuhören. Dieser Code soll nun auf die R0ket portiert werden.

Vorraussetzungen

Es wird folgende Hard- und Software benötigt:

  1. R0ket
  2. geeignetes MS Keyboard (mit einem nRF24L01+)
  3. ...

Vorgehensweise

Folgende Punkte sollen zum sniffen des Keyboards abgearbeitet werden:

  • Zunächst werden die Register des Chips so konfiguriert, dass überhaupt Pakete empfangen werden können. (Siehe Theoretisches)
  • Die empfangenen Pakete enthalten auch viel Noise. Es werden solche herausgefiltert, die tatsächlich zum Keyboard gehören. Dadurch lässt sich nun auch die MAC-Adresse des Keyboards finden.
  • Mit der gefundenen Adresse wird gezielt das Keyboard ausgehorcht. Die Pakete müssen noch entschlüsselt werden.

Aktueller Stand

Die R0cket zeigt an, dass sie Pakete empfängt. Allerdings scheitern wir noch daran, diese auszulesen.

Programmierung der R0cket

...

Theoretisches zum Finden der MAC-Adresse des Keyboards

Aufbau der Datenpakete

Die gesendeten Pakete beginnen normalerweise mit einer Preambel, gefolgt von ein SYNC-field. Die Preambel ist dabei entweder AA oder EE (sich abwechselnde 0en und 1en), je nachdem, ob das erste bit des SYNC-field 1 oder 0 ist. Die Preambel zeigt an, dass ein Paket beginnt. Das SYNC-field dient dazu, den Rest des Paketes bitweise zu synchronisieren. Bei den nRF24L01+ chips dient die MAC-Adresse als SYNC-field, ist also von Gerät zu Gerät unterschiedlich. Zusätzlich erlaubt der Chip keine MAC-Adressen, die kürzer als 3 Byte sind, was im Folgenden umgangen werden soll.

Ausnutzen der Preambel

Probleme

Folgende Probleme traten bei der Einrichtung bzw. beim Testen der Kommunikation auf.

  • ...

Literatur und Links

KeyKeriki V2

Promiscuity is the nRF24L01+'s Duty

R0ket