Haftungsausschluss
Das Tool befindet sich noch aktiv im Bau. Das Sniffer -Dienstprogramm sollte gut mit einer 125 -kHz -Bandbreite funktionieren. Testen Sie es also. Bitte beachten Sie, dass die Übertragungsfunktionen mehr Tests erfordern, da ich derzeit kein Lorawan -Gateway besitze.
Wenn Sie auf Probleme stoßen, können Sie ein Problem ansprechen.
Lorattack
Dieses Repository bietet ein Toolkit zur Bewertung der Sicherheit von Lorawan. Folgendes bietet es:
- Multi-Channel-Sniffing: Erfassen Sie den Lorawan-Verkehr über mehrere Kanäle mit einem SDR (Software Defined Radio).
- Sitzungsbasierte Erfassung: Erstellen und Verwalten von Sitzungen. Erfassete Händeschläge innerhalb einer Sitzung werden automatisch für die weitere Analyse gespeichert.
- Schlüsselableitung: Abgeleitet kryptografische Schlüssel aus erfassten Handshake -Daten, die für eine Sitzung spezifisch sind, und ermöglicht die Entschlüsselung von Paketen, die zu dieser Sitzung gehören.
- Wireshark -Kompatibilität: Geschäfte erfasst den Datenverkehr in PCAP -Dateien mit einer modifizierten DLT -Nummer und stellt eine nahtlose Analyse mit Wireshark sicher.
- Sicherheitsentests: Wiederholte Nutzlasten in die Untersuchung von bekannten Lorawan -Schwachstellen während der Sicherheitsbewertungen.
- Angriffsanleitung: Greifen Sie auf detaillierte Beschreibungen von Angriffen und Schritt-für-Schritt-Anleitungen zu, um Ihren Testprozess zu optimieren.

Inhaltsverzeichnis
- Installation
- Verwendung
- Sitzung
- Schnüffler
- Schnüffeln
- Konfigurieren
- Dekodierung und Entschlüsselung
- Paketspeicher
- Analysator
- Angriff
- Wiederholung
- Handwerkspakete
- Ausfahrt
Installation
Anforderungen:
- Linux -System (getestet mit Ubuntu, Debian)
- USRP-Software-definierte Radio nach Ettus-Forschung (getestet mit B200, B205Mini)
1. Installieren Sie GNU -Radio und Abhängigkeiten:
Befolgen Sie die Anweisungen im GNU -Radio -Wiki für Ihre Linux -Verteilung: https://wiki.gnuradio.org/index.php/installinggra
2. Installieren Sie USRP -Hardware -Treiber:
Fügen Sie das Ettus Research USRP -Repository hinzu:
sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-host
3.. Klonen Sie das Lora Attack Toolkit Repository:
git clone https://github.com/konicst1/lorattack.git
4. Installieren Sie Abhängigkeiten:
Navigieren Sie zum Toolkit -Verzeichnis und installieren Sie Abhängigkeiten:
cd lorattack
source venv/bin/activate
pip install -r requirements.txt
sudo apt-get update
sudo apt-get install bittwist
Installieren Sie auch GR-Lora-Bibliotheken aus:
- https://github.com/rpp0/gr-lora
- https://github.com/tapparelj/gr-lora_sdr
5. Aktualisieren Sie die Python -Pfade (falls die virtuelle Umgebung verwendet):
Dieser Schritt stellt sicher, dass die virtuelle Umgebung auf Gnuradio zugreifen kann, die außerhalb der Umgebung installiert sind.
export PYTHONPATH=/usr/local/lib/python3.10/dist-packages:/usr/lib/python3.10/site-packages: $PYTHONPATH
export PYTHONPATH= " /usr/lib/python3/dist-packages: $PYTHONPATH "
# Update library path (if necessary)
export LD_LIBRARY_PATH=/usr/local/lib: $LD_LIBRARY_PATH
Hinweis: Ersetzen Sie /usr/local/lib/python3.10 mit dem tatsächlichen Pfad zu Ihrem Python 3 -Installationsverzeichnis, wenn es anders ist. Passen Sie das Bibliothekspfad -Update an ( export LD_LIBRARY_PATH... ) nur, wenn Probleme mit fehlenden Bibliotheken begegnet sind.
6. Führen Sie das Lora Attack Toolkit aus:
Hinweis: Weitere detaillierte Verwendungsanweisungen finden Sie in der Dokumentation des Toolkit (falls verfügbar).
Verwendung
Sitzung
- Neue Sitzung: Erstellen Sie eine neue Sitzung mit einem beschreibenden Namen, wenn Sie anfangen, den Lorawan -Verkehr zu schnüffeln. Dies stellt sicher, dass jede Erfassung ihre eigenen Schlüssel für die Entschlüsselung später enthält.
- Wählen Sie Sitzung: Wählen Sie eine vorhandene Sitzung aus, um sie für weitere Analysen oder Wiederholungsangriffe zu aktivieren. LorAttack verwendet Handshake -Daten aus der ausgewählten Sitzung, um Entschlüsselungsschlüssel abzuleiten, die für diese Erfassung spezifisch sind.
Separate Sitzungen sind wichtig für die Entschlüsselung. Jede Sitzung in LorAtattack extrahiert Handshake -Daten, um eindeutige Schlüssel für erfasste Pakete in dieser Sitzung abzuleiten und detaillierte Analysen zu ermöglichen.
Um Sitzungsdaten zu bearbeiten, bearbeiten Sie die Sitzung/Daten/<ssion_name> /data.json -Datei.
Schnüffler
Lorattacks Sniffer erfasst den Lorawan-Verkehr über mehrere Kanäle um eine bestimmte Mittelfrequenz und ermöglicht Echtzeit-Dekodierung und Entschlüsselung (wenn Tasten verfügbar sind).

