Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ATFuzzer — Fuzzer evolucionário guiado por gramática para análise dinâmica de interfaces de comando AT em smartphones Android via Bluetooth e USB, revelando vulnerabilidades de DoS, vazamento de privacidade e downgrade de protocolo. | Kitploit
Ferramentas/GitHubGitHub/sysnets/atfuzzer
Segurança AndroidSegurança BluetoothAnálise Dinâmica (Sandboxing)Análise de VulnerabilidadesFuzzing
GitHubsysnets/atfuzzer

ATFuzzer

Fuzzer evolucionário guiado por gramática para análise dinâmica de interfaces de comando AT em smartphones Android via Bluetooth e USB, revelando vulnerabilidades de DoS, vazamento de privacidade e downgrade de protocolo.

Ver Repositório
15840há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ATFuzzer

"Opening Pandora's Box through ATFuzzer: Dynamic Analysis of AT Interface for Android Smartphones" foi aceito na 35ª Conferência Anual de Aplicações de Segurança em Computadores (ACSAC) 2019. https://syed-rafiul-hussain.github.io/wp-content/uploads/2019/11/atfuzz.pdf

Resumo

Este artigo foca na verificação da correção e robustez da interface de comandos AT exposta pelo processador de banda base do celular através de Bluetooth e USB. O processador de aplicação do dispositivo usa esta interface para emitir comandos de alto nível (ou comandos AT) ao processador de banda base para realizar operações na rede celular (por exemplo, fazer uma chamada telefônica). Vulnerabilidades nesta interface podem ser exploradas por periféricos Bluetooth maliciosos para lançar vários ataques, incluindo ataques de DoS e de privacidade. Para identificar tais vulnerabilidades, propomos o ATFuzzer, que utiliza uma abordagem de fuzzing evolucionário guiado por gramática, que muta regras de produção da gramática de comandos AT em vez de comandos AT concretos. A avaliação empírica com o ATFuzzer em 8 smartphones Android de 5 fornecedores revelou 4 gramáticas de comandos AT inválidas via Bluetooth e 13 via USB, com implicações que variam de DoS, rebaixamento da versão do protocolo celular a graves vazamentos de privacidade.

Executar o ATFuzzer

Requisitos

Python 2.7.15. Por favor, não use python 3 devido a incompatibilidades de bibliotecas. As bibliotecas necessárias estão especificadas no arquivo requirements.txt e podem ser instaladas executando o comando:

pip install -r requirements.txt

Nota: o módulo pybluez para python 2.7 não é compatível com Windows. Para instalar pybluez no Windows, é necessário baixar uma versão anterior. Baixe PyBluez‑0.22‑cp27 em pybluez e instale-o com o comando:

pip install <pybluez file.whl>

Como executar

Para executar o ATFuzzer, execute o seguinte comando:

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

Alternativamente, é possível executar o ATFuzzer com múltiplas gramáticas escolhidas aleatoriamente com o comando:

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

O programa então pede para escolher entre 4 opções:

  • 0 - Fuzzer padrão (inclui crossover, mutação, avaliação de feedback)
  • 1 - Fuzzer sem feedback
  • 2 - Fuzzer sem crossover
  • 3 - Fuzzer sem mutação

Essas opções permitem ao usuário escolher qual tipo de ATFuzzer executar. Isso é fundamental para testar e avaliar a eficácia do nosso fuzzer.

Finalmente, o ATFuzzer requer especificar qual canal será usado para a transmissão dos comandos AT. É possível selecionar uma entre três opções:

  • b - Bluetooth
  • u - USB
  • t - Execução de teste (não requer nenhum dispositivo conectado)

Se a opção Bluetooth for selecionada, o programa pergunta pelo endereço Bluetooth do dispositivo alvo. O usuário pode inserir o endereço MAC Bluetooth do dispositivo no formato específico: XX:XX:XX:XX:XX:XX (por exemplo, 1A:2B:3C:4D:5E:6F).

A execução de teste executa o ATFuzzer com parâmetros de avaliação falsos e sem enviar nenhum comando a um dispositivo. Esta opção é apenas para fins de teste, portanto, não a use para fuzzear um smartphone real.

Nota: se você executar o ATFuzzer Bluetooth no Linux, pode ser necessário executar o programa com sudo, dependendo da configuração do sistema.

Estrutura da implementação do ATFuzzer

A seguir, fornecemos uma descrição da estrutura da implementação do ATFuzzer.

commandGrammar.json: arquivo json que contém um conjunto de gramáticas para mais de 80 comandos AT. As gramáticas são definidas seguindo uma estrutura específica que permite ao programa lê-las eficientemente.

executeFuzzer.py: programa principal que permite ao usuário executar o ATFuzzer. Ele fornece diferentes opções de execução (veja Como executar).

grammarFuzzer.py: implementa o fuzzing propriamente dito. Ele lê as gramáticas dos comandos AT enviados pelo usuário e realiza o loop de fuzzing: geração de entrada - envio de entrada - avaliação da gramática - evolução da gramática.

multiGrammarFuzzer.py: implementa o fuzzing propriamente dito. Ele lê as gramáticas dos comandos AT escolhidos aleatoriamente e realiza o loop de fuzzing: geração de entrada - envio de entrada - avaliação da gramática - evolução da gramática.

grammarModifier.py: implementa as funções para a fase de evolução. Tais funções incluem crossover de gramática e mutação de gramática.

inputGen.py: gera uma instância aleatória de comando AT a partir de uma gramática de entrada.

atCmdInterface.py: implementa as funções necessárias para interagir com a interface AT do dispositivo alvo. É responsável por configurar a comunicação com o dispositivo, enviar as instâncias de comando AT e, finalmente, coletar e avaliar as respostas.

afl_fuzzer.py: implementa as funções usadas para executar o fuzzer AFL no contexto de comandos AT.

utilityFunctions.py: implementa funções de suporte para a execução do programa principal.

results: diretório contendo os resultados de cada execução do ATFuzzer.

Demonstração

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

Citação

Se sua pesquisa achar um ou vários componentes do savior úteis, por favor cite o seguinte artigo:

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

Baixar ferramenta