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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/davidcarliez/cve-2026-62737-lab
Privilege EscalationExploitationDebuggersPayload DevelopmentBinary Exploitation
GitHubdavidcarliez/cve-2026-62737-lab

cve-2026-62737-lab

gdb 지원 ROP 토큰 교환 체인을 통해 낮은 권한의 Windows 프로세스를 SYSTEM으로 승격시키며, 실험실 전용 QEMU 환경에서 CVE-2026-62737을 시연합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-62737: 크래시에서 랩 지원 SYSTEM으로

원본 CVE-2026-62737 분석 문서의 후속편입니다 (ExecutionContext.sys의 임의 커널 간접 호출). 크래시 PoC를 실제로 동작하는 토큰 교체 체인으로 바꿔 cmd.exe를 SYSTEM으로 실행하지만, 디버거가 주소를 제공하고 ROP 체인을 커널 메모리에 써 넣는 랩 환경에서만 가능합니다. 이는 독립형 익스플로잇이 아닙니다.

기능

  1. KLoader 프록시를 통해 로우 유저로 ExecutionContext 디바이스를 엽니다.
  2. ExecutionContext(0x22EC40)를 초기화하고 Callback이 커널 ROP 피벗인 태스크(0x22AC54)를 큐에 넣습니다.
  3. gdb 스크립트(patch_rop.py)가 토큰 교체 ROP 체인을 ExecutionContext .data에 쓰고, 하드웨어 중단점으로 피벗 시점의 RSP/RBP를 캡처합니다.
  4. 짧게 살아있는 워처 스레드가 커널 워커를 깨우면(0x226C5C 종료 콜백), 체인이 우리 토큰을 SYSTEM 토큰으로 교체하고, 커널 스택을 복원한 뒤 드라이버 디스패처로 복귀하여 워커가 계속 살아남게 합니다.

파일

요구 사항

  • 커널 10.0.26100.8875가 설치된 Windows 11 25H2(가젯 RVA는 빌드별로 다릅니다).
  • QEMU gdb 스텁(gdbserver tcp::1234), 게스트 에이전트, Z:로 마운트된 호스트/게스트 공유 폴더가 있는 VM.
  • \\.\kloader\{9C0B898D-6275-48EC-81B4-E5EDBE44B535}를 열 수 있는 낮은 권한 계정.
  • 호스트의 MinGW-w64(x86_64-w64-mingw32-gcc)와 gdb.

빌드

root@kitploit:~
x86_64-w64-mingw32-gcc -O2 -municode -o exploit.exe exploit.c
x86_64-w64-mingw32-gcc -O2 -o modlist.exe modlist.c

실행(부팅마다)

  1. 새 베이스 가져오기: ./ga.py 'Z:\modlist.exe'(modlist.exe를 공유 폴더에 복사한 후)

  2. 스크립트 갱신: ./refresh_bases.sh

  3. exploit.exe와 modlist.exe를 공유 폴더에 복사합니다.

  4. 로우 유저로 익스플로잇 실행: exploit.exe <nt> <ec> <ec+0x10A00>. PID를 Z:\lab_pid.txt에 쓰고 Z:\go_lab.txt를 기다립니다.

  5. LAB_PID_FILE을 호스트의 lab_pid.txt 복사본으로 지정하여 gdb를 연결합니다:

    root@kitploit:~
    LAB_PID_FILE=/path/to/shared/lab_pid.txt \
      gdb -q -ex 'target remote :1234' -ex 'set pagination off' -x patch_rop.py
    

    gdb 프롬프트에서 continue를 입력합니다.

오프셋(커널 26100.8875)

왜 독립형 익스플로잇이 아닌가

  • 콜백은 시스템 CR3를 가진 커널 시스템 스레드에서 실행됩니다. 사용자 메모리 ROP는 불가능하고 MDL 커널 별칭도 존재하지 않습니다.
  • 실제 익스플로잇에는 커널 주소 누출(nt/ec)과 체인을 커널 메모리에 넣을 방법이 필요합니다. 이 빌드에는 둘 다 없습니다.
  • 피벗 시점 RSP는 gdb 중단점으로 캡처됩니다. 실제 익스플로잇에는 스택 상주 체인이나 RSP 저장 가젯이 필요합니다.

라이선스

MIT, LICENSE 참조.

도구 다운로드
파일용도
exploit.c랩 익스플로잇: 초기화 + 큐 등록 + gdb 패치 대기 + 토큰 확인 + cmd 실행.
patch_rop.pygdb 스크립트: 우리 EPROCESS를 찾고, ROP 체인을 작성하고, 피벗 중단점을 준비합니다.
trace_rop.py동일한 설정이지만 디버깅을 위해 체인을 단계별로 실행합니다.
refresh_bases.shgdb 스크립트의 부팅별 nt/ec 베이스를 modlist.exe 출력에서 갱신합니다.
modlist.c부팅별 ntoskrnl / ExecutionContext 베이스를 출력합니다(랩 KASLR 오라클).
ga.pyQEMU 게스트 에이전트를 통해 랩 VM 내부에서 명령을 실행합니다.
  • 익스플로잇 해제: touch /path/to/shared/go_lab.txt

  • 약 15초 후 Z:\lab_exploit_out.txt에 system=1이 표시되고 Z:\lab_shell_out.txt에 nt authority\system이 포함되어야 합니다.

  • 항목값
    ROP 피벗(전체)nt + 0x6A6A40
    pop rcx; retnt + 0x28843A
    pop rdx; retnt + 0x2FECD2
    mov [rcx], rdx; retnt + 0x3BC6A7
    retnt + 0x20043B
    pop rsp; retnt + 0x2006C4
    PsInitialSystemProcessnt + 0xFC6AF0
    _EPROCESS.Token0x248
    _EPROCESS.UniqueProcessId0x1D0
    _EPROCESS.ActiveProcessLinks0x1D8