UscTrojansDodgers56/phishing-email-analysis
GitHub: UscTrojansDodgers56/phishing-email-analysis
一个钓鱼邮件取证分析实验项目,通过 PowerShell 脚本对真实蜜罐钓鱼邮件进行邮件头取证、IOC 提取和 MITRE ATT&CK 映射,帮助 SOC 分析员掌握初始访问检测技能。
Stars: 0 | Forks: 0
# 钓鱼邮件与电子邮件分析 — 凭据诱饵(伪造 Microsoft + Binance)
对两封真实的、由蜜罐收集的钓鱼邮件进行的端到端重构与分析。
从未发送过任何钓鱼邮件,也从未直接访问过任何恶意链接。
这是一个自学 SOC 检测系列的第 5 个实验。
**系列进度:** 闭环了初始访问阶段。实验 1–4 涵盖了在发生入侵*之后*发生的事情(日志、网络、身份、恶意软件);本实验分析入侵实际上是如何发生的。
| | |
|---|---|
| **来源** | [`rf-peixoto/phishing_pot`](https://github.com/rf-peixoto/phishing_pot) — 蜜罐收集的真实钓鱼邮件,收件人被匿名化为 `phishing@pot` |
| **主题 / 家族** | 钓鱼 — 通过品牌伪造(Microsoft + Binance)窃取凭据 |
| **工具** | PowerShell, VirusTotal, CyberChef |
| **方法** | 检测 → 分析 → 关联 → 加固 → 验证 |
## 免责声明
这是一个个人实验,使用了来自公共蜜罐数据集的两个真实样本,并非专业的 SOC 实战经验,且此处的内容均未针对真实的组织运行过。没有向任何人发送过钓鱼邮件。没有直接访问过任何恶意 URL;样本 2 中的链接被提交给了 VirusTotal 进行沙箱分析。原始的 `.eml` 文件和渲染后的 HTML 诱饵被**有意排除**在此 repo 之外——在公共 repo 中重新托管实时钓鱼内容(即使预先进行了匿名化处理)且带有有效的恶意链接,是不良的安全卫生习惯。可以使用全文引用的样本编号,从上面的源链接重现它们。
## 环境
| 项目 | 值 |
|---|---|
| 分析主机 | Windows 11 / PowerShell |
| 样本来源 | `phishing_pot` GitHub repo (`email/sample-10.eml`, `email/sample-12.eml`) |
| 引爆 | VirusTotal (URL 标签页,云端托管,从未直接访问过样本) |
| 解码 / 检查 | CyberChef (web) |
## 工作流
| 阶段 | 我做了什么 |
|---|---|
| **检测** | 发现了诱饵:一个伪造的 Microsoft“异常登录”警报和一个伪造的 Binance“需要验证”通知,两者都利用了制造的紧迫感。 |
| **分析** | 追踪了两个样本的 `Received:` 链至真实发件源;阅读了 `Authentication-Results` 行以获取 SPF/DKIM/DMARC 结论;对比了 `header.from` 与 `smtp.mailfrom` 及 `Reply-To`。 |
| **关联** | 为每个样本构建了时间线,将发件源 IP、伪造的发件显示域名、收集点(mailto 与 凭据 URL)连接成一个完整的攻击者故事。 |
| **加固** | 将每个弱点(未强制执行的 DMARC、仿冒域名、beacon/payload URL)映射到能够弥补它的真实防御控制措施,并明确了实际拥有该控制权的角色。 |
| **验证** | 在不访问样本 2 URL 的情况下将其提交给 VirusTotal,将检测引擎的身份与原始得分进行交叉比对,并根据邮件本身的日期确认了域名年龄信号。 |
## 调查演练
### 1 — 检测与分析:样本 1(Microsoft 凭据诱饵)
从下往上阅读 `Received:` 链,追踪到邮件来自一个外部服务器,该服务器在 IP `89.144.44.2` 上自称为 `thcultarfdes.co.uk`——它直接连接到了 Microsoft 自己的邮件网关(`*.mail.protection.outlook.com`),这是攻击者基础设施与 Microsoft 内部中继之间的信任边界。
身份验证全面失败:
```
spf=none (sender IP 89.144.44.2, smtp.mailfrom=thcultarfdes.co.uk)
dkim=none (message not signed)
dmarc=permerror action=none header.from=access-accsecurity.com
```
这封邮件中出现了三个域名,没有一个是 Microsoft:一个负责发送(`thcultarfdes.co.uk`),一个负责显示(`access-accsecurity.com`),一个负责收集回复(`sotrecognizd@gmail.com`)。渲染后的邮件中的每一个“按钮”——*Report The User*、*Unsubscribe*、*click here*——都是一个指向同一个 Gmail 地址的 `mailto:` 链接。按钮的标签与其真实的目的地毫无关联。
邮件正文还隐藏了一个 1×1 的跟踪像素,用于向 `thebandalisty.com` 发送 beacon,以及一大块随机的“word salad”文本,旨在稀释垃圾邮件过滤器的评分。
### 2 — 检测与分析:样本 2(Binance 链接诱饵)
相同的骨架,不同的指纹。这里 DMARC 成功运行并正确地**拒绝**了伪造(Binance 自己的策略生效了),但 `action=none` 无论如何都让它通过了,证明了一个有效运行的 DMARC 检查如果不强制执行也是毫无价值的。这一次的 `Reply-To` 与 `From` 相匹配(对于基于链接的攻击,不需要回复诱饵),并且一行 `Authentication-Results-Original: auth=pass` 显示攻击者只是登录了他们**自己的**托管中继,可能是一个被入侵的客户账户(`ilonasavola.com` 通过 `wp-cloud.fi`),而不是任何证明其合法性的内容。
通过搜索结构而非措辞,隔离出了一个真实的恶意链接:
```
Select-String -Path .\sample-12.eml -Pattern 'href="[^"]*"' -AllMatches |
ForEach-Object { $_.Matches.Value } | Sort-Object -Unique
```
正文本身没有任何混淆——整个攻击依赖于一个具有欺骗性的链接,而不是文本规避技巧。
### 3 — 关联
### 4 — 加固
请参阅下文的[加固建议](#hardening-recommendations)。
### 5 — 验证
`https://zzdzw.com/` 被提交给了 VirusTotal,从未被直接访问过,返回结果是 **2 / 92**,这*并不*等同于“干净”。标记它的两个引擎 `alphaMountain.ai` 和 `Forcepoint ThreatSeeker` 是信誉/分类引擎。这正是专为捕获钓鱼网站而构建的工具;那 90 个“干净”的结论主要来自对 URL 没有意见的文件恶意软件引擎。alphaMountain 还额外将该域名标记为**“Newly Registered”**。
VirusTotal 的“First Submission”日期(2022-07-13)是该 URL 第一次被*扫描*的日期,而不是 WHOIS 注册日期,它比邮件本身(2022 年 8 月 22 日)早了大约五周。结合“Newly Registered”标签,合理的解读是,该基础设施是为了 2022 年中期的攻击活动窗口而建立,并在几周内投入使用,而不是长期重复使用的基础设施。
## 攻陷指标
| 类型 | 样本 1 (Microsoft) | 样本 2 (Binance) |
|------|----------------------|---------------------|
| 发送 IP | `89.144.44.2` | `84.34.166.151` |
| 信封域名 | `thcultarfdes.co.uk` | `ilonasavola.com` |
| 伪造的显示域名 | `access-accsecurity.com` | `ses.binance.com` |
| 收集点 | `sotrecognizd@gmail.com` (mailto) | `https://zzdzw.com/` (凭据网站) |
| 跟踪 beacon | `thebandalisty.com/track/…` | — |
| Payload 提供端 IP | — | `38.38.177.142` |
| 页面内容哈希 (SHA-256) | — | `7eef3d901005d440c98cb303bc95eb67de05691cab0ec65ecedef10d2b89b42f` |
## MITRE ATT&CK 映射
| 技术 | ID | 证据 |
|---|---|---|
| Phishing (父级) | T1566 | 样本 1 — 每个可点击的元素都是 `mailto:`,而不是凭据网站的链接,因此特意*未*应用 `.002` 子技术。 |
| Spearphishing Link | T1566.002 | 样本 2 — 一个真实的 `https://` URL,指向攻击者控制的凭据收集基础设施。 |
| Obfuscated Files or Information | T1027 | 样本 1 — 随机的“word salad”内容填充,旨在规避垃圾邮件过滤器的评分。 |
## 加固建议
| 弱点 | 控制措施 | 负责方 |
|---|---|---|
| SPF/DKIM 为 none,DMARC 未强制执行 | DMARC 策略强制执行 (`p=quarantine` / `p=reject`) | 接收方组织的电子邮件安全/管理团队 |
| 来自新注册/仿冒域名的品牌伪造 | 域名信誉 / 新注册域名过滤 | 电子邮件网关管理员 |
| 跟踪 beacon / payload URL | URL 和域名黑名单 | 网络/网关管理员 |
| 被入侵的合法托管账户(样本 2) | 对客户账户的出站异常检测 | *托管提供商*,而非接收方组织 |
| `mailto` 社会工程学按钮 | 用户安全意识培训 | 安全意识/GRC 团队 |
## 时间线
| 日期 (UTC) | 样本 | 事件 |
|---|---|---|
| 2022-07-13 | 样本 2 | `zzdzw.com` 首次出现在 VirusTotal 记录中(首次扫描,非注册)。 |
| 2022-08-22 21:39:41 | 样本 2 | Binance 伪造邮件通过疑似被入侵的托管中继发送。 |
| 2023-09-08 05:47:04 | 样本 1 | Microsoft 伪造邮件从 `thcultarfdes.co.uk` 发送。 |
| 2023-09-08 05:47:06 | 样本 1 | 最终送达邮箱 — 端到端传输约 2 秒。 |
| 2026-06 | 两者 | 为本实验进行分析。 |
## Repo 结构
```
phishing-email-analysis/
├── README.md
├── LICENSE
├── scripts/
│ └── phishing-triage.ps1
├── iocs/
│ ├── iocs.csv
│ └── iocs.md
└── docs/
├── Lab5_Phishing_Reference_Guide.html
└── Lab5_Phishing_Cheat_Sheet.html
```
**作者:** Sean White — [LinkedIn](https://linkedin.com/in/seanwhite56) · [GitHub](https://github.com/UscTrojansDodgers56)
标签:AI合规, IPv6, Libemu, PowerShell, 威胁情报, 安全, 开发者工具, 数字取证, 电子邮件安全, 网页分析工具, 自动化脚本, 超时处理, 钓鱼分析