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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-47917 — CVE-2025-47917에 대한 PoC 익스플로잇: mbedTLS의 Use-After-Free로 인한 원격 코드 실행. | Kitploit
도구/GitHubGitHub/bytereaper77/cve-2025-47917
Vulnerability AnalysisExploitationShellcodePenetration TestingPayload DevelopmentBinary Exploitation
GitHubbytereaper77/cve-2025-47917

CVE-2025-47917

CVE-2025-47917에 대한 PoC 익스플로잇: mbedTLS의 Use-After-Free로 인한 원격 코드 실행.

저장소 보기
131년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-47917 Exploit (mbedTLS의 Use-After-Free)

저자 : Byte Reaper

텔레그램 : @ByteReaper0

CVE : CVE-2025-47917

취약점 : mbedTLS 3.6.4 이름 구문 분석의 Use-After-Free (UAF)


설명

이 저장소는 mbedTLS 라이브러리의 mbedtls_x509_string_to_names() 이름 구문 분석 함수에서 발생하는 Use-After-Free 취약점을 대상으로 한 익스플로잇을 포함합니다. 성공적인 익스플로잇은 해제된 힙 메타데이터를 가로채고 제어 흐름을 주입된 셸코드로 리디렉션하여 루트 권한으로 임의 코드 실행을 가능하게 합니다.


사전 요구 사항

  1. 운영 체제: Linux (Kali Linux에서 테스트 완료)

  2. root 권한: ASLR 비활성화 및 주입된 셸코드 실행에 필요

  3. mbedTLS 개발 라이브러리 (mbedTLS < 3.6.4):

    root@kitploit:~
    sudo apt update
    sudo apt install -y libmbedtls-dev
    
  4. 빌드 도구: gcc, make (선택 사항)


컴파일

설치 환경에 맞게 include/library 경로를 조정하세요:

root@kitploit:~
gcc /path/to/exploit.c \
    -I/usr/local/include \
    -L/usr/local/lib \
    -lmbedtls -lmbedx509 -lmbedcrypto \
    -Wl,-rpath,/usr/local/lib \
    -o exploit_UAF

사용법

  1. ASLR 비활성화 (주소 공간 배치 난수화):

    root@kitploit:~
    echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
    
  2. 리버스 셸 수신기 준비 (공격자 머신, 포트 4454):

    root@kitploit:~
    nc -lvnp 4454
    
  3. root 권한으로 익스플로잇 실행:

    root@kitploit:~
    sudo ./exploit_UAF
    

익스플로잇 워크플로우

  1. ASLR 확인: checkAslr()가 /proc/sys/kernel/randomize_va_space를 읽어 ASLR이 비활성화되었는지 확인합니다. 활성화된 경우 종료합니다.
  2. 첫 번째 mbedtls_x509_string_to_names() 호출: 빈 이름-데이터 목록을 초기화합니다.
  3. 힙 스프레이: paddingChunk()가 많은 가짜 이름-데이터 구조체를 할당하여 자유 목록 항목을 셸코드를 가리키는 제어된 내용으로 채웁니다.
  4. 두 번째 mbedtls_x509_string_to_names() 호출: Use-After-Free 조건을 트리거하여 가짜 메타데이터가 포함된 해제된 청크를 재사용합니다.
  5. 셸코드 주입: 셸코드가 mmap()을 통해 RWX로 매핑되고, 복사된 후 손상된 named_data->val.p 포인터를 통해 실행됩니다.

리버스 셸 셸코드

  • 대상 IP: 192.168.92.187
  • 대상 포트: 4454

셸코드는 socket + connect + dup2 시퀀스를 수행한 후 execve("/bin/sh")를 실행합니다.


윤리적 및 법적 고지 사항

  • 이 코드는 승인된 보안 연구 및 교육 목적으로만 제공됩니다.
  • 명시적 허가 없이 시스템에 무단 사용하는 것은 불법이며 비윤리적입니다.
  • 네트워크나 호스트에서 테스트하기 전에 항상 서면 허가를 받으십시오.

라이선스

MIT

도구 다운로드