Funksignale werden in vielen Geräten verarbeitet bzw. verschickt. Einige Beispiel sind das Garagentor, aber auch die Fernbedienung eines Fernsehers kommunizieren über Funk. Mit dem HackRF One können solche Funksignale abgefangen und anschließend angegriffen werden.
HackRF One – Der Open Source Transceiver
HackRF One ist ein Software Defined Radio (SDR), welches sowohl Funksignale empfangen als auch senden kann. Dementsprechend wird der HackRF als empfangender (Receiver) und sendender (Transmitter) SDR als Transceiver bezeichnet. Das besondere ist die große Abdeckung der Signalfrequenz. Das hier vorgestellte Tool kann Signale von 1MHz bis 6GHz verarbeiten.
In diesem Punkt unterscheidet sich der HackRF One von anderen Produkten, da diese meist keine Signale von 1 bis 6000MHz verarbeiten können. Als eines der günstigsten SDR erfuhr der HackRF One eine große Beliebtheit, nachdem es im Rahmen eines Kickstarter-Projektes in den USA entwickelt wurde.
Als ein Open-Source-Projekt befinden sich alle Pläne und Software öffentlich zugänglich. Der SDR ist ein Tool, an dem weiterentwickelt werden kann. Neben einem integrierten USB-Port befinden sich viele weitere Schnittstellen im Inneren des Tools, die es möglich machen, eigene Erweiterungen zu integrieren.
Erste Schritte mit dem HackRF
Für etwa 300€ kann der SDR erworben werden. Nachdem das Gerät per USB an den Computer angeschlossen wurde, können wir mit der Installation beginnen. Unter Kali Linux, dem Betriebssystem, welches bei Hackern und Penetrationstestern am beliebtesten ist, ist die Installation sehr einfach, denn alle benötigten Pakete befinden sich in dem Paket-Manager apt.
Mit dem Befehl: root@kali:~# apt install hackrf werden die benötigten Softwarepakete automatisch installiert. Mit dem Befehl: root@kali:~# hackrf_info können wir überprüfen, ob die Installation erfolgreich durchgeführt wurde. Nun können wir unsere ersten Funksignale abfangen und Angriffe starten.
Bevor wir jedoch ein einfachen Replay Attack beschreiben, weisen wir ausdrücklich daraufhin, dass die Verwendung nur auf den eigenen Systemen durchgeführt werden sollte!
Replay-Attack mit dem SDR
Ein Replay-Attack ist eine einfache Angriffsart, in der ein mitgeschnittener Befehl erneut gesendet werden kann. Ein Beispiel für solch ein Befehl könnte das Öffnen des Garagentors sein, welches von einer Fernbedienung geschickt worden ist. Haben wir mit dem HackRF One diesen Befehl mitgeschnitten, können wir ihn erneut abschicken und das mittlerweile geschlossene Garagentor öffnen.
Um solch einen Angriff durchzuführen, benötigen wir zunächst den Mitschnitt des Befehls. Eine handelsübliche Fernbedienung sendet die Signale im Bereich von 433,9 MHz. Um mit unserem HackRF One nun auf dieser Frequenz nach Signalen zu lauschen, eignet sich der folgende Befehl: root@kali:~# hackrf_transfer -r record.raw -f 433900000 -l 20 -g 20
Das Paket hackrf_transfer ist ein Tool, welches sich gut für den Replay-Attack eignet. Mit dem -r Parameter geben wir eine Datei an, in der die Mitschnitte gespeichert werden. l und g sind Parameter, die die Signalverstärkung steuern können. Nachdem wir nun einen Mitschnitt erzielen konnten, versuchen wir dieses Signal erneut zu verschicken, um den Replay-Attack durchzuführen. Dies gelingt uns mit dem folgenden Befehl: root@kali:~# hackrf_transfer -t record.raw -f 433900000 -x 40
Der Parameter t gibt die Datei an, die unseren Mitschnitt beinhaltet. x ist ein Parameter, der vergleichbar mit l und g die Signalverstärkung händeln kann. Dieser Angriff funktioniert dann, wenn keine kryptografischen Verfahren verwendet werden, die jeden Befehl einzigartig machen. Eine Möglichkeit ist eine Sequenznummer, die die Befehle verändert oder verschlüsselt. Durch solch einen Schutz kann der Replay-Attack ausgehebelt bzw. verhindert werden.