BlackOclock/FormBook-SnakeKeylogger-Analysis

GitHub: BlackOclock/FormBook-SnakeKeylogger-Analysis

基于Wireshark的FormBook/SnakeKeylogger恶意软件PCAP流量分析实战案例,展示从协议层级到数据外泄的完整感染链调查过程。

Stars: 0 | Forks: 0

### **被分析文件** ##### * **在本次分析中,仅使用了 'Just' PCAP 文件!不需要 EML 和 ZIP 文件;** ![Malware-Traffic-Analysis.net Source Files](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/20f2ae55d6233556.png) **\*图 1:在 malware-traffic-analysis.net 下载的源文件 - 仅使用了 'Just' PCAP 文件\*** **1.使用 PROTOCOL HIERARCHY(协议层级)来理解流量结构** ![Protocol Hierarchy](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/053c3655cc233600.png) **嗯,在这里我们看到有大量的 TLS 数据包和字节(6452827-占总流量的 %95)!(可能下载了恶意软件)!** **\*TLS 用于加密文件。** **2. 使用 Conversations(会话)来检测高流量主机 (10.1.9.101)** ![Conversations](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/72510207bb233603.png) **\*检查 Conversations 的目的是查看哪个 IP 之间有较多的数据包** **\*但是如果存在大量的 TLS,我们必须检查名称解析;** ![Conversations](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/532602de2c233604.png) **嗯,可能存在恶意链接(IP)!让我们检查一下 :)** 1. **51.159.84.185(这个 IP 看起来是干净的) - 1zil1.s3.cubbit.eu 4 MB** 2. **172.253.63.95(这个 IP 看起来是干净的) - firebasestorage.googleapis.com 3 MB** 3. **162.254.34.31 - eraqron.shop ( 11/93 个安全供应商标记此 IP 地址为恶意 )** 4. **104.21.67.152 - reallyfreegeoip.org (它是干净的)** 5. **132.226.8.169 - checkip.dyndns.com ( 1/93 个安全供应商标记此 IP 地址为恶意 )** 6. **149.154.166.110 - api.telegram.org (1/93 个安全供应商标记此 IP 地址为恶意 )** **这是 VirusTotal 的结果。但我们不能 %100 确定 VirusTotal 的结果。因此,我们现在必须分析流量。第一步;在 whatismyipaddress.com 上检查 (51.159.84.185, 172.253.63.95)。我们的目标是找到这些 IP 背后的云提供商。我们在那里也找不到任何东西。** **但是,如果我们将在 virustotal 中搜索作为链接 (1zil1.s3.cubbit.eu) 的 51.159.84.185** ![VirusTotal](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8468db0e84233605.png) **我们看到该链接被 7/93 个安全供应商标记为恶意域名** **同样,如果我们搜索作为链接 'firebasestorage.googleapis.com' 的 172.253.63.95** ![VirusTotal](https://raw.githubusercontent.com/BlackOclock/FormBook-SnakeKeylogger-Analysis/main/images/172.253-63.95-link.png) **该链接的结果是 2/93 个安全供应商标记此域名为恶意** **“IP 是干净的,域名是恶意的。这表明使用了 IP 轮换策略:所以攻击者正在更改 IP,而不是域名。 ”** **3. 使用 ENDPOINTS(端点)查看 IP 之间的流量数据** ![EndPoints](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/add6967bc9233607.png) **4 MB 数据由 51.159.84.185 '1zil1.s3.cubbit.eu' 发送到 10.1.9.101** **3 MB 数据由 172.253.63.95 'firebasestorage.googleapis.com' 下载到 10.1.9.101** **4. 是时候在 Wireshark 中检查 '172.253.63.95' 的流量了** **当我们从第一个数据包开始检查时,我们可以在 2026-01-09 18:04:43 看到 172.253.63.95 和 10.0.9.101 之间在 (HTTPS)443 和 49895 端口上的握手。** **![First Handshake on 3. packet between with 172.253.63.95 and 10.1.9.101 ](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/14167450c1233609.png)** **嗯,我们可以在过滤器上输入 ip.src==172.253.63.95 and ip.dst == 10.1.9.101 \&\& tcp.port == 443** **注意:此过滤器显示从 Firebase (172.253.63.95) 到受害者 (10.1.9.101) 的所有 HTTPS 流量。** **我们已经从 Endpoints 表中知道有 3 MB 数据从这个 IP 发送到 10.1.9.101。现在,让我们看看它是何时发生的以及有多快。** **![I/O Graphs ](https://raw.githubusercontent.com/BlackOclock/FormBook-SnakeKeylogger-Analysis/main/images/spike.png)** **图表显示在感染瞬间出现了 1500+ 数据包/秒的巨大峰值。** **这不是正常的 Web 流量 – 它是文件下载。** **- 源:172.253.63.95 (firebasestorage.googleapis.com)** **- 目的地:10.1.9.101 (受害者)** **- 峰值速率:18:04:43 时 1500+ 数据包/秒** **- 持续时间:~1 秒** **- 总数据:3 MB(由 Endpoints 确认)** **这是第一阶段恶意软件被下载的确切时刻。** **如果我们使用过滤器 ip.addr == 172.253.63.95,我们可以看到此 IP 的最后一个数据包。(时间是我们要分析感染时间线的最重要因素。)。此 IP 的最后一个数据包是 2038,时间为 18:04:44** **![Last packet of 172.253.63.95 ](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1feb42f1d6233618.png)** **你可能想知道数据包 5069!让我解释一下;数据包 2038 和数据包 5069 之间有 3 秒的间隔。** **5069 18:04:47 RST, ACK 连接关闭(嗯,这意味着连接被 RST 数据包强制关闭)。我们必须检查其他数据包来理解这个事件。** **5. 是时候在 Wireshark 中检查 '51.159.84.185' 的流量了** **在数据包 2039,我们看到 51.159.84.185 '1zil1.s3.cubbit.eu' 想要连接到主机 (10.1.9.101)** **![Connection of 51.159.84.185](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/14167450c1233609.png)** **在视图中,我们看到主机和 51.159.84.185 之间在 49896 和 443 (HTTPS) 端口上的握手** **当我使用过滤器 'ip.src== 51.159.84.185 and ip.dst == 10.1.9.101 and tcp.port == 443' 时,我看到第二个文件(4 MB,由 Endpoints 确认)在 18:04:46 开始下载。第一次下载在 18:04:44 完成,仅 2 秒后,在 18:04:46,第二次下载开始。并且第二次下载在 18:04:47 的数据包 5067 处完成。那只有 1 秒!** **让我用 I/O Graphs 解释一下;** **第一次下载详情 (ip.src == 172.253.63.95)** **![First Download](https://raw.githubusercontent.com/BlackOclock/FormBook-SnakeKeylogger-Analysis/main/images/spike1.png)** **从 firebasestorage.googleapis.com 下载 3 MB,峰值速度 200 数据包/秒。** **第二次下载详情 (ip.src == 51.159.84.185)** **[第二次下载](images/spike2.png)** **从 cubbit.eu 下载 4 MB,峰值速度 ~100 数据包/秒。** **到受害者的总体流量 (ip.dst == 10.1.9.101)** **[总体流量](images/iographs-host.png)** **在 4.3 秒内进行了两次大文件下载。** **第二次下载在 5067 数据包完成,并且在 18:04:49,172.253.63.95 和 51.159.84.185 的连接被 RST 数据包强制关闭。** **[强制关闭](images/RST.png)** **132.226.8.169 IP 在 18:04:49 连接到主机 (10.1.9.101) 的 80 (HTTP) 端口。如果我们输入过滤器 ' ip.src ==132.226.8.169 and ip.dst == 10.1.9.101 and tcp.port == 80' 并检查数据包内部。并检查数据包内容,我们看到:'Current IP CheckCurrent IP Address: 173.66.46.97\\r\\n'。这表明恶意软件查询了受害者的公网 IP 地址。响应显示了受害者的真实 IP:173.66.46.97。** **[I/O Graphs](images/132-226-8-169.png)** **到 checkip.dyndns.org 的流量低但有规律 – 信标行为。** **[I/O Graphs](images/132-226-8-169.png)** **如果我们检查 File-->Export Object --> HTTP(因为我们可以看到数据字节和时间线)** **[导出对象](images/132-226-8-169-bytes.png)** **嗯,每个数据包都包含相同的响应:受害者的公网 IP (173.66.46.97)。这证实了恶意软件定期检查受害者的公网 IP – 一种典型的信标技术。\*\*这是枚举。(典型信标技术)\*\*** **如果我们继续检查其他数据包,我们可以看到;104.21.67.152 reallyfreegeiop.org (C2?) IP 在 18:04:50 连接到主机 (10.1.9.101) 的 443(HTTPS) 和 49898 端口。在 132.226.8.169 checkip.dyndns.org (信标) 连接 1 秒之后。** **[132.226.8.169 和 104.21.67.152 的 I/O Graphs](images/2ipio.png)** **在这个图表中我们可以看到两者都显示低但有规律的流量 – 信标和 C2 通信的典型特征。** **104.21.67.152 的连接时间在 18:05:48 和 18:05:53 最后一次连接(在 5162 数据包)之间。这是 5 秒!** **在 18:04:53,reallyfreegeoip.org 连接停止,Telegram 连接开始。这可能表明 C2 切换或冗余通信。\*\*** **![Telegram Handshake](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d1aca9d7f0233622.png)** **在 18:04:53 与 api.telegram.org 的 TLS 握手(端口 443 和 49899)。** **![104.21.67.152 and 149.154.166.110 Graphs](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8f65711d26233623.png)** **顶部:104.21.67.152 在 18:04:53 停止发送数据。底部:149.154.166.110 在同一时间开始。** **![162.254.34.31 `eraqron.shop` ](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4ea9d1f564233643.png)** **在 6 秒的间隔后,(162.254.34.31) 连接到 587 端口 (SMTP)。** **![TCP Stream `eraqron.shop` ](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/da3beaca25233652.png)** **使用 Wireshark 的 \*\*Follow TCP Stream\*\*,我们看到 AUTH LOGIN 命令:** **AUTH login cmVqdlw1wQGVyYXFyb24uc2hvcA==** **Password cmFYUmFzcWw1bzdN** **它们是 Base64。让我们解码:** **![CyberChef decode ](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c108187583233653.png)** **用户名 | `cmVqdvlwQGVyYXFyb24uc2hvCA` | `rejump@eraqron.shop`** **密码 | `cmFYUmFzcIwlzbzDN` | `raXRasql507M`** **认证成功\*\* – 它现在有权通过 `eraqron.shop` 发送电子邮件** **Wireshark 的 File---> Export Objects (IMF) 功能允许我们从 SMTP 流量中提取电子邮件。** **我们用它来:** **1. 恢复恶意软件发送的电子邮件** **2. 查看窃取了哪些数据** **3. 证明发生了数据渗透** **![IMF Objects](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1a5f689dfb233656.png)** **我们发现了两封电子邮件:** **- 5211: 926 字节(小,可能是元数据)** **- 5293: 38 kB – 包含受害者的系统信息!** **通过 SMTP \*\*渗透\*\*的系统信息** **如果我们检查 162.254.34.31 `eraqron.shop` 的 I/O Graphs;** **![I/O Graphs](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3b77567b03233658.png)** **这意味着什么:** **- 服务器 (162.254.34.31) 正在响应受害者的 SMTP 命令。** **- 这些是协议消息 – 而不是被窃取的数据本身。** **- 实际渗透的数据 (38 kB) 是从受害者发送到服务器的,这里未显示。** **:起初我在这里不熟悉 EML 文件,所以我做了一些研究并学习了如何提取 base64 编码的附件。** **在 AI 关于命令语法的帮助下!** **sed -n '/^Content-Transfer-Encoding: base64/,/^--/p' email.eml | tail -n +2 | head -n -1 > ek.b64** **base64 -d ek.b64 > extracted\_file** **![Base64 decode in eml](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/666c7af415233702.png)** **渗透数据分析** **系统信息** **| 数据 | 值 |** **|------|-------|** **| 用户 | jim.bozeman |** **| PC 名称 | DESKTOP-WIN11PC |** **| 公网 IP | 173.66.46.97 |** **| 位置 | Ashburn, Virginia, US |** **| 恶意软件版本 | Stub 4.4 | ------> ""下一步我们在 google 上搜索 Stub 4.4""** **浏览器 Cookie (Microsoft Edge)** **| 主机 | Cookie | 用途 | 风险 |** **|------|--------|---------|------|** **| .copilot.microsoft.com | \_\_cf\_bm | Cloudflare 机器人管理 | Copilot 会话劫持 |** **| .c.msn.com | ANONCHK | 匿名性检查 | MSN/Outlook 访问 |** **| .c.bing.com | MR | 来源页 | Bing 搜索历史 |** **| .c.msn.com | MR | 来源页 | MSN 会话数据 |** **\*\*这证实了恶意软件窃取了系统信息和浏览器 Cookie,使受害者的 Microsoft 帐户和在线活动面临风险。** **[什么是 Stub version 4.4](images/stub4.4.png)** **🧬 混合分析 – 恶意软件行为** **我将提取的文件上传到 Hybrid Analysis 并得到以下结果:** **!\[Hybrid Analysis](images/hybrid-analysis.png)** **| 类别 | 发现 | 匹配我们的分析 |** **|----------|---------|----------------------|** **| 间谍软件 | POST 数据到 Web 服务器 | ✅ SMTP 渗透 |** **| 指纹识别 | 识别外部 IP | ✅ checkip.dyndns.org |** **| 网络 | 联系 3 个域名/主机 | ✅ cubbit.eu, Firebase, Telegram |** **| 规避 | 标记文件为删除 | ✅ 反取证 |** **| 持久化 | 写入远程进程 | ✅ 进程注入 |** **MITRE ATT\&CK: 55 种技术,10 种战术映射。** **这证实了该文件是恶意的,并且与我们在 PCAP 中观察到的行为相符。** **在 Hybrid Analysis 中有一个 256SHA 代码;如果我们输入过滤器 '4b7a405d2d1a9411a60f5316c9a77c64955683686aec9d2aa74527d177f6ada6' ,** ``` **IN SHODAN RESULT ABOUT 162.254.34.31** ``` **![Shodan](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/5bbb61fd8b233704.png)** **| IP 地址 | 162.254.34.31 | | 主机名 | server1educt.shop | | 域名 | educt.shop | | 位置 | Byron, ABD | | 托管 | Namecheap, Inc. | | 开放端口 | 21, 25, 80, 110, 143, 443, 465, **587**, 993, 995 | | 操作系统 | Operating System Linux** 注意:Shodan 链接 https://www.shodan.io/host/162.254.34.31 **587 端口,用于从主机进行渗透 ** ``` **VirusTotal Confirmation** ``` * **我在 VirusTotal 上搜索了文件哈希,并得到以下结果:** **![VirusTotal](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/381d29d679233706.png)** * **恶意软件家族 | FormBook / SnakeKeylogger** * **文件大小 | 3.07 MB** * **上次分析 | 19 小时前** * **社区评分 | -12** **主要供应商检测结果:** **- ESET-NOD32: `Win32/Injector.Autoit.GIQ`** **- Fortinet: `Autoit/FormBook.GIZltr`** **- Sophos: `Mal/Aultinj-D`** **- TrendMicro: `TrojanSpy.Win32.NEGASTEAL.YXGBTZ`** * **这证实了下载的文件确实是恶意软件,特别是 FormBook/SnakeKeylogger 家族。** * **53/71 的检测率和供应商标签与我们在 PCAP 中观察到的行为(系统信息窃取、渗透、C2 通信)相符。** * **您可以在链接中查看 mitre 攻击:https://hybrid-analysis.com/sample/4b7a405d2d1a9411a60f5316c9a77c64955683686aec9d2aa74527d177f6ada6/69971dd291bf4626a207f0ef** # **最后的想法** **此分析仅使用 PCAP 文件进行,仅有一个月的 Wireshark 经验。** **每项发现都通过多个来源(VirusTotal、Hybrid Analysis、被动 DNS 和手动流量检查)进行了验证。** **可能存在错误,欢迎任何反馈以改进。** **这份报告不仅仅是一份分析——它是我学习旅程中的一步。** **BlackOclock** **2026年2月**
标签:Ask搜索, C2通信, DAST, FormBook, HTTP工具, IP 地址批量处理, PCAP分析, SnakeKeylogger, TLS加密流量, VirusTotal, Wireshark, 信息窃取, 协议分析, 句柄查看, 威胁情报, 安全分析报告, 开发者工具, 恶意软件分析, 恶意软件逆向, 权限提升, 流量监控, 网络安全, 网络流量分析, 键盘记录器, 隐私保护