- Sniff: Mit diesem Untermenü können Sie den Lorawan -Verkehr erfassen:
- Sniff/Down Link (bidirektional): Erfasst sowohl Uplink (Geräte für Netzwerk) als auch Downlink (Netzwerk zu Geräten). Hinweis: Die bidirektionale Erfassung kann zu doppelten Paketen führen, wenn dieselben Daten in beide Richtungen gesendet werden.
- Sniff Uplink: beginnt nur Uplink -Verkehr zu erfassen.
- Sniff Downlink: beginnt nur den Downlink -Verkehr zu erfassen.
- Konfigurieren: Mit diesem Untermenü können Sie die Sniffer -Konfigurationsdatei (
config/sniffer.config ) bearbeiten, in der die Erfassungseinstellungen definiert werden:- Frequenz (Mittelfrequenz): Geben Sie die Mittelfrequenz (z. B. "868,6e6") zum Schnüffeln an. LorAttack wird auch Kanäle rund um diese Mittelfrequenz erfassen, die auf der gewählten Bandbreite basieren.
- Bandbreite: Setzen Sie die Kanalbandbreite (z. B. "125000"), um den Bereich der Frequenzen zu definieren, die um die Mittelfrequenz erfasst wurden.
- Stichprobenrate: Definieren Sie die Stichprobenrate (z. B. "1000000") für die SDR -Hardware.
- Spreizfaktor: Geben Sie den vom Lorawan -Netzwerk verwendeten Spreizfaktor (7 - 12) an (wirkt sich auf die Datenrate und den Bereich aus).
- Verstärkung (DB): Stellen Sie die Verstärkung (z. B. "10 dB") der SDR -Antenne ein, um die Signalstärke anzupassen.
Dekodierung und Entschlüsselung:
- Gefangene Pakete werden in Echtzeit dekodiert und geben Einblicke in die Lorawan-Kommunikationsstruktur.
- Die Entschlüsselung ist möglich und wird automatisch durchgeführt, wenn kryptografische Schlüssel in der Sitzungskonfigurationsdatei vorhanden sind:
- Tasten können manuell angegeben werden.
- Tasten können automatisch abgeleitet werden, wenn die Anforderung an die Anforderung und die Annahme von Akzeptanznachrichten in innerhalb dessen erfasst werden (Appey muss manuell konfiguriert werden)

Paketspeicher:
- Alle Schnüffelpakete werden im Verzeichnis der aktuellen Sitzung im PCAP -Format gespeichert.
- PCAPs mit Wireshark -Präfix haben den UDP -Header ausgestattet und DLT ist auf Lorawan (147) für eine einfache Analyse mit Wireshark eingestellt.
Analysator
Das Analysator -Untermenü zeigt eine Liste der PCAP -Dateien an, die Ihrer aktiven Sitzung zugeordnet sind. Die Auswahl einer PCAP -Datei initiiert einen Analyseprozess:

- Verkehrsanalyse: Der Analysator untersucht die Paketstruktur und dekodiert die Lorawan -Kommunikation und aktualisiert Sitzungswerte, wenn die Anforderung/Akzeptanznachrichten gefunden werden.
- Entschlüsselung (falls zutreffend): Wenn die Sitzungskonfiguration die erforderlichen kryptografischen Schlüssel (NWKSKEY und AppsKey) enthält, versucht der Analysator, die Paketnutzlasten zu entschlüsseln.
Angriff

Wiederholung:
- Aus PCAP: Wählen Sie eine PCAP -Datei (mit erfassenden Paketen) aus den aufgeführten Optionen aus, um eine Abfolge von Paketen wiederzugeben.
- Wiederholungssequenz bearbeiten: Bearbeiten Sie die Paketsequenz manuell aus dem ausgewählten PCAP, der wiederholt werden soll.
Bastelpakete:
- Spoof -Join -Anfrage: Fertigen Sie eine Join -Anforderungsnachricht basierend auf Werten aus der aktuellen Sitzung (joineui, deveui) und überträgt sie mit SDR. Wenn einige von ihnen nicht vorhanden sind, werden Standardwerte angewendet. Appey/NWKKey ist erforderlich, um das Mikrofon zu berechnen.
- Spoof Join Accome: Ferastet eine Join -Anforderungsnachricht basierend auf Werten aus der aktuellen Sitzung (Netid, Devaddr) und überträgt sie mit SDR. Wenn einige von ihnen nicht vorhanden sind, werden Standardwerte angewendet. Appey/NWKKey ist erforderlich, um Mikrofon und Verschlüsselung zu berechnen.
- Spoof ACK -Nachricht: Handwerks- und ACK -Nachricht basiert auf Werten aus den Sitzungsdaten (Devaddr, FCNT wird auf 0xfff0 auf gute Chancen für DOS gesetzt) und überträgt sie mit SDR. NWKSKEY ist für die Mikrofonberechnung erforderlich.
Konfigurieren von Sendern: Weitere Informationen zum Konfigurieren von Senderparametern finden Sie im Abschnitt Sniffer -Konfiguration, der während der Wiederholungsangriffs (z. B. Frequenz, Verstärkung) verwendet wird.
Angriffssimulationsrichtlinien
TBD