Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ATFuzzer — Grammatikgesteuerter evolutionärer Fuzzer zur dynamischen Analyse von AT-Befehlsschnittstellen auf Android-Smartphones über Bluetooth und USB, der DoS-Angriffe, Datenschutzlecks und Protokoll-Downgrade-Schwachstellen aufdeckt. | Kitploit
Tools/GitHubGitHub/sysnets/atfuzzer
Android-SicherheitBluetooth-SicherheitDynamische Analyse (Sandboxing)SchwachstellenanalyseFuzzing
GitHubsysnets/atfuzzer

ATFuzzer

Grammatikgesteuerter evolutionärer Fuzzer zur dynamischen Analyse von AT-Befehlsschnittstellen auf Android-Smartphones über Bluetooth und USB, der DoS-Angriffe, Datenschutzlecks und Protokoll-Downgrade-Schwachstellen aufdeckt.

Repository anzeigen
15840vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ATFuzzer

"Opening Pandora's Box through ATFuzzer: Dynamic Analysis of AT Interface for Android Smartphones" wurde zur 35. Annual Computer Security Applications Conference (ACSAC) 2019 angenommen. https://syed-rafiul-hussain.github.io/wp-content/uploads/2019/11/atfuzz.pdf

Zusammenfassung

Dieses Papier konzentriert sich auf die Überprüfung der Korrektheit und Robustheit der AT-Befehlsschnittstelle, die vom zellularen Basisbandprozessor über Bluetooth und USB bereitgestellt wird. Der Anwendungsprozessor eines Geräts verwendet diese Schnittstelle, um High-Level-Befehle (oder AT-Befehle) an den Basisbandprozessor zur Durchführung von Mobilfunknetzoperationen (z. B. Telefonieren) zu senden. Schwachstellen in dieser Schnittstelle können von bösartigen Bluetooth-Peripheriegeräten ausgenutzt werden, um verschiedene Angriffe wie DoS- und Datenschutzangriffe zu starten. Um solche Schwachstellen zu identifizieren, schlagen wir ATFuzzer vor, das einen grammatikgesteuerten evolutionären Fuzzing-Ansatz verwendet, der Produktionsregeln der AT-Befehlsgrammatik anstelle konkreter AT-Befehle mutiert. Die empirische Evaluierung mit ATFuzzer an 8 Android-Smartphones von 5 Herstellern ergab 4 ungültige AT-Befehlsgrammatiken über Bluetooth und 13 über USB mit Auswirkungen, die von DoS, Herabstufung der zellularen Protokollversion bis hin zu schwerwiegenden Datenschutzlecks reichen.

ATFuzzer ausführen

Voraussetzungen

Python 2.7.15. Bitte verwenden Sie nicht Python 3, da es Bibliotheksinkompatibilitäten gibt. Die benötigten Bibliotheken sind in der Datei requirements.txt angegeben und können mit dem folgenden Befehl installiert werden:

pip install -r requirements.txt

Hinweis: Das Modul pybluez für Python 2.7 ist nicht mit Windows kompatibel. Um pybluez unter Windows zu installieren, muss eine frühere Version heruntergeladen werden. Laden Sie PyBluez‑0.22‑cp27 von pybluez herunter und installieren Sie es mit dem Befehl:

pip install <pybluez file.whl>

Wie man es ausführt

Um ATFuzzer auszuführen, führen Sie den folgenden Befehl aus:

sudo python executeFuzzer.py <list_of_grammars> <device_name> <port (optional)>

Alternativ ist es möglich, ATFuzzer mit mehreren zufällig ausgewählten Grammatiken mit dem Befehl auszuführen:

sudo python executeFuzzer.py multi <device_name> <port (optional)>

Das Programm fragt dann nach einer Auswahl aus 4 Optionen:

  • 0 - Standard-Fuzzer (beinhaltet Crossover, Mutation, Feedback-Auswertung)
  • 1 - Kein Feedback-Fuzzer
  • 2 - Kein Crossover-Fuzzer
  • 3 - Kein Mutations-Fuzzer

