Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-51324 — Recherche de mémoire de master sur CVE-2024-51324 (BYOVD). Exploit avancé avec 4 modes opérationnels (SCANNER, LOADER, KILLER, CLEANUP), vérification SHA-256 du pilote et documentation académique complète. Pièce de portfolio couvrant la sécurité des pilotes du noyau Windows, la rétro-ingénierie IOCTL et l'exploitation Bring Your Own Vulnerable Driver. | Kitploit
Outils/GitHubGitHub/devianntsec/cve-2024-51324
Outils DéfensifsAnalyse des VulnérabilitésExploitationRétro-ingénierieAnalyse ForensiqueTests d'IntrusionArticles et RechercheApprentissage et ÉducationRed Teaming
Exploitation de Binaires
GitHubdevianntsec/cve-2024-51324

CVE-2024-51324

Voir le dépôt
116il y a 5 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 →

À propos

Recherche de mémoire de master sur CVE-2024-51324 (BYOVD). Exploit avancé avec 4 modes opérationnels (SCANNER, LOADER, KILLER, CLEANUP), vérification SHA-256 du pilote et documentation académique complète. Pièce de portfolio couvrant la sécurité des pilotes du noyau Windows, la rétro-ingénierie IOCTL et l'exploitation Bring Your Own Vulnerable Driver.

Partager

CVE-2024-51324 — BYOVD : BdApiUtil64.sys · Recherche de mémoire de master

Platform Language License: MIT Research CVSS

Bring Your Own Vulnerable Driver (BYOVD) — Baidu Antivirus BdApiUtil64.sys
Trois primitives noyau non documentées : terminaison de processus, suppression arbitraire de fichiers, et suppression de fichier en cours d'utilisation avec contournement de SectionObjectPointer
Affecté : Baidu Antivirus v5.2.3.116083 (BdApiUtil64.sys)


Chargement du pilote vulnérable dans le noyau (mode LOADER)

Description

Ce dépôt contient ma recherche de mémoire de Master sur CVE-2024-51324, une vulnérabilité Bring Your Own Vulnerable Driver (BYOVD) dans le pilote noyau BdApiUtil64.sys de Baidu Antivirus.

L'enregistrement NVD attribue un score de base CVSS v3.1 de 3,8 (Faible) avec le vecteur AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N et CWE-269 (Gestion incorrecte des privilèges). Ce score ne reflète pas la réalité de l'attaque locale documentée dans cette recherche : une fois que le pilote est chargé par un administrateur (étape unique réalisable via ingénierie sociale ou toute élévation de privilège locale), tout processus ultérieur — y compris les processus sandboxés ou ceux d'un utilisateur standard — peut envoyer des IOCTL sans vérification supplémentaire de privilèges. Un score CVSS v3.1 évalué par le chercheur de 7,8 (Élevé) avec le vecteur AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H capture plus précisément la réalité de l'exploitation post-chargement. Les deux scores sont discutés dans la documentation technique.

Le pilote crée l'objet de périphérique \Device\BdApiUtil avec SecurityDescriptor = NULL, permettant à tout processus, quel que soit son niveau d'intégrité, d'ouvrir un handle et d'envoyer des IOCTL. L'analyse statique via Ghidra 11.0.3 révèle que le mécanisme interne est plus important que ce qui a été documenté précédemment : le pilote utilise PsLookupProcessByProcessId + ObOpenObjectByPointer(KernelMode) plutôt que ZwOpenProcess, contournant entièrement SeAccessCheck. Trois primitives IOCTL ont été entièrement caractérisées, dont deux n'ont aucune documentation publique antérieure.

Ma contribution

