Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ATFuzzer — Fuzzer evolutivo guidato da grammatica per l'analisi dinamica delle interfacce dei comandi AT su smartphone Android tramite Bluetooth e USB, scoprendo vulnerabilità DoS, perdite di privacy e downgrade di protocollo. | Kitploit
Strumenti/GitHubGitHub/sysnets/atfuzzer
Sicurezza AndroidSicurezza BluetoothAnalisi Dinamica (Sandboxing)Analisi delle VulnerabilitàFuzzing
GitHubsysnets/atfuzzer

ATFuzzer

Fuzzer evolutivo guidato da grammatica per l'analisi dinamica delle interfacce dei comandi AT su smartphone Android tramite Bluetooth e USB, scoprendo vulnerabilità DoS, perdite di privacy e downgrade di protocollo.

Vedi Repository
158405 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ATFuzzer

"Opening Pandora's Box through ATFuzzer: Dynamic Analysis of AT Interface for Android Smartphones" è stato accettato per la 35a Conferenza Annuale sulle Applicazioni di Sicurezza Informatica (ACSAC) 2019. https://syed-rafiul-hussain.github.io/wp-content/uploads/2019/11/atfuzz.pdf

Sommario

Questo articolo si concentra sulla verifica della correttezza e robustezza dell'interfaccia dei comandi AT esposta dal processore di banda base cellulare tramite Bluetooth e USB. Il processore applicativo del dispositivo utilizza questa interfaccia per emettere comandi di alto livello (o comandi AT) al processore di banda base per eseguire operazioni di rete cellulare (ad es., effettuare una chiamata). Le vulnerabilità in questa interfaccia possono essere sfruttate da periferiche Bluetooth maligne per lanciare vari attacchi, inclusi attacchi DoS e alla privacy. Per identificare tali vulnerabilità, proponiamo ATFuzzer che utilizza un approccio di fuzzing evolutivo guidato dalla grammatica che muta le regole di produzione della grammatica dei comandi AT anziché i comandi AT concreti. La valutazione empirica con ATFuzzer su 8 smartphone Android di 5 fornitori ha rivelato 4 grammatiche di comandi AT non valide su Bluetooth e 13 su USB con implicazioni che vanno da DoS, downgrade della versione del protocollo cellulare a gravi fughe di dati personali.

Eseguire ATFuzzer

Requisiti

Python 2.7.15. Non utilizzare Python 3 a causa di incompatibilità di librerie. Le librerie richieste sono specificate nel file requirements.txt e possono essere installate eseguendo il comando:

pip install -r requirements.txt

Nota: il modulo pybluez per Python 2.7 non è compatibile con Windows. Per installare pybluez su Windows è necessario scaricare una versione precedente. Scaricare PyBluez‑0.22‑cp27 su pybluez e installarlo con il comando:

pip install <pybluez file.whl>

Come eseguire

Per eseguire ATFuzzer, eseguire il seguente comando:

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

In alternativa, è possibile eseguire ATFuzzer con più grammatiche scelte casualmente con il comando:

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

Il programma chiede quindi di scegliere tra 4 opzioni:

  • 0 - Fuzzer standard (include crossover, mutazione, valutazione del feedback)
  • 1 - Fuzzer senza feedback
  • 2 - Fuzzer senza crossover
  • 3 - Fuzzer senza mutazione

Queste opzioni consentono all'utente di scegliere quale tipo di ATFuzzer eseguire. Ciò è fondamentale per testare e valutare l'efficacia del nostro fuzzer.

Infine, ATFuzzer richiede di specificare quale canale verrà utilizzato per la trasmissione dei comandi AT. È possibile selezionare una tra tre opzioni:

  • b - Bluetooth
  • u - USB
  • t - Esecuzione di test (non richiede alcun dispositivo collegato)

Se si seleziona l'opzione Bluetooth, il programma chiede l'indirizzo Bluetooth del dispositivo di destinazione. L'utente può inserire l'indirizzo MAC Bluetooth del dispositivo nel formato specifico: XX:XX:XX:XX:XX:XX (ad es., 1A:2B:3C:4D:5E:6F).

L'esecuzione di test esegue ATFuzzer con parametri di valutazione fittizi e senza inviare alcun comando a un dispositivo. Questa opzione è solo per scopi di test, quindi non utilizzarla per fare fuzz su uno smartphone reale.

Nota: se si esegue ATFuzzer Bluetooth su Linux, potrebbe essere necessario eseguire il programma con sudo, a seconda della configurazione del sistema.

Struttura dell'implementazione di ATFuzzer

Di seguito forniamo una descrizione della struttura dell'implementazione di ATFuzzer.

commandGrammar.json: file json che contiene un insieme di grammatiche per oltre 80 comandi AT. Le grammatiche sono definite seguendo una struttura specifica che consente al programma di leggerle efficientemente.

executeFuzzer.py: programma principale che consente all'utente di eseguire ATFuzzer. Fornisce diverse opzioni di esecuzione (vedi Come eseguire).

grammarFuzzer.py: implementa il vero e proprio fuzzing. Legge le grammatiche per i comandi AT inviati dall'utente ed esegue il ciclo di fuzzing: generazione dell'input - invio dell'input - valutazione della grammatica - evoluzione della grammatica.

multiGrammarFuzzer.py: implementa il vero e proprio fuzzing. Legge le grammatiche per i comandi AT scelti casualmente ed esegue il ciclo di fuzzing: generazione dell'input - invio dell'input - valutazione della grammatica - evoluzione della grammatica.

grammarModifier.py: implementa le funzioni per la fase di evoluzione. Tali funzioni includono crossover della grammatica e mutazione della grammatica.

inputGen.py: genera un'istanza di comando AT casuale data una grammatica di input.

atCmdInterface.py: implementa le funzioni necessarie per interagire con l'interfaccia AT del dispositivo di destinazione. È responsabile della configurazione della comunicazione con il dispositivo, dell'invio delle istanze dei comandi AT e infine della raccolta e valutazione delle risposte.

afl_fuzzer.py: implementa le funzioni utilizzate per eseguire AFL fuzzer nel contesto dei comandi AT.

utilityFunctions.py: implementa funzioni di supporto per l'esecuzione del programma principale.

results: directory contenente i risultati di ogni esecuzione di ATFuzzer.

Demo

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

Citazione

Se la vostra ricerca trova utile uno o più componenti di savior, citare il seguente articolo:

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}
} 

Scarica lo strumento