Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ATFuzzer — Fuzzer evolutivo guiado por gramática para el análisis dinámico de interfaces de comandos AT en smartphones Android a través de Bluetooth y USB, descubriendo vulnerabilidades de denegación de servicio (DoS), filtraciones de privacidad y degradación de protocolo. | Kitploit
Herramientas/GitHubGitHub/sysnets/atfuzzer
Seguridad AndroidSeguridad BluetoothAnálisis Dinámico (Sandboxing)Análisis de VulnerabilidadesFuzzing
GitHubsysnets/atfuzzer

ATFuzzer

Fuzzer evolutivo guiado por gramática para el análisis dinámico de interfaces de comandos AT en smartphones Android a través de Bluetooth y USB, descubriendo vulnerabilidades de denegación de servicio (DoS), filtraciones de privacidad y degradación de protocolo.

Ver Repositorio
1584053hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ATFuzzer

«Opening Pandora's Box through ATFuzzer: Dynamic Analysis of AT Interface for Android Smartphones» ha sido aceptado en la 35.ª Conferencia Anual de Aplicaciones de Seguridad Informática (ACSAC) 2019. https://syed-rafiul-hussain.github.io/wp-content/uploads/2019/11/atfuzz.pdf

Resumen

Este artículo se centra en verificar la corrección y robustez de la interfaz de comandos AT expuesta por el procesador de banda base celular a través de Bluetooth y USB. El procesador de aplicaciones de un dispositivo utiliza esta interfaz para emitir comandos de alto nivel (o comandos AT) al procesador de banda base para realizar operaciones de red celular (por ejemplo, realizar una llamada telefónica). Las vulnerabilidades en esta interfaz pueden ser aprovechadas por periféricos Bluetooth maliciosos para lanzar varios ataques, incluidos ataques de denegación de servicio (DoS) y de privacidad. Para identificar estas vulnerabilidades, proponemos ATFuzzer, que utiliza un enfoque de fuzzing evolutivo guiado por gramática que muta las reglas de producción de la gramática de comandos AT en lugar de comandos AT concretos. La evaluación empírica con ATFuzzer en 8 teléfonos inteligentes Android de 5 proveedores reveló 4 gramáticas de comandos AT inválidas sobre Bluetooth y 13 sobre USB, con implicaciones que van desde DoS, degradación de la versión del protocolo celular hasta graves filtraciones de privacidad.

Ejecutar ATFuzzer

Requisitos

Python 2.7.15. No use Python 3 porque hay incompatibilidades de bibliotecas. Las bibliotecas requeridas se especifican en el archivo requirements.txt y se pueden instalar ejecutando el comando:

pip install -r requirements.txt

Nota: el módulo pybluez para python 2.7 no es compatible con Windows. Para instalar pybluez en Windows es necesario descargar una versión anterior. Descargue PyBluez‑0.22‑cp27 en pybluez e instálelo con el comando:

pip install <pybluez file.whl>

Cómo ejecutar

Para ejecutar ATFuzzer ejecute el siguiente comando:

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

Alternativamente, es posible ejecutar ATFuzzer con múltiples gramáticas elegidas al azar con el comando:

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

El programa luego pide elegir entre 4 opciones:

  • 0 - Fuzzer estándar (incluye cruce, mutación, evaluación de retroalimentación)
  • 1 - Fuzzer sin retroalimentación
  • 2 - Fuzzer sin cruce
  • 3 - Fuzzer sin mutación

Estas opciones permiten al usuario elegir qué tipo de ATFuzzer ejecutar. Esto es fundamental para probar y evaluar la efectividad de nuestro fuzzer.

Finalmente, ATFuzzer requiere especificar qué canal se utilizará para la transmisión de comandos AT. Es posible seleccionar una de tres opciones:

  • b - Bluetooth
  • u - USB
  • t - Ejecución de prueba (no requiere ningún dispositivo conectado)

Si se selecciona la opción Bluetooth, el programa solicita la dirección Bluetooth del dispositivo objetivo. El usuario puede insertar la dirección MAC Bluetooth del dispositivo en el formato específico: XX:XX:XX:XX:XX:XX (por ejemplo, 1A:2B:3C:4D:5E:6F).

La ejecución de prueba ejecuta ATFuzzer con parámetros de evaluación falsos y sin enviar ningún comando a un dispositivo. Esta opción es solo para fines de prueba, por lo tanto, no la use para fuzzear un teléfono inteligente real.

Nota: si ejecuta ATFuzzer por Bluetooth en Linux, puede ser necesario ejecutar el programa con sudo, dependiendo de la configuración del sistema.

Estructura de la implementación de ATFuzzer

A continuación proporcionamos una descripción de la estructura de la implementación de ATFuzzer.

commandGrammar.json: archivo json que contiene un conjunto de gramáticas para más de 80 comandos AT. Las gramáticas se definen siguiendo una estructura específica que permite al programa leerlas de manera eficiente.

executeFuzzer.py: programa principal que permite al usuario ejecutar ATFuzzer. Proporciona diferentes opciones de ejecución (consulte Cómo ejecutar).

grammarFuzzer.py: implementa el fuzzing real. Lee las gramáticas de los comandos AT enviados por el usuario y realiza el bucle de fuzzing: generación de entrada - envío de entrada - evaluación de gramática - evolución de gramática.

multiGrammarFuzzer.py: implementa el fuzzing real. Lee las gramáticas de los comandos AT elegidos al azar y realiza el bucle de fuzzing: generación de entrada - envío de entrada - evaluación de gramática - evolución de gramática.

grammarModifier.py: implementa las funciones para la fase de evolución. Dichas funciones incluyen cruce de gramáticas y mutación de gramáticas.

inputGen.py: genera una instancia aleatoria de comando AT dada una gramática de entrada.

atCmdInterface.py: implementa las funciones necesarias para interactuar con la interfaz AT del dispositivo objetivo. Es responsable de configurar la comunicación con el dispositivo, enviar las instancias de comandos AT y finalmente recopilar y evaluar las respuestas.

afl_fuzzer.py: implementa las funciones utilizadas para ejecutar AFL fuzzer en el contexto de comandos AT.

utilityFunctions.py: implementa funciones de soporte para la ejecución del programa principal.

results: directorio que contiene los resultados de cada ejecución de ATFuzzer.

Demo

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

Citación

Si su investigación encuentra uno o varios componentes de savior útiles, por favor cite el siguiente artículo:

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

Descargar herramienta