Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
kratosminifilter — Kratos 是一款高性能的 Windows 文件系统微过滤器驱动程序,旨在检测、阻止并永久免疫。 | Kitploit
工具/GitHubGitHub/mukendi/kratosminifilter
防御工具恶意软件分析威胁情报事件响应异常检测
GitHubmukendi/kratosminifilter

kratosminifilter

Kratos 是一款高性能的 Windows 文件系统微过滤器驱动程序,旨在检测、阻止并永久免疫。

查看仓库
4118天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🛡️ Kratos Minifilter — Windows 内核级反勒索软件驱动程序

防御性安全研究项目 — 用 C++ 开发的 Windows 微过滤器驱动程序,用于在内核态 (Ring 0) 实时检测和消除勒索软件。


📋 目录

  • 概述
  • 架构
  • 检测机制
  • 基于指纹的黑名单
  • 安装
  • 配置
  • 限制
  • 法律警告

概述

Kratos (Kratos.sys) 是一个 Windows 微过滤器驱动程序,通过筛选器管理器 (fltmgr.sys) 运行在海拔 425342(反病毒层级)。与基于静态签名的防病毒解决方案不同,Kratos 采用纯行为方法:

  • 无签名数据库 — 检测未知勒索软件
  • 内核模式 — 在写入磁盘前进行原子级拦截
  • 多层级 — 行为 + 熵 + 结构
  • 持久化 — 通过哈希黑名单阻止重新执行

目标

| 目标 | 结果 |

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

| 受影响文件(首次运行) | < 5 |

| 受影响文件(重新运行) | 0 |

| 误报率 | 0%(调优后) |

| 兼容性 | NTFS / ReFS |


架构

root@kitploit:~
用户态
    │
    ▼
筛选器管理器 (fltmgr.sys) ← 海拔 425342
    │
    ▼
┌─────────────────────────────────────────────────────┐
│                  KRATOS.SYS                         │
│                                                     │
│  IRP_MJ_CREATE      → 初始化上下文                  │
│  IRP_MJ_WRITE       → 熵分析                        │
│  IRP_MJ_READ        → 读写比率计数                  │
│  IRP_MJ_SET_INFORMATION → 删除/重命名检测           │
│                                                     │
│  RTL_AVL_TABLE  → 每个 PID 的 KS_PROCESS_CONTEXT    │
│  FLT_FILE_CONTEXT → 每个文件的熵和状态              │
└─────────────────────────────────────────────────────┘
    │
    ▼
NTFS / ReFS

检测机制

第一级 — 行为

Kratos 使用 KS_IsValuableFile() 来区分有价值文件(.docx, .pdf, .jpg...)的删除与系统/缓存文件的删除:

  • ValuableDeleteCount — 系统目录之外的删除操作
  • RenameToSuspicious — 重命名为未知扩展名
  • HighEntropyWrites — 检测到熵增加

第二级 — 熵

通过预先计算的查找表 (KratosEntropyLUT512) 进行计算 — 避免使用内核模式下不可用的 log2()。每次写入操作采样 512 字节。

  • Delta:现有低熵文件 → 加密数据
  • Absolute:新的 .tmp 文件,熵 ≥ 7.5/8 位

第三级 — 结构(反向白名单)

主要创新:Kratos 使用合法扩展名白名单,而非恶意扩展名黑名单。

root@kitploit:~
原始扩展名有价值?是
新扩展名被识别?否
→ 可疑 — 无论选择哪个扩展名

这种方法可以检测 LockBit 3.0(.xmjzh8q)、BlackCat/ALPHV(随机扩展名)以及任何使用未知扩展名的未来勒索软件。

评分公式

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

得分 ≥ 60 → 警告
得分 ≥ 80 → 严重 + 终止进程 + 加入黑名单

基于数字指纹的黑名单

一旦检测到勒索软件,Kratos 会计算可执行文件前 4096 字节(PE 头部 + 代码开头)的 64 位 FNV-1a 哈希,并将其持久化到注册表中:

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

每次创建进程时,ProcessNotifyCallback 会在执行之前检查黑名单。进程通过 CreationStatus = STATUS_ACCESS_DENIED 被阻止。

重命名抵抗性:无论文件名是什么(Hercule-AES.exe, HERCUL~1.EXE, chrome.exe...),FNV-1a 哈希都相同。

防冒充保护:受信任的进程通过预期名称 + 路径进行验证:

root@kitploit:~
chrome.exe + \Program Files\Google\Chrome\Application\ → 合法
chrome.exe + C:\Users\...\Desktop\                    → 仿冒

安装

前提条件

  • Windows 10/11(x64)
  • Visual Studio 2022 及 WDK(Windows 驱动程序工具包)
  • 虚拟机且禁用 Secure Boot(或启用测试签名)

编译

root@kitploit:~
# 在 Visual Studio 中打开 KratosMinifilter.sln
# 配置:Debug 或 Release / x64
# 生成 → 生成解决方案

部署(测试虚拟机)

root@kitploit:~
# 在目标虚拟机上 — 启用测试模式
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() 以根据您的环境调整警告/严重阈值。


限制

  • 在首次执行期间,可能有 1 到 3 个文件受到影响
  • 没有针对加密文件的自动恢复机制
  • FNV-1a 无法抵抗有意碰撞伪造(生产环境建议使用 SHA-256)

Texte alternatif

法律警告

⚠️ 此驱动程序是在防御性安全研究框架内开发的。

  • 使用严格限制在隔离的测试环境(无网络访问的虚拟机)中
  • 在生产系统上的任何部署由用户自行承担全部责任
  • 作者对因不当使用造成的任何损害不承担任何责任
  • 未经授权修改此驱动程序以绕过安全系统是非法的

下载工具