Sinalol/powershell-threat-detection
GitHub: Sinalol/powershell-threat-detection
基于 Windows PowerShell 操作日志的防御性威胁检测工具,通过 Sigma 规则和 MITRE ATT&CK 映射识别可疑活动并生成报告。
Stars: 0 | Forks: 0
# PowerShell 威胁检测
这是一个防御性网络安全项目,旨在分析 Windows PowerShell 操作日志中的可疑活动,并将发现的结果映射到 MITRE ATT&CK 技术。
## 功能
- 读取 PowerShell 事件 ID 4103 和 4104
- 检测编码的 PowerShell 命令
- 检测执行策略绕过尝试
- 检测隐藏的 PowerShell 窗口
- 检测可疑的下载命令
- 检测 `Invoke-Expression`
- 检测与凭据相关的命令
- 检测与持久化相关的命令
- 分配严重级别
- 将发现的结果映射到 MITRE ATT&CK
- 将发现的结果导出为 CSV 报告
## 检测规则
| 检测项 | 严重程度 | MITRE ATT&CK |
|---|---:|---|
| 编码的 PowerShell 命令 | High | T1059.001 |
| 执行策略绕过 | Medium | T1059.001 |
| 隐藏的 PowerShell 窗口 | Medium | T1059.001 |
| 可疑的下载命令 | High | T1105 |
| 使用 Invoke-Expression | High | T1059.001 |
| 与凭据相关的命令 | High | T1003 |
| 与持久化相关的命令 | Medium | T1053, T1543 |
## 要求
- Windows 10 或 Windows 11
- PowerShell 5.1 或更高版本
- 管理员权限
- 已启用 PowerShell 操作日志记录
## 如何运行
以管理员身份打开 Windows PowerShell。
导航到项目文件夹:
```
cd "C:\path\to\powershell-threat-detection"
```
允许脚本在当前 PowerShell 会话中运行:
```
Set-ExecutionPolicy -Scope Process Bypass
```
运行检测器:
```
.\powershell-threat-detector.ps1
```
分析更长的时间段:
```
.\powershell-threat-detector.ps1 -HoursBack 48
```
## 输出
如果发现可疑活动,脚本将创建:
```
powershell-threat-report.csv
```
如果未发现可疑活动,脚本将报告干净的结果。
## 测试结果
该检测器已针对本地 PowerShell 操作日志成功进行了测试。

## 免责声明
本项目仅供教育、防御和授权的网络安全用途使用。
标签:AI合规, AMSI绕过, ATT&CK映射, IPv6, Libemu, MSSQL, OpenCanary, PowerShell, Sigma规则, Windows事件日志, 威胁检测, 目标导入, 网络信息收集, 速率限制处理