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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
BootStomp — BootStomp: 부트로더 취약점 탐색기 | Kitploit
도구/GitHubGitHub/ucsb-seclab/bootstomp
Android SecurityVulnerability AnalysisExploitationFuzzingBinary AnalysisFirmware Analysis
GitHubucsb-seclab/bootstomp

BootStomp

BootStomp: 부트로더 취약점 탐색기

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

BootStomp

License

BootStomp은 부트로더 버그 탐색기입니다. 메모리 손상(memory corruption)과 상태 저장(state storage) 취약점이라는 두 가지 유형의 버그를 찾습니다. 자세한 내용은 https://seclab.cs.ucsb.edu/academic/publishing/#bootstomp-security-bootloaders-mobile-devices-2017 에서 BootStomp 논문을 참조하십시오.

BootStomp의 분석을 실행하려면 다음 지침을 읽으십시오. BootStomp는 ARM 아키텍처(32비트 및 64비트 모두)용으로 컴파일된 부트로더에서 작동하며, angr 및 Z3 버전에 따라 결과가 약간 달라질 수 있습니다. 이는 angr이 기본 블록을 분석하는 시간과 Z3의 표현식 구체화 결과에 기인합니다.


디렉터리 구조

  • analysis: 다양한 기기의 부트 이미지에 대한 분석 결과(예: IDA idb 등)를 포함합니다.
  • tools: 다양한 이미지를 작업하는 데 사용할 수 있는 도구를 포함합니다.

사전 요구 사항

  • angr (http://angr.io/)

$ pip install angr

  • IDA PRO (https://www.hex-rays.com/products/ida/)
  • IDA Decompiler (https://www.hex-rays.com/products/decompiler/)

실행 방법

Docker를 사용하여 BootStomp 실행하기

BootStomp를 사용하는 가장 쉬운 방법은 Docker 컨테이너에서 실행하는 것입니다. docker 폴더에는 적절한 Dockerfile이 포함되어 있습니다. 다음은 사용 명령어입니다.

root@kitploit:~
cd docker
# build the docker image
docker build -t bootstomp .
# run the docker image (if you need, use proper options to have persistent changes or shared files)
docker run -it bootstomp

# now you are inside a docker container
cd BootStomp
# run BootStomp's taint analysis on one of the examples
# this will take about 30 minutes
python taint_analysis/bootloadertaint.py config/config.huawei
# the last line of the output will be something like:
# INFO    | 2017-10-14 01:54:10,617 | _CoreTaint | Results in /tmp/BootloaderTaint_fastboot.img_.out

# you can then "pretty print" the results using:
python taint_analysis/result_pretty_print.py /tmp/BootloaderTaint_fastboot.img_.out

출력은 다음과 비슷합니다:

root@kitploit:~
...
17)
===================== Start Info path =====================
Dereference address at: 0x5319cL
Reason: at location 0x5319cL a tainted variable is dereferenced and used as address.
...
Tainted Path 
----------------
0x52f3cL -> 0x52f78L -> 0x52f8cL -> 0x52fb8L -> 0x52fc8L -> 0x52fecL -> 0x53000L -> 0x53014L -> 0x5301cL -> 0x53030L -> 0x53044L -> 0x53050L -> 0x5305cL -> 0x53068L
===================== End Info path =====================
# Total sinks related alerts: 5
# Total loop related alerts: 8
# Total dereference related alerts: 4

수동으로 BootStomp 실행하기

오염 소스 및 싱크의 자동 탐지

  1. IDA(v6.95 사용)에 부트로더 바이너리를 로드합니다. 폰의 CPU 아키텍처(32비트 또는 64비트)에 따라 적절한 IDA 버전이 필요합니다.
  2. 메뉴 모음에서 File => Script file => find_taint.py 를 실행합니다.
  3. 출력은 부트로더와 동일한 디렉터리에 taint_source_sink.txt 파일로 저장됩니다.

설정 파일

부트로더 바이너리에 대한 JSON 설정 파일을 생성합니다(예제는 config/ 디렉터리 참조). 각 필드는 다음과 같습니다:

  • bootloader: 부트로더 파일 경로
  • info_path: 부트로더 소스/싱크 정보 파일 경로 (예: taint_source_sink.txt)
  • arch: 아키텍처 비트 수 (옵션: 32 또는 64)
  • enable_thumb: 분석 중 Thumb 모드 사용 여부 (필요 시)
  • start_with_thumb: Thumb 모드 활성화 상태로 분석 시작
  • exit_on_dec_error: 일부 명령어를 디코딩할 수 없을 경우 분석 중단
  • unlock_addr: 잠금 해제 함수 주소. 안전하지 않은 상태 저장 취약점을 찾을 때만 필요합니다.

메모리 손상 취약점 찾기

다음 명령어를 실행합니다:

python bootloadertaint.py config-file-path

결과는 /tmp/BootloaderTaint_[boot-loader].out에 저장됩니다. 여기서 [boot-loader]는 분석된 부트로더의 이름입니다. 루프를 포함하는 경로는 여러 번 나타날 수 있습니다.

안전하지 않은 상태 저장 취약점 찾기

다음 명령어를 실행합니다:

python unlock_checker.py config-file-path

결과는 /tmp/UnlockChecker_[boot-loader].out에 저장됩니다. 여기서 [boot-loader]는 분석된 부트로더의 이름입니다. 루프를 포함하는 경로는 여러 번 나타날 수 있습니다.

결과 확인

BootStomp 결과를 확인하려면 다음과 같이 result_pretty_print.py 스크립트를 사용합니다:

python result_pretty_print.py results_file

CVE-2017-2729 익스플로잇

기타 참고 자료

  • Kernel and lk source for MediaTek MT65x2
  • MediaTek details: Partitions and Preloader
  • Reverse Engineering Android's Aboot
  • (L)ittle (K)ernel based Android bootloader
  • Little Kernel Boot Loader Overview by Qualcomm
  • android: arm: bootloader: how (L)ittle (K)ernel loads boot.img
  • BootUnlocker for Nexus Devices
  • Verifying Boot
  • Freeing my tablet (Android hacking, SW and HW)
  • How to lock the samsung download mode using an undocumented feature of aboot
  • BIOS and Secure Boot Attacks Uncovered
  • Apple IOS Security
  • Debugging HTC phone boot-laoders
  • Debugger for HBOOT
  • Analysing HBOOT
도구 다운로드