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
BYOVD — Cas d'usage de recherche BYOVD présentant la méthodologie de découverte de pilotes vulnérables et de rétro-ingénierie. (CVE-2025-52915, CVE-2025-1055, CVE-2026-3609, CVE-2026-8501). | Kitploit
Outils/GitHubGitHub/blacksnufkin/byovd
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationÉvasion IDS/IPSRétro-ingénierieApprentissage et ÉducationRed Teaming
GitHubblacksnufkin/byovd

BYOVD

Cas d'usage de recherche BYOVD présentant la méthodologie de découverte de pilotes vulnérables et de rétro-ingénierie. (CVE-2025-52915, CVE-2025-1055, CVE-2026-3609, CVE-2026-8501).

Voir le dépôt
89513221il y a 1 moisVérifié par Kitploit

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
cropped-Aug 28, 2025, 03_39_19 PM

BYOVD est une collection de PoC démontrant comment des pilotes vulnérables peuvent être exploités pour désactiver les solutions AV/EDR.

La collection inclut à la fois des pilotes non documentés et ceux déjà couverts par LOLDDrivers ou les règles de blocage de pilotes recommandées par Microsoft.


Depuis sa découverte initiale, le pilote TfSysMon a été ajouté à LOLDrivers et abusé par des groupes de ransomware utilisant l'outil EDRKillShifter, comme rapporté par Sophos et ESET


📚 Table des matières

  • 🔍 Vue d'ensemble
  • 🏗️ Structure du projet
  • 🔧 Compilation
  • 📦 byovd-lib
  • 💡 PoC
  • 🔬 Processus complet de rétro-ingénierie de pilote (x64)
  • 🔗 Références
  • ⚠️ Avertissement

🔍 Vue d'ensemble

La technique BYOVD a récemment gagné en popularité dans la sécurité offensive, notamment avec la sortie d'outils tels que Terminator de SpyBoy (vendu 3 000 $) et le projet ZeroMemoryEx Blackout. Ces outils exploitent des pilotes vulnérables pour désactiver les agents AV/EDR, facilitant ainsi d'autres attaques en réduisant la détection.

Ce dépôt contient plusieurs PoC développés à des fins éducatives, aidant les chercheurs à comprendre comment ces pilotes peuvent être abusés pour terminer des processus.

🏗️ Structure du projet

Le projet est organisé en espace de travail Rust Cargo. La plupart des PoC partagent une bibliothèque commune (byovd-lib) qui gère le code standard : cycle de vie du service pilote, répartition des IOCTL, surveillance des processus, ajustement des privilèges et nettoyage. Chaque killer est un binaire léger (~50-100 lignes) qui ne définit que sa configuration spécifique au pilote. K7Terminator, Astra64-Killer, Ktapi-Killer et Xhunter1-Killer sont autonomes — ils possèdent leurs propres déclarations [workspace] et sont compilés directement depuis leurs propres répertoires, et non via l'espace de travail racine.``` BYOVD/ ├── Cargo.toml # Workspace root (deps + release profile) ├── Cargo.lock ├── README.md ├── LICENSE │ ├── byovd-lib/ # Shared library │ ├── Cargo.toml │ └── src/ │ ├── lib.rs # DriverConfig trait + run() / send_ioctl() / run_monitor() │ ├── service.rs # ByovdDriver -- SCM lifecycle (install/start/stop_and_delete) │ ├── device.rs # DeviceHandle -- 5 typed IOCTL dispatch shapes │ ├── handle.rs # WinHandle / ScHandle -- RAII handle wrappers (Send + Sync) │ ├── process.rs # find_pid_by_name / find_all_pids_by_name │ ├── monitor.rs # run_monitor_loop (closure-based) + setup_ctrlc_handler │ ├── privilege.rs # enable_privilege / ensure_running_as_local_system │ └── util.rs # to_wstring / to_cstring / get_current_dir │ ├── AppRemover-Killer/ # OPSWAT AppRemover ardrv.sys ├── Astra64-Killer/ # EnTech Astra32 / TVicHW astra64.sys -- standalone, data-only Shadow SSDT hijack EDR killer ├── BdApiUtil-Killer/ # Baidu BdApiUtil64 (CVE-2024-51324) ├── CcProtect-Killer/ # CnCrypt CcProtect ├── EnPortv-Killer/ # EnCase EnPortv ├── GameDriverX64-Killer/ # Fedeen GameDriverX64 (CVE-2025-61155) ├── GoFlyDrv-Killer/ # Golink GoFlyDrv ├── HNOs2Ec-Killer/ # HONOR PCManager HNOs2Ec.sys ├── HWAudioOs2Ec-Killer/ # Huawei Audio driver HWAudioOs2Ec.sys ├── K7Terminator/ # K7 RKScan -- standalone, LPE + BYOVD modes ├── Ksapi64-Killer/ # Kingsoft ksapi64 ├── Ktapi-Killer/ # Kontron ktapi.sys -- standalone, two-stage shellcode EDR killer ├── MonProcess-Killer/ # HONOR HnRSMService MonProcess.sys ├── MonProcessEX-Killer/ # HONOR MagicAnimation and HONOR PCManager MonProcessEX.sys ├── NSec-Killer/ # NSEC NSecKrnl (ValleyRAT BYOVD reproduction) ├── PCTcore64-Killer/ # PC Tools PCTcore64 (CVE-2026-8501) ├── PoisonX-Killer/ # Microsoft PoisonX (j3h4ck reproduction) ├── STProcessMonitor-Killer/ # Safetica STProcessMonitor (CVE-2025-70795, v114 + v2618) ├── TfSysMon-Killer/ # ThreatFire sysmon ├── UnknownKiller/ # unattributed unknown.sys ├── Viragt64-Killer/ # Tg Soft viragt64 ├── Wsftprm-Killer/ # Topaz wsftprm (CVE-2023-52271) ├── Xhunter1-Killer/ # Wellbia xhunter1.sys (CVE-2026-3609) └── Xkpsm-Killer/ # JiranJikyosoft X-Keeper xkpsm

