0rni7h/CLASH-Analyzer
GitHub: 0rni7h/CLASH-Analyzer
一款整合 LOLBin 进程扫描与沙盒恶意软件分析的 Windows 桌面安全工具,帮助安全人员在单机端点上实时检测和研判可疑活动。
Stars: 0 | Forks: 0
# CLASH — 上下文 LOLBin 与沙盒主机分析器
CLASH 是一款 Windows 桌面安全工具,专为实时检测和分析**就地取材二进制文件**滥用而构建。它将本地 LOLBAS 数据库、实时进程扫描、PowerShell 事件日志检查和 VirusTotal 集成到了一个单一的 GUI 应用程序中。
使用 Python 和 Tkinter 构建。无需浏览器——一切均在您的机器上本地运行。
## 功能介绍
CLASH 具有两个主要模块,您可以从主屏幕启动它们:
### 沙盒分析器
允许您选择磁盘上的任何文件,并将其放入扫描工作流中运行:
- **静态分析** — 将文件哈希发送至 VirusTotal,从 60 多个杀毒引擎获取检测结果,并显示威胁评分。
- **深度搜索** — 执行与静态分析相同的 VirusTotal 查询,随后运行扩展的模拟行为沙盒(进程树监控、网络信标检测、持久性检查、IOC 提取)。适用于演示/培训场景。
扫描会生成一份包含各引擎判定结果、直观的威胁仪表盘以及可导出 `.txt` 摘要的完整报告。
### LOLBin 分析器
扫描系统中所有正在运行的进程,以排查可疑的 LOLBin 活动:
- 同时通过 WMI 和 psutil 枚举进程,以实现最大覆盖率。
- 将每个正在运行的二进制文件与 [LOLBAS](https://lolbas-project.github.io/) YAML 数据库的本地副本(涵盖 OSBinaries、OtherMSBinaries、OSLibraries、OSScripts 等类别中的约 150 多个条目)进行交叉比对。
- 检测命令行中的逃逸技术 —— 编码命令、`ExecutionPolicy Bypass`、隐藏窗口、`IEX` 下载诱饵、base64 数据块、内存注入 API 等。
- 从 Windows 事件日志(事件 ID 400、800、4104)中提取最近的 PowerShell 脚本执行历史记录。
- 在嵌入式终端风格的视图中显示结果,并带有颜色编码的严重级别指示。
它还可以在**自动扫描**模式下运行,按设定的时间间隔持续进行重新扫描。
程序在启动时会请求管理员权限,以便它能够检查所有正在运行进程的命令行(如果您拒绝授权,将回退到受限模式)。
## 项目结构
```
CLASH/
├── main.py # Entry point — launches the GUI
├── launcher_window.py # Home screen with animated logo and module cards
├── sandbox_window.py # Sandbox Analyzer module (VT integration + deep scan)
├── lolbin_analyzer.py # LOLBin Analyzer module (live process scanner)
├── lolbas_loader.py # Parses all LOLBAS YAML files into an in-memory DB
├── agent.py # Background agent — monitors Downloads folder + LOLBin processes
├── LOLBAS/ # Local clone of the LOLBAS project (YAML definitions)
│ └── yml/
│ ├── OSBinaries/
│ ├── OtherMSBinaries/
│ ├── OSLibraries/
│ └── ...
└── test_scripts/ # Sample PowerShell scripts for testing detection
├── test1_cradle.ps1
├── test2_encoded.ps1
└── test3_lolbin_regsvr.ps1
```
## 环境要求
- **操作系统:** Windows 10/11(使用 WMI、Windows 事件日志和 Win32 API)
- **Python:** 3.10+
- **依赖项:**
```
pip install psutil pyyaml watchdog requests
```
您还需要一个 **VirusTotal API 密钥**,以用于沙盒分析器的文件扫描功能。请将其设置为环境变量:
```
set VT_API_KEY=your_api_key_here
```
免费版的 VT 密钥即可正常使用——该工具每次扫描仅发出少量请求。
## 运行方法
```
python main.py
```
这将打开启动器窗口。从中选择沙盒分析器或 LOLBin 分析器。
如果您想运行后台代理(监视您的 Downloads 文件夹以查找新文件,并实时监控 LOLBin 进程):
```
python agent.py
```
每当有新文件存入 `~/Downloads` 时,代理将自动启动沙盒 GUI。
## 测试检测功能
在 `test_scripts/` 目录中提供了一些无害的测试脚本,它们模拟了常见的攻击模式 —— 下载诱饵、编码命令以及通过 `regsvr32` 进行的 LOLBin 滥用。您可以使用这些脚本来验证分析器是否能正确地将它们标记出来,而无需执行任何破坏性操作。
## LOLBAS 数据库的工作原理
`LOLBAS/` 目录包含了 [LOLBAS 项目](https://github.com/LOLBAS-Project/LOLBAS) YAML 文件的本地副本。在启动时,`lolbas_loader.py` 会解析所有子目录中的每一个 `.yml` 文件,并构建一个以二进制文件名为键值的内存查找表。
每个条目包含:
- 已知的危险命令及其 MITRE ATT&CK 映射
- 基于最高风险命令类别计算得出的风险评分(0–10)
- 文件路径、别名、检测指南和参考信息
分析器使用此数据库来标记任何与已知 LOLBin 匹配且具有非同寻常命令行的正在运行的进程。
## 局限性
- **VirusTotal 依赖** — 沙盒分析器需要有效的 API 密钥。如果没有,它将回退到模拟分析。
- **管理员权限** — LOLBin 分析器在拥有管理员权限时效果最佳。如果没有权限,某些进程的命令行将不可见。
- **仅限 Windows** — 严重依赖于 WMI、Win32 API 和 Windows 事件日志。
- **深度搜索耗时** — 深度扫描模式按设计默认运行约 30 分钟(模拟行为分析)。如需快速获取结果,请使用静态分析。
## 许可证
本项目中包含的 LOLBAS 数据库源自 [LOLBAS 项目](https://github.com/LOLBAS-Project/LOLBAS),并受其自身许可证的约束。有关详细信息,请参阅 `LOLBAS/LICENSE`。
标签:Conpot, DAST, DNS 反向解析, EDR, IOC提取, LOLBAS, LOLBin, OpenCanary, PowerShell安全, psutil, Python, Tkinter, VirusTotal集成, Windows安全, WMI, 主机防御, 云安全监控, 免杀检测, 威胁情报, 安全分析框架, 安全可视化, 开发者工具, 异常检测, 恶意软件分析, 无后门, 桌面安全工具, 沙箱分析, 知识库安全, 端点安全, 网络信息收集, 网络安全, 脆弱性评估, 行为检测, 补丁管理, 进程扫描, 逆向工具, 防病毒, 隐私保护, 静态分析