TheCaptainCJ/Malware-Analysis-Capstone-Project
GitHub: TheCaptainCJ/Malware-Analysis-Capstone-Project
一个完全离线、不执行代码的恶意软件分析项目,结合静态与基于网络的流量分析,识别真实扫描与探测行为并提取可落地的 IoC。
Stars: 0 | Forks: 0
# 🦠 恶意软件分析 — 静态与基于网络的方法
一个完全在不执行代码的情况下进行的恶意软件分析项目,展示了使用 PeStudio 和 IDA Free 的安全静态分析,以及通过持续七天的 Wireshark 数据包捕获进行的基于网络的分析(包含针对真实服务器的实际扫描、探测和 Web 流量)。
## 📋 项目摘要
| 字段 | 说明 |
|---|---|
| 分析类型 | 静态 + 基于网络的行为分析 |
| 使用工具 | PeStudio、IDA Free、Wireshark、Process Monitor |
| PCAP 来源 | Malware-Traffic-Analysis.net(7 天捕获) |
| 执行方式 | 无 — 全部离线进行,Defender 处于活动状态 |
| 环境 | 虚拟化环境中隔离的 Windows VM(VirtualBox) |
## 🎯 项目目标
- 使用 PeStudio 和 IDA Free 对可疑归档进行静态初步分类,不执行任何代码
- 分析七天的真实网络流量,识别扫描行为、Web 探测与 IoC
- 提取适用于防火墙规则和 SIEM 检测的妥协指标(IoC)
- 展示在硬件限制下安全合规的恶意软件研究方法
## 🔬 第一阶段 — 静态分析
### PeStudio — 归档文件初步分类
可疑文件为一个只读模式下的 ZIP 归档,未执行解压或运行操作。
| 属性 | 值 | 备注 |
|---|---|---|
| 文件名 | mal.zip | 压缩归档 |
| 文件类型 | ZIP(PK 头) | 通过文件签名确认 |
| 文件大小 | 55,237 字节 | 典型打包样本大小 |
| SHA-256 | 9D938B82424DBA85214B7ADA78B55725FCEF164EFFAF3BE556CF259D0A7509F6 | 完整性参考 |
| 熵值 | 7.997 / 8.0 | 较高 — 可能为加密或压缩 |
| 可读字符串 | 无 | 二进制内容 — 可能已打包或加密 |
**解释:** 高熵值且无可读字符串是混淆或压缩的强指示,常用于隐藏恶意载荷以绕过静态扫描。
### IDA Free — 良性 PE 逆向工程演示
为展示安全的逆向工程方法,将一个无害的 Windows 可执行文件加载至 IDA Free。关键分析步骤包括:
- **导入视图** — 识别程序调用的 Windows API(GDI32、SHELL32、USER32)
- **字符串视图**(`Shift+F12`) — 检查嵌入的可读字符串以寻找行为线索
- **控制流图** — 可视化函数逻辑与分支
这些步骤同样适用于恶意软件分析。查看导入可了解二进制文件访问的系统资源;非常规导入如 `VirtualAlloc`、`WriteProcessMemory` 或 `CreateRemoteThread` 在真实样本中通常是危险信号。
## 📡 第二阶段 — 基于网络的行为分析
使用 Wireshark 分析针对公网服务器的七天流量,以识别攻击者行为并提取 IoC。
### 使用的 Wireshark 过滤器
```
ip.addr == # All traffic to/from server
ip.dst == && tcp.flags.syn == 1 && tcp.flags.ack == 0 # Inbound SYN scans
http # Clear-text HTTP requests
tcp.port == 443 # TLS handshakes
icmp # Host discovery pings
```
### 提取的妥协指标(IoC)
| 类型 | 值 / 示例 | 行为 |
|---|---|---|
| 受害者 IP | 203.161.44.208 | 持续扫描的公网服务器 |
| 扫描器 IP | 104.156.155.8;194.61.31.233;62.204.41.107 | 自动化垂直端口扫描 |
| 目标端口 | 22, 23, 80, 443, 3306, 5432, 6379, 8080, 9200 | 常见扫描集合 |
| HTTP URI | /wp-login.php;/phpmyadmin/;/.env | 侦察与利用尝试请求 |
| 用户代理 | curl/7.x;python-requests/2.x;masscan | 自动化工具指纹 |
| ICMP | 回显请求/应答 | 主机存活探测 |
### 关键发现
- 自动化机器人与扫描器持续探测暴露的公网主机,寻找暴露的管理面板、默认凭据和泄露配置文件
- 服务器的 TCP RST 响应表明端口关闭且具备防御姿态
- 简短的 TLS 握手但未完成会话更倾向于自动化心跳探测而非人工浏览
- 针对 `/wp-login.php`、`/phpmyadmin/` 和 `/.env` 的 URI 模式与机会型利用行为一致
## 🛡️ 建议缓解措施
- 关闭或限制未使用端口;SSH 与 RDP 访问应要求 VPN
- 为敏感 URI 添加 WAF 规则并强制多因素认证与账户锁定
- 对重复探测实施速率限制,并在适当情况下使用地理封锁
- 在 SIEM 中添加阈值规则以检测 SYN 峰值、敏感路径上的重复 4xx 错误及异常用户代理字符串
- 保持 Web 堆栈更新并隐藏管理面板以减少公开暴露
## 🛠️ 使用工具
| 工具 | 用途 |
|---|---|
| PeStudio | 静态文件初步分类 — 哈希、熵值、字符串与指示器 |
| IDA Free | 反汇编 — 导入、字符串与控制流图 |
| Wireshark | 数据包分析 — 流量过滤与 IoC 提取 |
| Process Monitor | 分析期间的系统活动监控 |
| VirtualBox | 隔离分析环境 |
| Microsoft Defender | 分析全程的主动保护 |
## 🧠 展示技能
- 安全的静态恶意软件分析方法
- 文件熵值与哈希分析
- 使用 IDA Free 的逆向工程基础
- 数据包捕获分析与 Wireshark 过滤器构建
- IoC 提取与文档记录
- 网络威胁模式识别
- 符合专业标准的安全报告撰写
## 📚 参考资料
- Malware-Traffic-Analysis.net — PCAP 数据源
- MITRE ATT&CK Framework — attack.mitre.org
- PeStudio by Winitor — winitor.com
- IDA Freeware — hex-rays.com/ida-free
## 👨💻 作者
**Christopher O'Keefe**
IT 专业人员 | 网络安全 BAS | CompTIA A+ | ISC2 CC
[LinkedIn](https://linkedin.com/in/christopherokeefe93) | [GitHub](https://github.com/TheCaptainCJ)
标签:DAST, IDA Free, IoC提取, Packet Capture, PCAP分析, PeStudio, SIEM检测, Web流量, Wireshark, ZIP分析, 云安全监控, 云资产清单, 句柄查看, 合规研究, 恶意软件分析, 扫描行为, 文件静态检查, 网络探针, 网络流量分析, 自动化侦查, 逆向工程, 防火墙规则, 静态分析, 高熵文件