Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-0073-Android-ADBD-bypass-POC — CVE-2026-0073 — EVP_PKEY_cmp 유형 혼동을 통한 Android ADB 데몬(adbd) TLS 인증 우회. EC/Ed25519 키 불일치를 이용해 WiFi를 통해 무단 셸 액세스 권한 획득. Android 14+용 PoC 익스플로잇. | Kitploit
도구/GitHubGitHub/xqi1337/cve-2026-0073-android-adbd-bypass-poc
Android SecurityExploitationWeb Application ExploitationCryptographyPenetration TestingMobile SecurityAuthentication
GitHubxqi1337/cve-2026-0073-android-adbd-bypass-poc

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-0073-Android-ADBD-bypass-POC

CVE-2026-0073 — EVP_PKEY_cmp 유형 혼동을 통한 Android ADB 데몬(adbd) TLS 인증 우회. EC/Ed25519 키 불일치를 이용해 WiFi를 통해 무단 셸 액세스 권한 획득. Android 14+용 PoC 익스플로잇.

저장소 보기
5개월 전아직 검토되지 않음

CVE-2026-0073 — Android ADBD TLS 인증 우회

EVP_PKEY_cmp() 타입 혼동 → 무단 ADB 셸

Python 3.10+ CVE-2026-0073 Android License


🔥 개요

Android의 ADB 데몬(adbd)에 존재하는 치명적인 인증 우회 취약점으로 인해, 로컬 네트워크상의 공격자는 사용자 승인 없이 대상 기기에서 전체 셸을 획득할 수 있습니다.

이 취약점은 daemon/auth.cpp 내의 adbd_tls_verify_cert()에 존재하며, 여기서 EVP_PKEY_cmp()가 불리언으로 사용됩니다. 저장된 키가 RSA이고 제시된 TLS 클라이언트 인증서가 비RSA 키(EC P-256 또는 Ed25519)를 포함하는 경우, EVP_PKEY_cmp()는 -1(타입 불일치)을 반환하며, 이는 C/C++에서 참(truthy) 으로 평가되어 authorized = true가 됩니다.

// Vulnerable code pattern in daemon/auth.cpp
if (EVP_PKEY_cmp(peer_key, stored_key)) {  // ← BUG: -1 is truthy!
    authorized = true;
}
EVP_PKEY_cmp() 반환값의미C에서 참인가?결과
1키 일치✅승인됨 (정상)
0키 불일치❌거부됨 (정상)
-1타입 불일치✅승인됨 (버그)

⚡ 빠른 시작

의존성 설치

pip install cryptography

익스플로잇 실행

# Interactive shell
python adb_tls_auth_bypass.py <TARGET_IP> <PORT>

# Single command execution
python adb_tls_auth_bypass.py 192.168.1.42 37521 --cmd "id"

# Verbose mode (see full protocol trace)
python adb_tls_auth_bypass.py 192.168.1.42 37521 -v --cmd "id"

특정 키 유형 강제하기

python adb_tls_auth_bypass.py 192.168.1.42 5555 --key-type ec
python adb_tls_auth_bypass.py 192.168.1.42 5555 --key-type ed25519

기본적으로 스크립트는 성공할 때까지 EC P-256 → Ed25519 → EC/TLS 1.2 순서로 자동 시도합니다.


🎯 익스플로잇 흐름

   Attacker                          Target (adbd)
      │                                    │
      │──── TCP connect ──────────────────►│
      │──── CNXN (cleartext) ────────────►│
      │◄─── STLS (TLS upgrade request) ──│
      │──── STLS reply ──────────────────►│
      │                                    │
      │════ TLS 1.3 Handshake ════════════│
      │  (EC P-256 client cert presented)  │
      │  EVP_PKEY_cmp(EC, RSA) → -1       │
      │  -1 is truthy → authorized=true   │
      │════════════════════════════════════│
      │                                    │
      │◄─── CNXN (device info) ──────────│
      │──── OPEN "shell:" ───────────────►│
      │◄─── OKAY ────────────────────────│
      │◄──► WRTE/OKAY (shell I/O) ──────►│
      │                                    │
    [FULL SHELL ACCESS]                    │

📋 사전 요구 사항

요구 사항세부 정보
개발자 옵션대상 기기에서 활성화됨
무선 디버깅활성화됨 (또는 포트 5555에서 TCP를 통한 ADB)
저장된 RSA 키기기가 최소 한 번 이상 USB 페어링된 적이 있어야 함 (/data/misc/adb/adb_keys)
네트워크 접근공격자가 adbd TCP 포트에 도달할 수 있어야 함

⚠️ 중요: RSA 키는 USB 디버깅 페어링("USB 디버깅을 허용하시겠습니까?" 대화상자 수락)을 통해 채워지는 /data/misc/adb/adb_keys에 있어야 합니다. 무선 디버깅 페어링(adb pair)은 키를 다른 위치(adb_known_hosts.pb)에 저장하며 이 요구 사항을 충족하지 않습니다.


🛡️ 영향을 받는 버전

  • Android 14 (AOSP) — ✅ 취약점 확인됨
  • Android 15 (AOSP) — 취약할 가능성 있음 (패치되지 않은 빌드)
  • 벤더별 빌드는 다를 수 있음 (Samsung One UI, Pixel 등)

패치 수준 확인 방법

adb shell getprop ro.build.version.security_patch

🧪 테스트 환경

다음 환경에서 테스트하여 정상 동작을 확인했습니다:

Kernel:   6.1.23-android14-4-00257-g7e35917775b8-ab9964412
Platform: Android 14 (Android Studio Emulator)

🔧 원본 대비 개선 사항

이 포크에는 여러 가지 개선 사항이 포함되어 있습니다:

  • ✅ 다중 키 폴백 — EC P-256 → Ed25519 → EC/TLS 1.2를 자동으로 시도
  • ✅ Ed25519 지원 — 더 넓은 호환성을 위한 대체 키 유형
  • ✅ TLS 1.2 폴백 — 다른 클라이언트 인증서 흐름 (핸드셰이크 중 전송 vs 핸드셰이크 후 전송)
  • ✅ 향상된 인증서 — 적절한 X.509 확장 (BasicConstraints, KeyUsage)
  • ✅ Windows 호환 — 크로스 플랫폼 지원을 위해 select() 대신 스레드 기반 I/O 사용
  • ✅ 타임아웃 증가 — 느린 네트워크에서 더 나은 안정성
  • ✅ 상세 진단 — -v 플래그를 통한 상세 프로토콜 추적

📁 프로젝트 구조

CVE-2026-0073-Android-ADBD-bypass-POC/
├── adb_tls_auth_bypass.py    # Main exploit script
└── README.md                 # This file

⚠️ 면책 조항

이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 테스트 전에 항상 적절한 승인을 받으십시오. 저자는 이 소프트웨어의 오용에 대해 어떠한 책임도 지지 않습니다.


📚 참고 자료

  • CVE-2026-0073 — MITRE
  • Android 보안 게시판
  • OpenSSL EVP_PKEY_cmp 문서
  • ADB 프로토콜 참조

이 내용이 연구에 도움이 되었다면 ⭐를 눌러주세요

도구 다운로드