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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2017-13253 — CVE-2017-13253용 PoC 코드 | Kitploit
도구/GitHubGitHub/tamirzb/cve-2017-13253
Android SecurityMemory ForensicsVulnerability AnalysisExploitationPayload DevelopmentBinary Exploitation
GitHubtamirzb/cve-2017-13253

CVE-2017-13253

CVE-2017-13253용 PoC 코드

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2017-13253

CVE-2017-13253에 대한 PoC 코드.

전체 글은 여기에서 확인할 수 있습니다. 참고로 숫자는 블로그 게시물과 약간 다릅니다. 왜냐하면 0x2000 크기의 힙으로 충돌 가능성이 더 높다는 것을 발견했기 때문입니다 (물론 충분히 여러 번 실행하면 결국 충돌할 것입니다).

질문/문제/의견이 있으면 트위터(@tamir_zb)로 연락 주세요.

빌드

이를 빌드하려면:

  1. Android 소스 코드 다운로드.
  2. 이 저장소를 AOSP/external에 넣습니다.
  3. 다음 명령을 실행합니다:
root@kitploit:~
    cd AOSP
    source build/envsetup.sh
    make icrypto_overflow

결과

패치되지 않은 Android 버전(2018년 3월 이전의 8.0-8.1)에서 실행하면 오버플로우가 발생합니다. 덮어쓴 데이터가 쓰기 가능한지 여부에 따라 충돌이 발생할 수 있습니다.

코드는 decrypt 메서드의 출력을 출력하며, 이는 다양할 수 있습니다:

  • 패치된 Android 버전(2018년 3월 이후)에서 실행되는 경우, decrypt는 BAD_VALUE(-22)를 반환해야 합니다.
  • 충돌이 발생하지 않는 경우(덮어쓴 데이터가 쓰기 가능한 경우), decrypt는 복사한 데이터의 양을 반환해야 합니다.
  • 공급업체가 HAL을 별도의 프로세스로 구현하는 경우(예: Pixel 2), decrypt는 UNKNOWN_ERROR(-32)를 반환해야 합니다.
  • 공급업체가 HAL을 동일한 프로세스에서 구현하는 경우(예: Nexus 5X), decrypt는 0을 반환해야 합니다.

다음은 이 PoC를 실행한 결과로 발생한 부분적인 충돌 덤프입니다:

root@kitploit:~
Build fingerprint: 'google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys'
Revision: 'MP1'
ABI: 'arm'
pid: 761, tid: 5232, name: HwBinder:761_1  >>> /vendor/bin/hw/[email protected] <<<
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xee20f000
    r0 ee20f000  r1 ee20d021  r2 00001eff  r3 00000001
    r4 00000001  r5 00000000  r6 ed117008  r7 00000000
    r8 00000000  r9 fffff82a  sl ee20d000  fp ee20efff
    ip 08000000  sp ed2893c8  lr ed369e6b  pc edda7f0c  cpsr 20070010

backtrace:
    #00 pc 00018f0c  /system/lib/libc.so (__memcpy_base+244)
    #01 pc 00004e67  /vendor/lib/mediadrm/libdrmclearkeyplugin.so (clearkeydrm::CryptoPlugin::decrypt(bool, unsigned char const*, unsigned char const*, android::CryptoPlugin::Mode, android::CryptoPlugin::Pattern const&, void const*, android::CryptoPlugin::SubSample const*, unsigned int, void*, android::AString*)+82)
    ...

memory map (205 entries):
(fault address prefixed with --->)
    ...
    ee20d000-ee20efff rw-         0      2000  /dev/ashmem/MemoryHeapBase (deleted)
--->ee20f000-ee20ffff ---         0      1000  [anon:thread signal stack guard page]
    ...

보시다시피, 오류 주소는 공유 메모리 바로 다음의 메모리입니다. 이 메모리는 쓰기 보호되어 있기 때문에 오버플로우로 인해 세그멘테이션 오류가 발생했습니다.

도구 다운로드