Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kratosminifilter — Kratosは、Windowsファイルシステムミニフィルタードライバーであり、検出、ブロック、および完全な免疫化を目的とした高性能な設計です。 | Kitploit
ツール/GitHubGitHub/mukendi/kratosminifilter
防御ツールマルウェア分析脅威インテリジェンスインシデントレスポンス異常検知
GitHubmukendi/kratosminifilter

kratosminifilter

Kratosは、Windowsファイルシステムミニフィルタードライバーであり、検出、ブロック、および完全な免疫化を目的とした高性能な設計です。

リポジトリを見る
4121ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

🛡️ Kratos Minifilter — Windowsカーネル アンチランサムウェアドライバ

防御セキュリティ研究プロジェクト — C++で開発されたWindowsミニフィルタドライバ。カーネルレベル(Ring 0)でランサムウェアをリアルタイムに検出・無力化します。


📋 目次

  • 概要
  • アーキテクチャ
  • 検出メカニズム
  • フィンガープリントによるブラックリスト
  • インストール
  • 設定
  • 制限事項
  • 法的注意事項

概要

Kratos(Kratos.sys)は、フィルタマネージャ(fltmgr.sys)を介して高度 425342(アンチウイルス層)で動作するWindowsミニフィルタドライバです。静的なシグネチャベースのアンチウイルスソリューションとは異なり、Kratosは純粋に動作ベースのアプローチを採用しています:

  • シグネチャデータベースなし — 未知のランサムウェアを検出
  • カーネルモード — ディスクへの検証前のアトミックなインターセプト
  • マルチレベル — 動作 + エントロピー + 構造
  • 永続的 — ハッシュによるブラックリストで再実行をブロック

目標

| 目標 | 結果 |

|----------|---------|

| 影響を受けるファイル(初回実行) | < 5 |

| 影響を受けるファイル(再実行) | 0 |

| 誤検出率 | 0%(調整後) |

| 互換性 | NTFS / ReFS |


アーキテクチャ

root@kitploit:~
User-Mode
    │
    ▼
Filter Manager (fltmgr.sys) ← Altitude 425342
    │
    ▼
┌─────────────────────────────────────────────────────┐
│                  KRATOS.SYS                         │
│                                                     │
│  IRP_MJ_CREATE      → Initializing contexts         │
│  IRP_MJ_WRITE       → Entropic analysis             │
│  IRP_MJ_READ        → R/W ratio counting            │
│  IRP_MJ_SET_INFORMATION → Delete/Rename Detection   │
│                                                     │
│  RTL_AVL_TABLE  → KS_PROCESS_CONTEXT per PID        │
│  FLT_FILE_CONTEXT → Entropy + state per file        │
└─────────────────────────────────────────────────────┘
    │
    ▼
NTFS / ReFS

検出メカニズム

レベル1 — 動作ベース

Kratosは、KS_IsValuableFile() を使用して、価値のあるファイル(.docx, .pdf, .jpg...)の削除とシステム/キャッシュファイルの削除を区別します:

  • ValuableDeleteCount — システムディレクトリ外での削除
  • RenameToSuspicious — 未知の拡張子へのリネーム
  • HighEntropyWrites — エントロピーの増加を検出

レベル2 — エントロピー

事前計算されたLUT(KratosEntropyLUT512)を介した計算 — カーネルモードでは利用不可な log2() の使用を回避します。書き込み操作あたり512バイトのサンプル。

  • デルタ: 低エントロピーの既存ファイル → 暗号化されたデータ
  • 絶対値: 新しい .tmp ファイルでエントロピーが7.5/8ビット以上

レベル3 — 構造(逆ホワイトリスト)

主な革新: 悪意のある拡張子のブラックリストの代わりに、Kratosは正当な拡張子のホワイトリストを使用します。

root@kitploit:~
元の拡張子が価値あり? YES
新しい拡張子が認識されない? NO
→ 疑わしい — 選択された拡張子に関係なく

このアプローチにより、LockBit 3.0(.xmjzh8q)、BlackCat/ALPHV(ランダム)、および将来の未知の拡張子を使用するあらゆるランサムウェアを検出できます。

スコアリング式

root@kitploit:~
ValuableDeleteCount > 10 → +10 pts
RenameToSuspicious > 2 → +40 pts
HighEntropyWrites > 3 → +40 pts
RansomNoteCreated → +60 pts
ShadowCopyDeleted → +75 pts

Score ≥ 60 → WARNING
Score ≥ 80 → CRITICAL + Kill + Blacklist

フィンガープリントによるブラックリスト

ランサムウェアが検出されると、Kratosは実行可能ファイルの最初の4096バイト(PEヘッダー + コードの先頭)に対して64ビットFNV-1aハッシュを計算し、レジストリに永続化します:

root@kitploit:~
\Registry\Machine\SOFTWARE\Kratos\Blacklist
  └── 1F81F13004B5B920 = "C:\Users\...\Hercule.exe"

プロセスが作成されるたびに、ProcessNotifyCallback は実行前にブラックリストをチェックします。プロセスは CreationStatus = STATUS_ACCESS_DENIED によってブロックされます。

リネーム耐性: FNV-1aハッシュはファイル名に関係なく同一です(Hercule-AES.exe, HERCUL~1.EXE, chrome.exe...)。

なりすまし対策: ホワイトリストに登録されたプロセスは、予期される名前 + パスによって検証されます:

root@kitploit:~
chrome.exe + \Program Files\Google\Chrome\Application\ → 正当
chrome.exe + C:\Users\...\Desktop\                    → 偽装

インストール

前提条件

  • Windows 10/11 (x64)
  • Visual Studio 2022 with WDK (Windows Driver Kit)
  • Secure Bootが無効のVM(またはテスト署名の有効化)

コンパイル

root@kitploit:~
# Visual StudioでKratosMinifilter.slnを開く
# 構成: Debug または Release / x64
# ビルド → ソリューションのビルド

デプロイ(テストVM)

root@kitploit:~
# 対象VMでテストモードを有効化
bcdedit /set testsigning on

# Kratos.sysとKratos.infをコピー
# デバイスマネージャーまたはsc.exeでインストール
sc create Kratos type= kernel start= boot binPath= "C:\Kratos\Kratos.sys"
sc start Kratos

設定

監視対象拡張子(逆ホワイトリスト)

KratosDetection.cpp 内の g_LegitExtensions[] を変更して、リネーム後も正当とみなす拡張子を調整します。

ホワイトリストに登録されたプロセス

g_TrustedProcesses[] を変更して、正当なプロセスとその期待されるパスを追加します:

root@kitploit:~
{ "myapp.exe", L"\\Program Files\\MyApp\\" },

スコアリングしきい値

KratosDetection.cpp 内の KS_EvaluateThreatScore() を変更して、環境に応じてWARNING/CRITICALのしきい値を調整します。


制限事項

  • 初回実行時に1~3ファイルが影響を受ける可能性あり
  • 暗号化されたファイルの自動復旧機能はなし
  • FNV-1aは意図的な衝突偽造に対して耐性が低い(本番環境ではSHA-256推奨)

Texte alternatif

法的注意事項

⚠️ 本ドライバは防御セキュリティ研究の枠組み内で開発されています。

  • 使用は厳密に隔離されたテスト環境(ネットワークアクセスなしのVM)に限定されます
  • 実稼働システムへの展開は、ユーザー自身の責任で行われます
  • 作者は、不適切な使用に起因するいかなる損害に対しても責任を負いません
  • 許可なくセキュリティシステムを回避するために本ドライバを改変することは違法です
ツールをダウンロード