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, 威胁情报, 安全, 开发者工具, 数字取证, 电子邮件安全, 网页分析工具, 自动化脚本, 超时处理, 钓鱼分析