enablepedro/one-of-us-malware-analysis
GitHub: enablepedro/one-of-us-malware-analysis
这是一个使用ClamAV Web API进行恶意软件识别和IOC生成的项目,用于事后安全事件响应中的文件分流。
Stars: 1 | Forks: 0
# 我们中的一员 —— 通过 ClamAV Web API 进行恶意软件文件识别
## 概述
这是一次事后恶意软件分析演练,模拟了一个真实场景:客户端工作站上的初始恶意软件痕迹已被清除,但在一个 `suspicious-files` 目录中发现了其他可疑可执行文件。目标是使用基于网页的 ClamAV 扫描 API 来识别哪个文件是恶意的,然后使用加密哈希记录发现结果,用于 IOC 报告。
## 工具与技术
| 工具 | 用途 |
|------|---------|
| **ClamAV Web API** | 多引擎恶意软件检测 —— 用于远程扫描每个可疑文件 |
| **cURL** | 经过身份验证的 HTTP 请求,用于向扫描 API 提交文件 |
| **md5sum** | 为确认的恶意文件生成加密哈希,用于 IOC 文档记录 |
| **Linux Shell 工具** | 文件导航、循环处理和环境执行 |
## 主要发现
| 发现 | 详情 |
|---------|---------|
| **恶意文件** | `file176.exe` |
| **MD5 哈希 (IOC)** | `f48a8687e91fd9ef98cd1b7aaeeb2a4c` |
| **MIME 类型** | `application/x-ms-dos-executable` |
| **攻击技术** | 恶意软件投放器 —— 部署了超出原始感染的额外有效载荷 |
| **检测来源** | ClamAV 引擎通过 API 响应将该文件标记为恶意 |
## 方法论
1. 识别受感染工作站 `suspicious-files` 目录内感染后生成的可执行文件。
2. 从 ClamAV Web API 获取身份验证令牌以启用安全扫描。
3. 使用循环和经过身份验证的 cURL 请求将每个文件单独提交给 API:
```bash
for f in *; do echo "Scanning $f"; curl -k -s -X POST https://clamav-ui.com/api/v1/scan \
-H "Authorization: Bearer " -F "file=@$f"; echo; done
```
4. 检查 JSON API 响应 —— 除 `file176.exe` 外,所有文件均返回 `"infected": false`。
5. 通过扫描日志 UI 中的 ClamAV 引擎标记确认 `file176.exe` 为恶意文件。
6. 生成本地 MD5 哈希用于 IOC 文档记录和威胁情报关联:
```bash
md5sum file176.exe
# f48a8687e91fd9ef98cd1b7aaeeb2a4c file176.exe
```
## 结果
成功识别出隐藏在受感染工作站干净文件中的恶意可执行文件。生成了经过验证的 MD5 IOC,可用于威胁情报关联,展示了在恶意软件分流、基于 API 的防病毒扫描和事件文档记录方面的实用技能。
## 建议
- 删除 `file176.exe` 并审计任何相关的持久化机制。
- 进行全面的恶意软件扫描,以确认没有残留的有效载荷。
- 在端点强制实施防病毒和端点检测与响应控制,以防止再次发生。
- 为可疑文件执行和异常网络活动实施日志记录和警报。
- 针对网络钓鱼和恶意软件传播载体提供用户意识培训。
## 报告
## 文档
*我的网络安全作品集的一部分 —— UCF 网络安全训练营 | IronCircle 事件响应专家认证*
标签:ClamAV, cURL, DAST, HTTP请求, IOC文档, JSON解析, Linux取证, Linux命令行, MD5哈希, Web API, Web 安全测试, 事后分析, 加密哈希, 安全实验室, 应用安全, 恶意软件分析, 恶意软件标识, 恶意软件样本, 数字取证, 文件扫描, 网络安全, 自动化脚本, 隐私保护