Diese Optionen ermöglichen dem Benutzer, auszuwählen, welcher Typ von ATFuzzer ausgeführt werden soll. Dies ist grundlegend, um die Wirksamkeit unseres Fuzzers zu testen und zu bewerten.

Schließlich muss ATFuzzer angeben, welcher Kanal für die Übertragung von AT-Befehlen verwendet wird. Es kann eine von drei Optionen ausgewählt werden:

  • b - Bluetooth
  • u - USB
  • t - Testausführung (erfordert kein verbundenes Gerät)

Wenn die Bluetooth-Option ausgewählt wird, fragt das Programm nach der Bluetooth-Adresse des Zielgeräts. Der Benutzer kann die Bluetooth-MAC-Adresse des Geräts im Format XX:XX:XX:XX:XX:XX (z. B. 1A:2B:3C:4D:5E:6F) eingeben.

Die Testausführung führt ATFuzzer mit gefälschten Evaluierungsparametern aus, ohne Befehle an ein Gerät zu senden. Diese Option dient nur zu Testzwecken, verwenden Sie sie daher nicht zum Fuzzen eines echten Smartphones.

Hinweis: Wenn Sie Bluetooth ATFuzzer unter Linux ausführen, kann es je nach Systemkonfiguration erforderlich sein, das Programm mit sudo auszuführen.

Struktur der ATFuzzer-Implementierung

Im Folgenden geben wir eine Beschreibung der Struktur der Implementierung von ATFuzzer.

commandGrammar.json: JSON-Datei, die eine Reihe von Grammatiken für über 80 AT-Befehle enthält. Die Grammatiken sind nach einer bestimmten Struktur definiert, die es dem Programm ermöglicht, sie effizient zu lesen.

executeFuzzer.py: Hauptprogramm, das dem Benutzer ermöglicht, ATFuzzer auszuführen. Es bietet verschiedene Ausführungsoptionen (siehe Wie man es ausführt).

grammarFuzzer.py: Implementiert das eigentliche Fuzzing. Es liest die Grammatiken für die vom Benutzer übermittelten AT-Befehle und führt die Fuzzing-Schleife aus: Eingabeerzeugung – Eingabeübermittlung – Grammatikbewertung – Grammatikevolution.

multiGrammarFuzzer.py: Implementiert das eigentliche Fuzzing. Es liest die Grammatiken für die zufällig ausgewählten AT-Befehle und führt die Fuzzing-Schleife aus: Eingabeerzeugung – Eingabeübermittlung – Grammatikbewertung – Grammatikevolution.

grammarModifier.py: Implementiert die Funktionen für die Evolutionsphase. Zu diesen Funktionen gehören Grammatik-Crossover und Grammatik-Mutation.

inputGen.py: Erzeugt eine zufällige AT-Befehlsinstanz basierend auf einer Eingabegrammatik.

atCmdInterface.py: Implementiert die Funktionen, die für die Interaktion mit der AT-Schnittstelle des Zielgeräts erforderlich sind. Es ist für den Aufbau der Kommunikation mit dem Gerät, die Übermittlung der AT-Befehlsinstanzen und schließlich das Sammeln und Auswerten der Antworten verantwortlich.

afl_fuzzer.py: Implementiert die Funktionen, die zur Ausführung des AFL-Fuzzers im Kontext von AT-Befehlen verwendet werden.

utilityFunctions.py: Implementiert Unterstützungsfunktionen für die Ausführung des Hauptprogramms.

results: Verzeichnis, das die Ergebnisse jeder ATFuzzer-Ausführung enthält.

Demo

https://www.youtube.com/watch?v=qR4Pq5i0IRE

Zitierung

Wenn Ihre Forschung eine oder mehrere Komponenten von savior nützlich findet, zitieren Sie bitte das folgende Papier:

root@kitploit:~

@inproceedings{karim2019opening,
  title={Opening Pandora's box through ATFuzzer: dynamic analysis of AT interface for Android smartphones},
  author={Karim, Imtiaz and Cicala, Fabrizio and Hussain, Syed Rafiul and Chowdhury, Omar and Bertino, Elisa},
  booktitle={Proceedings of the 35th Annual Computer Security Applications Conference},
  pages={529--543},
  year={2019}
} 

Tool herunterladen