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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
badspin — Bad Spin: Android Binder 권한 상승 익스플로잇 (CVE-2022-20421) | Kitploit
도구/GitHubGitHub/0xkol/badspin
Android SecurityPrivilege EscalationVulnerability AnalysisExploitationBinary Exploitation
GitHub0xkol/badspin

badspin

Bad Spin: Android Binder 권한 상승 익스플로잇 (CVE-2022-20421)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Bad Spin: Android Binder LPE

Author: Moshe Kol

권한 상승 익스플로잇으로, unstrusted_app에서 Android Binder 취약점(CVE-2022-20421)을 대상으로 합니다. 이 취약점은 2022년 10월 Android 보안 게시판에서 패치되었습니다. 이 익스플로잇은 커널 버전 5.4.x 및 5.10.x를 실행하는 기기에서 작동하며, 완전한 커널 R/W 프리미티브를 달성합니다. Google Pixel 6의 경우 완전한 루트 권한 및 SELinux 우회도 획득합니다.

전체 작성 글은 여기에서 확인할 수 있습니다.

쉘에서 실행

  1. src/ 디렉토리에서 make push를 입력하여 libbadspin.so 라이브러리를 컴파일합니다. 그러면 라이브러리가 /data/local/tmp로 푸시됩니다.
  2. adb shell을 실행합니다.
  3. LD_PRELOAD=/data/local/tmp/libbadspin.so sleep 1을 실행합니다. 그러면 라이브러리가 로드되고 익스플로잇이 시작됩니다.

데모 앱에서 실행

  1. src/ 디렉토리에서 make push를 입력하여 libbadspin.so를 컴파일합니다. 이렇게 하면 데모 Android 앱의 assets 디렉토리로 라이브러리가 복사됩니다.
  2. app/ 디렉토리에서 데모 Android 앱을 컴파일합니다. (이 작업에는 Android Studio가 필요할 수 있습니다.)
  3. 앱을 실행하고 'Exploit' 버튼을 클릭합니다.
  4. 다음 명령으로 로그를 확인합니다: adb logcat -s BADSPIN

컴파일 옵션

다음 변수를 make에 전달할 수 있습니다:

  • VERBOSE=1 자세한 출력을 위해
  • TEST_VULN=1 취약점만 테스트하고 익스플로잇을 진행하지 않으려면

테스트된 기기

root@kitploit:~
$ make list
0: Samsung Galaxy S22, Android 12 (6/2022), kernel 5.10.81
1: Samsung Galaxy S21 Ultra, Android 12 (3/2022), kernel 5.4.129
2: Google Pixel 6, Android 12 (5/2022), kernel 5.10.66
3: Google Pixel 6, Android 13 (9/2022), kernel 5.10.107

새 기기 지원

익스플로잇을 새 기기에 맞게 적용하는 것은 어렵지 않습니다.

  1. 새 기기가 커널 버전 5.4.x 또는 5.10.x에서 실행 중이고, Android 보안 패치 수준이 2022년 10월 이전인지 확인하세요.

  2. 기기 속성을 dev_config.h에 추가하세요.

  3. 두 개의 함수 포인터를 지정하세요:

    • kimg_to_lm(): 커널 이미지 가상 포인터를 선형 매핑으로 변환합니다.
    • find_kbase(): 유출된 anon_pipe_buf_ops 포인터에서 커널 베이스 주소를 찾습니다.

    이 목적으로 이미 제공된 함수를 사용할 수 있습니다. (제조사가 삼성이 아니고 확실하지 않은 경우 Pixel 6에 사용된 것과 동일한 함수를 사용하세요.)

  4. 컴파일하고 실행하세요.

작동한다면 풀 리퀘스트를 제출해 주세요.

알려진 문제

  • 실패한 시도에서 전화기가 충돌할 수 있습니다.
  • 부팅 후 처음 몇 분 동안 익스플로잇이 불안정합니다.
  • 커널 버전 5.4.x 및 5.10.x에서만 작동합니다.
  • Pixel 이외의 기기에서만 커널 R/W를 달성합니다.
도구 다운로드