Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ATFuzzer — Эволюционный фаззер на основе грамматики для динамического анализа интерфейсов AT-команд на смартфонах Android через Bluetooth и USB, выявляющий DoS, утечки конфиденциальности и уязвимости понижения протокола. | Kitploit
Инструменты/GitHubGitHub/sysnets/atfuzzer
Безопасность AndroidБезопасность BluetoothДинамический анализ (песочница)Анализ уязвимостейФаззинг
GitHubsysnets/atfuzzer

ATFuzzer

Эволюционный фаззер на основе грамматики для динамического анализа интерфейсов AT-команд на смартфонах Android через Bluetooth и USB, выявляющий DoS, утечки конфиденциальности и уязвимости понижения протокола.

Репозиторий
158405 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

ATFuzzer

"Opening Pandora's Box through ATFuzzer: Dynamic Analysis of AT Interface for Android Smartphones" принята к публикации на 35-й Ежегодной конференции по приложениям компьютерной безопасности (ACSAC) 2019. https://syed-rafiul-hussain.github.io/wp-content/uploads/2019/11/atfuzz.pdf

Аннотация

В данной статье основное внимание уделяется проверке корректности и надежности интерфейса AT-команд, предоставляемого процессором сотового базового диапазона через Bluetooth и USB. Прикладной процессор устройства использует этот интерфейс для отправки команд высокого уровня (или AT-команд) процессору базового диапазона для выполнения операций сотовой сети (например, совершения телефонного звонка). Уязвимости в этом интерфейсе могут быть использованы злонамеренными Bluetooth-периферийными устройствами для проведения различных атак, включая DoS и атаки на конфиденциальность. Для выявления таких уязвимостей мы предлагаем ATFuzzer, который использует грамматически направленный эволюционный подход к фаззингу, мутирующий правила продукции грамматики AT-команд вместо конкретных AT-команд. Эмпирическая оценка ATFuzzer на 8 смартфонах Android от 5 производителей выявила 4 недействительные грамматики AT-команд через Bluetooth и 13 через USB, с последствиями от DoS, понижения версии сотового протокола до серьезных утечек конфиденциальности.

Запуск ATFuzzer

Требования

Python 2.7.15. Пожалуйста, не используйте python 3, так как есть несовместимости библиотек. Требуемые библиотеки указаны в файле requirements.txt, их можно установить, выполнив команду:

pip install -r requirements.txt

Примечание: модуль pybluez для python 2.7 несовместим с Windows. Для установки pybluez на Windows необходимо загрузить предыдущую версию. Загрузите PyBluez‑0.22‑cp27 с pybluez и установите её с помощью команды:

pip install <pybluez file.whl>

Как запустить

Для запуска ATFuzzer выполните следующую команду:

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

Также можно запустить ATFuzzer с несколькими случайно выбранными грамматиками с помощью команды:

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

Затем программа предлагает выбрать один из 4 вариантов:

  • 0 - Стандартный фаззер (включает кроссовер, мутацию, оценку обратной связи)
  • 1 - Фаззер без обратной связи
  • 2 - Фаззер без кроссовера
  • 3 - Фаззер без мутации

Эти опции позволяют пользователю выбрать, какой тип ATFuzzer запускать. Это необходимо для тестирования и оценки эффективности нашего фаззера.

Наконец, ATFuzzer требует указать, какой канал будет использоваться для передачи AT-команд. Можно выбрать один из трех вариантов:

  • b - Bluetooth
  • u - USB
  • t - Тестовый запуск (не требует подключенного устройства)

Если выбран Bluetooth, программа запрашивает Bluetooth-адрес целевого устройства. Пользователь может ввести MAC-адрес Bluetooth устройства в формате: XX:XX:XX:XX:XX:XX (например, 1A:2B:3C:4D:5E:6F).

Тестовый запуск выполняет ATFuzzer с фиктивными параметрами оценки и без отправки команд устройству. Эта опция предназначена только для тестирования, поэтому не используйте её для фаззинга реального смартфона.

Примечание: если вы запускаете Bluetooth ATFuzzer на Linux, может потребоваться выполнить программу с sudo, в зависимости от конфигурации системы.

Структура реализации ATFuzzer

Ниже приводится описание структуры реализации ATFuzzer.

commandGrammar.json: json-файл, содержащий набор грамматик для более чем 80 AT-команд. Грамматики определены по определенной структуре, позволяющей программе эффективно их считывать.

executeFuzzer.py: основная программа, позволяющая пользователю запускать ATFuzzer. Предоставляет различные варианты выполнения (см. Как запустить).

grammarFuzzer.py: реализует собственно фаззинг. Считывает грамматики для AT-команд, предоставленные пользователем, и выполняет цикл фаззинга: генерация входных данных - отправка входных данных - оценка грамматики - эволюция грамматики.

multiGrammarFuzzer.py: реализует собственно фаззинг. Считывает грамматики для случайно выбранных AT-команд и выполняет цикл фаззинга: генерация входных данных - отправка входных данных - оценка грамматики - эволюция грамматики.

grammarModifier.py: реализует функции для фазы эволюции. Эти функции включают кроссовер грамматик и мутацию грамматик.

inputGen.py: генерирует случайный экземпляр AT-команды на основе заданной входной грамматики.

atCmdInterface.py: реализует функции, необходимые для взаимодействия с AT-интерфейсом целевого устройства. Отвечает за настройку связи с устройством, отправку экземпляров AT-команд и, наконец, сбор и оценку ответов.

afl_fuzzer.py: реализует функции, используемые для выполнения фаззера AFL в контексте AT-команд.

utilityFunctions.py: реализует вспомогательные функции для выполнения основной программы.

results: каталог, содержащий результаты каждого запуска ATFuzzer.

Демо

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

Цитирование

Если ваше исследование нашло один или несколько компонентов savior полезными, пожалуйста, процитируйте следующую статью:

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

Скачать инструмент