Chaque répertoire `*-Killer/` contient son propre `Cargo.toml`, `src/main.rs` (l'implémentation de `DriverConfig` + CLI), `README.md` (empreintes du pilote + utilisation), et le fichier `.sys` correspondant que le binaire charge à l'exécution.

## 🔧 Compilation

**Prérequis :** chaîne d'outils Rust et outils de build Visual Studio avec le SDK Windows.```bash
# Build all tools (release, optimized + stripped)
cargo build --release

# Build a single tool
cargo build --release -p BdApiUtil-Killer

# Build multiple specific tools
cargo build --release -p NSec-Killer -p Wsftprm-Killer

Les binaires sont générés dans target/release/. Copiez le fichier pilote .sys correspondant dans le même répertoire que l'exécutable avant de l'exécuter.

📦 byovd-lib

byovd-lib est la bibliothèque partagée sur laquelle reposent tous les PoC (à l'exception de K7Terminator). Elle expose deux API complémentaires — une API déclarative de haut niveau pour le flux standard « installer le pilote, tuer à vue, nettoyer », et une API impérative de bas niveau pour les killers qui nécessitent un flux personnalisé (attachement à un pilote déjà chargé, répartition vers plusieurs PID, tampons IOCTL structurés, logique de nouvelle tentative personnalisée, etc.). Les deux peuvent être combinées dans le même binaire.

Structure du module```

byovd-lib/src/ ├── lib.rs # DriverConfig trait + run() / send_ioctl() / run_monitor() ├── service.rs # ByovdDriver -- SCM lifecycle (install, start, stop_and_delete) ├── device.rs # DeviceHandle -- typed IOCTL dispatch (5 shapes) ├── handle.rs # WinHandle / ScHandle -- RAII handle wrappers (Send + Sync) ├── process.rs # find_pid_by_name / find_all_pids_by_name ├── monitor.rs # run_monitor_loop (closure-based) + setup_ctrlc_handler ├── privilege.rs # enable_privilege / ensure_running_as_local_system └── util.rs # to_wstring / to_cstring / get_current_dir

### API de haut niveau : trait `DriverConfig` + `run()`

C'est ce que les killers inclus utilisent. Implémentez le trait, appelez `byovd_lib::run()`, et c'est terminé.```rust
use byovd_lib::{DriverConfig, Result};
use clap::Parser;

struct MyDriver;
impl DriverConfig for MyDriver {
    fn driver_name(&self) -> &str { "MyDriver" }
    fn driver_file(&self) -> &str { "mydriver.sys" }
    fn device_path(&self) -> &str { "\\\\.\\MyDevice" }
    fn ioctl_code(&self) -> u32 { 0xDEAD }
    fn build_ioctl_input(&self, pid: u32, _name: &str) -> Vec<u8> {
        pid.to_ne_bytes().to_vec()
    }
}
Télécharger l’outil