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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-0073-Android-ADBD-bypass-POC_zh_CN — CVE-2026-0073-Android-ADBD-bypass-POC중국어판 | Kitploit
도구/GitHubGitHub/ctn-qvo/cve-2026-0073-android-adbd-bypass-poc_zh_cn
Android SecurityVulnerability AnalysisExploitationPenetration TestingLearning & EducationBinary Exploitation
GitHubctn-qvo/cve-2026-0073-android-adbd-bypass-poc_zh_cn

CVE-2026-0073-Android-ADBD-bypass-POC_zh_CN

CVE-2026-0073-Android-ADBD-bypass-POC중국어판

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
321개월 전아직 검토되지 않음

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

EVP_PKEY_cmp() 유형 혼동 → 권한 없는 ADB 셸

Python 3.10+ CVE-2026-0073 Android 许可证


🔥 개요

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)) { // ← BUG: -1 是真值!
已授权 = true;
}

⚡ 빠른 시작

의존성 설치

root@kitploit:~
pip install cryptography

익스플로잇 실행

root@kitploit:~
# 交互式 shell
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(设备信息)──────────│
│──── 打开“shell:” ───────────────►│
│◄─── 好的 ────────────────────────│
│◄──► WRTE/OKAY(shell I/O)──────►│
      │                                    │
【完全 shell 访问权限】

📋 사전 요구 사항

요구 사항상세
개발자 옵션

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


🛡️ 영향을 받는 버전

  • Android 14 (AOSP) — ✅ 취약점 확인됨
  • Android 15 (AOSP) — 취약할 가능성 있음(패치되지 않은 버전)
  • 제조사별 빌드는 다를 수 있습니다(예: 삼성 One UI, Pixel 등).

패치 수준 확인 방법

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

🧪 테스트 환경

다음 기기에서 정상 작동이 확인되었습니다:

root@kitploit:~
内核:6.1.23-android14-4-00257-g7e35917775b8-ab9964412
平台:Android 14(Android Studio 模拟器)

🔧 원본 대비 개선 사항

이 포크에는 다음과 같은 개선 사항이 포함되어 있습니다:

  • ✅ 다중 키 폴백 — 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유형 불일치✅승인됨(BUG)
대상 기기에서 활성화되어 있어야 함
무선 디버깅활성화됨(또는 TCP 포트 5555에서 ADB 사용)
저장된 RSA 키기기가 USB를 통해 최소 한 번 페어링되어야 함(/data/misc/adb/adb_keys)
네트워크 접근공격자가 adbd TCP 포트에 접근할 수 있어야 함