AspectDescription
Correction techniqueZwOpenProcess est absent de la table d'importation ; le mécanisme réel est PsLookupProcessByProcessId + ObOpenObjectByPointer(KernelMode), qui contourne inconditionnellement SeAccessCheck
Trois primitives documentéesTerminaison de processus (0x800024B4), suppression arbitraire de fichiers (0x80002648), et suppression de fichier en cours d'utilisation avec contournement de SectionObjectPointer (0x8000264C) — les deux dernières n'ont aucune documentation publique antérieure
Quatre modes opérationnelsLOADER, KILLER, SCANNER et CLEANUP — gestion complète du cycle de vie
Vérification SHA-256Hachage du pilote vérifié avant toute tentative de chargement
Tests empiriques PPL10 tentatives par catégorie de processus confirmant PPL comme seule mitigation au moment de l'exécution
Analyse forensiqueEvent ID 7045 persistant après nettoyage ; Event ID 1102 comme artefact auto-incriminant d'effacement de journal
Règles de détectionRègle Sigma et configuration Sysmon (Event ID 6 par hachage + Event ID 13 par clé de registre)
Réévaluation CVSSÉcart documenté entre le score officiel NVD (3,8 Faible) et la sévérité d'exploitation locale évaluée par le chercheur (7,8 Élevé)

Structure du dépôt

CVE-2024-51324/
├── README.md
├── LICENSE
│
├── drivers/
│   └── BdApiUtil64.sys              # Pilote (non distribué)
│
├── exploit/
│   ├── exploit-explanation.md
│   └── byovd_killer.py              # Exploit principal — 4 modes opérationnels
│
└── docs/
    ├── screenshots/
    │   ├── 01-byovd-scan.png
    │   ├── 02-byovd-scan-target.png
    │   ├── 03-byovd-load.png
    │   ├── 04-byovd-load-custom.png
    │   ├── 05-kill-name.gif
    │   ├── 06-kill-pid.gif
    │   ├── 07-kill-limit.gif
    │   ├── 08-dry-run.gif
    │   └── 09-byovd-cleanup.png
    │
    └── analysis/
        ├── 01-root-cause.md
        ├── 02-driver-analysis.md    # Analyse Ghidra complète, trois primitives, tests PPL
        └── 03-timeline.md

Démarrage rapide

Prérequis

  • Windows 10/11 (toute version)
  • Python 3.6+
  • BdApiUtil64.sys (SHA-256 : 47EC51B5F0EDE1E70BD66F3F0152F9EB536D534565DBB7FCC3A05F542DBE4428)
  • Compte administrateur (modes LOADER et CLEANUP uniquement)
  • Compte utilisateur standard suffisant pour le mode KILLER une fois le pilote chargé

Étape 1 — Analyser le système

python exploit/byovd_killer.py --scan
python exploit/byovd_killer.py --scan --target lsass.exe

Étape 2 — Charger le pilote (Admin requis)

python exploit/byovd_killer.py --load
python exploit/byovd_killer.py --load --driver C:\path\to\BdApiUtil64.sys
python exploit/byovd_killer.py --load --service-name MyService

Étape 3 — Tuer des processus (Admin non requis)

python exploit/byovd_killer.py --kill notepad.exe
python exploit/byovd_killer.py --pid 1234
python exploit/byovd_killer.py --kill notepad.exe --max-instances 2
python exploit/byovd_killer.py --kill notepad.exe --dry-run

Étape 4 — Nettoyage (Admin requis)

python exploit/byovd_killer.py --cleanup
python exploit/byovd_killer.py --cleanup --service-name MyService

Modes opérationnels

ModeCommandePrivilègesDescription
SCANNER--scanTout utilisateurInformations sur le système et l'état du pilote
LOADER--loadAdministrateurChargement du pilote via création d'un service noyau
KILLER--kill / --pidTout utilisateurTerminaison de processus via IOCTL
CLEANUP--cleanupAdministrateurArrêt et suppression du service du pilote

Démonstrations

Mode SCANNER — Informations système

Mode SCANNER

Mode SCANNER — Recherche de processus cible

Cible SCANNER

Mode LOADER — Chargement du pilote

Mode LOADER

Mode LOADER — Chemin personnalisé et nom de service

LOADER personnalisé

Mode KILLER — Tue par nom de processus

Tue par nom

Mode KILLER — Tue par PID

Tue par PID

Mode KILLER — Limiter les instances

Limiter les instances

Télécharger l’outil