Youssix/CRTScan

GitHub: IWishI808/CRTScan

CRTScan 是一个防御性工具,通过 C 运行时指纹和返回地址分析来检测可疑 DLL 注入。

Stars: 0 | Forks: 0

# CRT 扫描 CRTScan 是一个防御性用户模式原型,通过 C 运行时指纹识别、PE 结构分析和返回地址检查来检测可疑 DLL。 研究思路很简单:注入或手动映入的有效载荷通常在签名状态、导入表形态、展开 元数据、安全 Cookie 设置以及 CRT 初始化行为方面与常规应用程序 DLL 不同。 CRTScan 将这些差异转化为一个小型评分引擎,可在授权实验室内进行研究和扩展。 ## 已实现功能 - 使用 `CreateToolhelp32Snapshot` 枚举已加载模块 - 通过 `WinVerifyTrust` 检查 Authenticode 签名 - 针对 x64 模块的 PE 头解析 - `.pdata` / 异常目录检测 - 检查加载配置中的安全 Cookie 元数据 - 导入表计数和 CRT 导入检测 - 对异常模块进行基础嫌疑评分 - 针对选定的 CRT 初始化相关 API 的 IAT 钩子原型 - 栈捕获及基于已签名模块的返回地址验证 ## 检测模型 CRTScan 结合多个弱信号,而非依赖单一指标: - 未签名的模块被加载到已签名进程中 - 缺少 x64 展开元数据 - 缺少安全 Cookie 元数据 - 导入表非常小或稀疏 - 执行实际工作的模块中缺少正常的 CRT 链接 - 从未签名或未知模块调用常见的初始化 API 结果是一个研究评分,并非最终裁决。该项目旨在 展示如何关联、调优和验证这些信号。 ## 构建 要求: - Visual Studio 2022 - x64 本机工具命令提示符 构建此原型: ``` cl /W4 /O2 /DWIN32_LEAN_AND_MEAN src\main.c src\scanner.c src\hooks.c /Fe:crtscan.exe /link advapi32.lib wintrust.lib imagehlp.lib dbghelp.lib ``` 针对当前进程运行: ``` crtscan.exe ``` 针对指定 PID 运行: ``` crtscan.exe 1234 ``` ## 当前状态 CRTScan 是一个进行中的研究工具。评分启发式需要针对更大量的正常和恶意数据集进行调优。IAT 钩子引擎目前 仅覆盖一小部分 API,且设计用于本地实验,而非企业部署。 ## 负责任的使用 本项目用于防御性分析、恶意软件分类实验室和检测 工程研究。它不包含注入、利用、驻留或规避功能。 ## 相关文章 - [CRT 与 NoCRT 检测](https://youssix.github.io/2026/05/10/crt-nocrt-detection/) ## 许可证 MIT
标签:CRT初始化, CRT指纹, DAST, DLL注入检测, IAT钩子, PE分析, SSH蜜罐, URL发现, Windows API, 加载配置, 可疑模块扫描, 安全Cookie检查, 安全启发式, 安全检测, 安全评分, 客户端加密, 导入表分析, 异常检测, 异常目录, 恶意软件分析, 栈检查, 模块枚举, 模块验证, 用户模式检测, 研究原型, 端点可见性, 签名检查, 返回地址分析, 进程注入, 进程注入防御