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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-0073 — Weaponized proof-of-concept for CVE-2026-0073, an Android adbd authentication bypass enabling zero-click remote root access via Wireless ADB, with post-exploitation modules for profiling, extraction, and persistence. | Kitploit
도구/GitHubGitHub/devtint/cve-2026-0073
Android SecurityVulnerability AnalysisExploitationPost-ExploitationPenetration TestingMobile SecurityRed TeamingPayload Development
GitHubdevtint/cve-2026-0073

CVE-2026-0073

Weaponized proof-of-concept for CVE-2026-0073, an Android adbd authentication bypass enabling zero-click remote root access via Wireless ADB, with post-exploitation modules for profiling, extraction, and persistence.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🔓 CVE-2026-0073: Android adbd 인증 우회

무선 ADB TLS 인증 우회 취약점에 대한 무기화된 개념 증명(PoC). Barghest가 발견, devtint가 무기화 PoC 제작.

CVSS Score Android Version Interaction

📋 개요

CVE-2026-0073은 Android Debug Bridge 데몬(adbd)의 치명적인 암호화 로직 오류로, 동일한 로컬 네트워크에 있는 인증되지 않은 공격자에게 제로클릭 원격 루트 액세스를 부여합니다.

이 저장소에는 다음이 포함되어 있습니다:

  • adb_tls_auth_bypass.py — STLS/TLS 인증 우회를 위한 깔끔한 독립형 PoC.
  • main.py — 자동 프로파일링, 아티팩트 추출, 지속성 주입을 갖춘 최대화된 익스플로잇 프레임워크.

암호화 결함

이 취약점은 daemon/auth.cpp 내부의 adbd_tls_verify_cert() 함수에 존재합니다. 클라이언트가 무선 ADB(STLS 경로) 를 통해 연결하면 상호 TLS 1.3 핸드셰이크가 발생합니다. 기기는 OpenSSL의 EVP_PKEY_cmp()를 사용하여 클라이언트의 공개 키를 저장된 인증 키와 비교합니다.

root@kitploit:~
// daemon/auth.cpp — 취약한 로직
if (EVP_PKEY_cmp(stored_key, client_key)) {
    // EVP_PKEY_cmp 반환값:
    //   1  = 키 일치
    //   0  = 키 불일치
    //  -1  = 유형 불일치 (RSA vs EC)  ← 버그: C++에서 truthy
    authorized = true;
}
  • 저장된 키가 RSA이고 클라이언트가 EC P-256 키를 제시하면 EVP_PKEY_cmp()는 -1(유형 불일치)을 반환합니다.
  • C/C++에서 -1은 true로 평가됩니다.
  • adbd 로직은 이 -1을 완벽한 일치로 해석합니다.
  • 기기는 화면을 켜거나 피해자에게 프롬프트를 표시하지 않고 조용히 루트 셸을 부여합니다.

⚠️ 중요: STLS vs AUTH — 포트 요구 사항

이 익스플로잇은 무선 디버깅 STLS 경로에서만 작동하며, 레거시 adb tcpip 경로에서는 작동하지 않습니다.

연결 모드포트프로토콜취약 여부

올바른 포트 식별 방법

  1. 대상 기기에서: 설정 → 개발자 옵션 → 무선 디버깅 → 켜기
  2. 해당 화면에 IP 주소와 무작위 포트가 표시됩니다 (예: 192.168.1.34:38741)
  3. 이 포트는 무선 디버깅을 토글하거나 기기가 Wi-Fi에 다시 연결될 때마다 변경됩니다

오류: "Device responded with AUTH instead of STLS"

이는 레거시 ADB TCP 포트(일반적으로 5555)에 연결하고 있음을 의미합니다. 레거시 경로는 이전 RSA AUTH 핸드셰이크를 사용합니다 — 이는 adbd에서 완전히 다른 코드 경로이며 이 CVE의 영향을 받지 않습니다. 대신 무선 디버깅 포트에 연결해야 합니다.


⚡ 최대화된 기능

프레임워크(main.py)는 핵심 TLS 우회를 모듈식 사후 익스플로잇 툴킷으로 확장합니다:

  • 💻 대화형 셸: 안정적이고 지속적인 uid=0(root) 의사 터미널로 직접 진입합니다.
  • 🔍 자동 프로파일링 (--profile): 대상 OS, 보안 패치 수준, SELinux 적용 상태, 내부 네트워크 피벗을 위한 활성 라우팅 테이블을 즉시 식별합니다.
  • 📂 아티팩트 추출 (--extract): 고도로 민감한 시스템 파일(예: /data/misc/adb/adb_keys, /system/build.prop)을 우회 소켓을 통해 자동으로 유출합니다.
  • 🔑 은밀한 지속성 (--persist): 대상의 인증 키 파일에 악성 RSA 공개 키를 주입합니다. 주입 후 공격자는 CVE가 나중에 패치되더라도 영구적이고 완전히 인증된 액세스를 유지합니다.

🏃 사용법

  1. 의존성 설치:

    root@kitploit:~
    pip install cryptography
    
  2. 대상 찾기: 로컬 서브넷에서 무선 디버깅이 활성화된 Android 기기를 찾습니다. 기기의 개발자 옵션 화면에서 동적 포트를 확인합니다.

  3. 익스플로잇 프레임워크 실행:

    root@kitploit:~
    # 대화형 셸 (기본값)
    python main.py <IP> <PORT>
    
    # 단일 명령 실행
    python main.py <IP> <PORT> --cmd "id"
    
    # 자동 시스템 프로파일링
    python main.py <IP> <PORT> --profile
    
    # 은밀한 아티팩트 추출
    python main.py <IP> <PORT> --extract
    
    # 영구 백도어 키 주입
    python main.py <IP> <PORT> --persist
    
  4. 독립형 PoC (최소):

    root@kitploit:~
    python adb_tls_auth_bypass.py <IP> <PORT> --cmd "id; whoami"
    

🔧 문제 해결


🛡️ 완화 조치

  • 패치: 2026년 5월 Android 보안 게시판(2026-05-01 이상)으로 업데이트.
  • 서비스 비활성화: 애플리케이션을 적극적으로 프로파일링하지 않을 때는 무선 디버깅을 꺼두세요.
  • 키 교체: 개발자 옵션에서 "USB 디버깅 인증 취소"를 주기적으로 실행하여 기기 키 저장소에서 레거시 RSA 키를 제거하세요.

⚖️ 법적 고지

이 저장소는 교육, 레드 팀 운영, 그리고 승인된 보안 테스트 목적으로만 엄격히 제공됩니다. 컴퓨터 시스템에 대한 무단 액세스는 불법입니다. 저자는 이 정보의 오용에 대해 어떠한 책임도 지지 않습니다.

도구 다운로드
adb tcpip 5555 (레거시)5555 (고정)AUTH (RSA 챌린지)❌ 아니요
무선 디버깅 (Android 11+)무작위 (30000–50000)STLS → TLS 1.3✅ 예
오류원인해결 방법
Connection refused포트가 닫혀 있음 / 무선 디버깅이 꺼져 있음무선 디버깅을 켜고 올바른 동적 포트 사용
AUTH instead of STLS레거시 ADB TCP(포트 5555)에 연결됨5555가 아닌 무선 디버깅 포트 사용
SSLV3_ALERT_CERTIFICATE_UNKNOWN기기가 패치됨 (2026년 5월 이상)대상이 취약하지 않음 — 수정이 적용됨
timed out포트는 열려 있지만 올바르게 응답하지 않음포트 확인, 기기에서 무선 디버깅 다시 시작