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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
android-kernel-exploitation-lab — 이 랩은 CVE-2019-2215, binder 서브시스템의 중대한 Android 커널 취약점을 탐색하기 위한 환경 설정을 안내합니다. | Kitploit
도구/GitHubGitHub/0xbinder/android-kernel-exploitation-lab
Android SecurityPrivilege EscalationVulnerability AnalysisExploitationDebuggersFuzzingLearning & EducationBinary ExploitationLabs & Practice

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub0xbinder/android-kernel-exploitation-lab

android-kernel-exploitation-lab

이 랩은 CVE-2019-2215, binder 서브시스템의 중대한 Android 커널 취약점을 탐색하기 위한 환경 설정을 안내합니다.

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

Android 커널 익스플로잇 실습

이 실습은 binder 서브시스템의 중요한 Android 커널 취약점인 CVE-2019-2215를 탐색할 수 있는 환경을 설정하는 과정을 안내합니다.

문서

  • 환경 설정
  • gdb 스크립트를 사용한 커널 권한 상승
  • syzkaller를 사용한 퍼징
  • AFL++를 사용한 퍼징

기술 세부 사항: CVE-2019-2215

이 취약점은 Android binder 드라이버의 use-after-free로, 다음과 같은 특징이 있습니다:

  1. 근본 원인: binder fd가 epoll 인스턴스에 추가된 후 스레드가 종료되면 binder_thread 객체가 해제되었음에도 epoll을 통해 계속 접근 가능한 상태가 됩니다.

  2. 익스플로잇 경로:

    • binder 파일 디스크립터를 epoll 인스턴스에 추가
    • binder_thread를 해제하는 BINDER_THREAD_EXIT ioctl 호출
    • epoll을 통해 해제된 binder_thread에 접근
    • 이는 권한 상승에 악용될 수 있는 use-after-free 조건을 초래합니다.
  3. 영향: 이 취약점은 Android 8.x, 9.0 및 초기 10 버전에 영향을 미치며, 로컬 권한 상승을 통해 root 권한을 얻을 가능성이 있습니다.

  4. 추가 자료:

    • Project Zero의 원본 보고서
    • Android 커널 패치

할 일

이 실습은 진행 중인 작업입니다. 다음은 계획된 개선 사항입니다:

단기 개선 사항

  • Android 특정 syscall을 올바르게 대상으로 하도록 Syzkaller 구성 수정
  • 다음 Syzkaller 문제 수정
root@kitploit:~
[    3.030651] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2868278d270, max_idle_ns: 440795290098 ns
[    4.040338] clocksource: Switched to clocksource tsc
2025/03/24 21:04:23 running ssh: []string{"-p", "13199", "-F", "/dev/null", "-o", "UserKnownHostsFile=/dev/null", "-o", "IdentitiesOnly=yes", "-o", "BatchMode=yes", "-o", "StrictHostKeyChecking=no", "-o", "ConnectTimeout=10", "-i", "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa", "-v", "root@localhost", "pwd"}
2025/03/24 21:04:33 ssh failed: failed to run ["ssh" "-p" "13199" "-F" "/dev/null" "-o" "UserKnownHostsFile=/dev/null" "-o" "IdentitiesOnly=yes" "-o" "BatchMode=yes" "-o" "StrictHostKeyChecking=no" "-o" "ConnectTimeout=10" "-i" "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa" "-v" "root@localhost" "pwd"]: exit status 255
OpenSSH_9.9p2, OpenSSL 3.4.1 11 Feb 2025
debug1: Reading configuration data /dev/null
debug1: Connecting to localhost [::1] port 13199.
debug1: connect to address ::1 port 13199: Connection refused
debug1: Connecting to localhost [127.0.0.1] port 13199.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa type 0
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.9
Connection timed out during banner exchange
Connection to 127.0.0.1 port 13199 timed out
  • 크래시 보고서 분석을 위한 상세 지침 추가
  • CVE-2019-2215용 간단한 익스플로잇 템플릿 포함
  • QEMU VM 부팅 호환성을 위한 적절한 커널 구성 설정 문서화

향후 개선 사항

  • 다른 Android 커널 취약점 지원 추가
  • 쉬운 설정을 위한 Docker 컨테이너 생성
  • GDB 예제를 포함한 더 포괄적인 디버깅 가이드 추가
  • 전체 권한 상승 익스플로잇 개발을 위한 단계별 가이드 구현
  • x86_64 외에 ARM64 아키텍처 지원

알려진 문제

root@kitploit:~
[    3.030651] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2868278d270, max_idle_ns: 440795290098 ns
[    4.040338] clocksource: Switched to clocksource tsc
2025/03/24 21:04:23 running ssh: []string{"-p", "13199", "-F", "/dev/null", "-o", "UserKnownHostsFile=/dev/null", "-o", "IdentitiesOnly=yes", "-o", "BatchMode=yes", "-o", "StrictHostKeyChecking=no", "-o", "ConnectTimeout=10", "-i", "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa", "-v", "root@localhost", "pwd"}
2025/03/24 21:04:33 ssh failed: failed to run ["ssh" "-p" "13199" "-F" "/dev/null" "-o" "UserKnownHostsFile=/dev/null" "-o" "IdentitiesOnly=yes" "-o" "BatchMode=yes" "-o" "StrictHostKeyChecking=no" "-o" "ConnectTimeout=10" "-i" "/home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa" "-v" "root@localhost" "pwd"]: exit status 255
OpenSSH_9.9p2, OpenSSL 3.4.1 11 Feb 2025
debug1: Reading configuration data /dev/null
debug1: Connecting to localhost [::1] port 13199.
debug1: connect to address ::1 port 13199: Connection refused
debug1: Connecting to localhost [127.0.0.1] port 13199.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa type 0
debug1: identity file /home/0xbinder/android-kernel-exploitation-lab/bullseye.id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.9
Connection timed out during banner exchange
Connection to 127.0.0.1 port 13199 timed out

커뮤니티 기여

이 프로젝트에 기여하고 싶다면 위 항목 중 하나를 해결하거나 풀 리퀘스트를 통해 자신의 아이디어를 제출해 주세요.

도움 요청

특히 다음 분야에서 도움을 구하고 있습니다:

  1. 알려진 문제 수정
  2. Android 커널과의 호환성 향상을 위한 QEMU 구성 개선
  3. 다양한 Linux 배포판에서 작동하는 신뢰할 수 있는 퍼징 설정 생성

이 분야에 전문 지식이 있다면 여러분의 기여를 매우 환영합니다!

도구 다운로드