Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ATFuzzer — 문법 기반 진화적 퍼저로서, 블루투스 및 USB를 통해 안드로이드 스마트폰의 AT 명령 인터페이스를 동적 분석하여 DoS, 개인정보 유출 및 프로토콜 다운그레이드 취약점을 발견합니다. | Kitploit
도구/GitHubGitHub/sysnets/atfuzzer
Android SecurityBluetooth SecurityDynamic Analysis (Sandboxing)Vulnerability AnalysisFuzzing
GitHubsysnets/atfuzzer

ATFuzzer

문법 기반 진화적 퍼저로서, 블루투스 및 USB를 통해 안드로이드 스마트폰의 AT 명령 인터페이스를 동적 분석하여 DoS, 개인정보 유출 및 프로토콜 다운그레이드 취약점을 발견합니다.

저장소 보기
158405년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ATFuzzer

"Opening Pandora's Box through ATFuzzer: Dynamic Analysis of AT Interface for Android Smartphones" 가 2019년 제35회 Annual Computer Security Applications Conference (ACSAC)에 채택되었습니다. https://syed-rafiul-hussain.github.io/wp-content/uploads/2019/11/atfuzz.pdf

초록

본 논문은 블루투스와 USB를 통해 셀룰러 베이스밴드 프로세서가 노출하는 AT 명령 인터페이스의 정확성과 견고성을 확인하는 데 중점을 둡니다. 기기의 애플리케이션 프로세서는 이 인터페이스를 사용하여 셀룰러 네트워크 작업(예: 전화 걸기)을 수행하기 위해 베이스밴드 프로세서에 고수준 명령어(또는 AT 명령어)를 발행합니다. 이 인터페이스의 취약점은 악성 블루투스 주변기기가 DoS 및 프라이버시 공격을 포함한 다양한 공격을 시작하는 데 활용될 수 있습니다. 이러한 취약점을 식별하기 위해, 우리는 구체적인 AT 명령어 대신 AT 명령어 문법의 생성 규칙을 변이시키는 문법 기반 진화 퍼징 접근 방식을 사용하는 ATFuzzer를 제안합니다. 5개 공급업체의 8개 Android 스마트폰을 대상으로 ATFuzzer를 사용한 경험적 평가 결과, 블루투스를 통해 4개의 잘못된 AT 명령어 문법과 USB를 통해 13개의 잘못된 문법이 발견되었으며, 그 영향은 DoS, 셀룰러 프로토콜 버전 다운그레이드에서 심각한 프라이버시 유출에 이릅니다.

ATFuzzer 실행

요구 사항

Python 2.7.15. 라이브러리 호환성 문제로 Python 3을 사용하지 마십시오. 필요한 라이브러리는 requirements.txt 파일에 명시되어 있으며 다음 명령어로 설치할 수 있습니다:

pip install -r requirements.txt

참고: Python 2.7용 pybluez 모듈은 Windows와 호환되지 않습니다. Windows에 pybluez를 설치하려면 이전 버전을 다운로드해야 합니다. pybluez에서 PyBluez‑0.22‑cp27을 다운로드하고 다음 명령어로 설치하십시오:

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 - 블루투스
  • u - USB
  • t - 테스트 실행 (연결된 장치 필요 없음)

블루투스 옵션을 선택하면 프로그램이 대상 장치의 블루투스 주소를 요청합니다. 사용자는 특정 형식(XX:XX:XX:XX:XX:XX, 예: 1A:2B:3C:4D:5E:6F)으로 장치의 블루투스 MAC 주소를 입력할 수 있습니다.

테스트 실행은 가짜 평가 매개변수로 ATFuzzer를 실행하며 장치에 명령어를 제출하지 않습니다. 이 옵션은 테스트 목적으로만 사용되며 실제 스마트폰을 퍼징하는 데 사용하지 마십시오.

참고: Linux에서 블루투스 ATFuzzer를 실행하는 경우 시스템 구성에 따라 sudo로 프로그램을 실행해야 할 수 있습니다.

ATFuzzer 구현 구조

다음에서는 ATFuzzer 구현 구조에 대한 설명을 제공합니다.

commandGrammar.json: 80개 이상의 AT 명령어에 대한 문법 집합을 포함하는 JSON 파일입니다. 문법은 프로그램이 효율적으로 읽을 수 있도록 특정 구조를 따라 정의됩니다.

executeFuzzer.py: 사용자가 ATFuzzer를 실행할 수 있게 해주는 메인 프로그램입니다. 다양한 실행 옵션을 제공합니다 (실행 방법 참조).

grammarFuzzer.py: 실제 퍼징을 구현합니다. 사용자가 제출한 AT 명령어에 대한 문법을 읽고 퍼징 루프(입력 생성 - 입력 제출 - 문법 평가 - 문법 진화)를 수행합니다.

multiGrammarFuzzer.py: 실제 퍼징을 구현합니다. 무작위로 선택된 AT 명령어에 대한 문법을 읽고 퍼징 루프(입력 생성 - 입력 제출 - 문법 평가 - 문법 진화)를 수행합니다.

grammarModifier.py: 진화 단계의 함수를 구현합니다. 이러한 함수에는 문법 교차와 문법 변이가 포함됩니다.

inputGen.py: 입력 문법이 주어지면 무작위 AT 명령어 인스턴스를 생성합니다.

atCmdInterface.py: 대상 장치의 AT 인터페이스와 상호 작용하는 데 필요한 함수를 구현합니다. 장치와의 통신 설정, AT 명령어 인스턴스 제출, 마지막으로 응답 수집 및 평가를 담당합니다.

afl_fuzzer.py: AT 명령어 맥락에서 AFL 퍼저를 실행하는 데 사용되는 함수를 구현합니다.

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

도구 다운로드