[Blue Team Labs Online Write-up] The Walking Packets (使用Arkime调查Web入侵)
Chicken02487 · 5分钟阅读 · 2025年12月3日
--
1
Listen
Share
点击或回车查看全尺寸图片
blueteamlabs.online/home/invest…
安全运营
标签: Arkime PCAP 闭路电视
场景描述
Zeta-9 运营着一个集中式监控平台,用于监视实验室活动并标记异常。实验室设施发生爆炸后,公司的边界防御系统记录到防火墙被突破。
在检测到事件后的几个小时内(具体时间为 2025年9月24日 星期三 00:00:00 UTC 至 2025年9月24日 星期三 02:52:00 UTC),Arkime 捕获到一系列异常事件:对监控控制台的非典型 HTTP 请求。
使用 Arkime 网络日志,重构攻击者的行为链。
本次挑战中,Arkime 可通过以下地址访问:
URL: http://localhost:8005/sessions
凭证: admin / admin
警告! 别忘了先启动服务:
systemctl start arkimeviewer
环境感知与证据发现工具
点击或回车查看全尺寸图片
调查机器初始化完成后,可以使用 sudo systemctl start arkimeviewer 启动 Arkime。可以看到桌面上还有一个 CyberChef 文件夹和任务简报文件,但任务简报目前并不重要,所以我们将重点放在 Arkime 上。
点击或回车查看全尺寸图片
启动 Arkime 服务后,打开浏览器访问 http://localhost:8005,系统会弹出 Arkime 的基础认证窗口。我们需要输入 "admin" 和 "admin" 进行登录。
点击或回车查看全尺寸图片
现在我们应该能够在浏览器中访问 Arkime 的 Web 界面了。
点击或回车查看全尺寸图片
最后,我们需要缩小时间范围,因为场景中提到“具体时间为 2025年9月24日 星期三 00:00:00 UTC 至 2025年9月24日 星期三 02:52:00 UTC”。在这个时间范围内我们大约有近40万条记录,数量相当大,但现在我们可以开始调查了。
调查过程
Q1) 攻击者使用了哪个源IP地址,并且主动攻击了哪个应用端口?
点击或回车查看全尺寸图片
首先,我会检查 SPIGraph 来查看有多少个IP以及它们之间的连接情况。我发现一个 IP 地址 91.90.124.21 与 10.0.14.53 之间存在大量的通信,因此我将检查它们之间的通信,以确定 91.90.124.21 是否属于攻击者的 IP 地址。
点击或回车查看全尺寸图片
在筛选该 IP 地址后,我首先注意到的是从 91.90.124.21 到存储控制台主机的通信,该主机的内部 IP 地址为 10.0.14.53 / 外部地址为 18.133.31.160,端口为 3000。
筛选条件:
ip.src == 91.90.124.21 && http.method == GET
点击或回车查看全尺寸图片
进一步的事件显示,从 91.90.124.21 到存储控制台有多次 SQL 注入尝试,这证实了该 IP 地址属于威胁行为者。
筛选条件:
ip.src == 91.90.124.21 && http.method == GET && http.statuscode != 404 && http.statuscode != 400
答案: 91.90.124.21, 3000
Q2) 首页返回的HTTP正文的MD5校验和是多少?
点击或回车查看全尺寸图片
要查找首页 HTTP 正文的 MD5 校验和,我们可以检查攻击者对首页的通信。Arkime 已经在这里为我们提供了该 HTTP 正文的 MD5 校验和。
然后我们查看该正文的内容,发现没有什么特别有趣的地方。通过获取正文哈希值,我们可以用它来过滤掉这个页面,只关注威胁行为者的成功攻击。
答案: ca1d882d9b1aac5f04f39509ee17f001
Q3) 攻击者调用了哪个HTTP路径来枚举存储的对象?
点击或回车查看全尺寸图片
在过滤掉上一问中返回标准 HTML 正文的所有请求后,只剩下 3 条记录。这表明威胁行为者最终成功利用了 SQL 注入漏洞,并从存储控制台下载了对象 ID 为 6 的文件。
筛选条件:
ip.src == 91.90.124.21 && http.method == GET && http.statuscode != 404 && http.statuscode != 400 && http.md5 != ca1d882d9b1aac5f04f39509ee17f001
点击或回车查看全尺寸图片
我们可以看到易受攻击的端点是 /search 路径。我们可以看到该查询的结果是返回该存储控制台上托管的所有对象。
答案: /search
Q4) 用于枚举对象记录的SQL注入载荷是什么?
点击或回车查看全尺寸图片
我们可以使用 CyberChef 中的 URL Decode 工具来解码此问题的载荷。
答案: a' OR '1'='1
Q5) 上传文件的元数据中,哪个账户名称被设置为所有者?
点击或回车查看全尺寸图片
我们可以看到所有文件的所有者都是 Frankenstein Code,这是一名研究人员,我们将在 Zeta-End 调查其工作站。
答案: Frankenstein Code
Q6) 哪个文件名元数据对应目标摄像头(攻击者外泄的文件)?
点击或回车查看全尺寸图片
在泄露了该存储控制台上的所有文件后,威胁行为者只请求下载对象 ID 为 6 的文件,即 cam06_ai_monitor_securityincident.mp4。我们可以看到存储控制台在端口 9000 上托管着带有 minio 的文件。
答案: cam06_ai_monitor_securityincident.mp4
Q7) 攻击者下载的确切S3对象键是什么?
点击或回车查看全尺寸图片
复制此键的值来回答这个问题。
答案: uploads/525e1f476a399b2675777f6c2993aba1_cam06_ai_monitor_securityincident.mp4
Q8) 攻击者调用哪个路径和ID来获取预签名下载URL?
点击或回车查看全尺寸图片
答案: /download, 6
Q9) 攻击者在获取文件时使用了哪个User-Agent字符串?
点击或回车查看全尺寸图片
User-Agent 字符串表明威胁行为者是从 Windows 工作站进行操作的。
答案: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-CA) WindowsPowerShell/5.1.26100.6584
Q10) 根据网络证据,攻击者最终到达哪个主机:端口以从存储服务中检索对象?
点击或回车查看全尺寸图片
答案: minio:9000
Q11) 下载并观看视频后,录像中显示了哪些凭据?
为了得到这个问题的答案,我有两条路径,一条是预期路径,一条是非预期路径。我使用了非预期路径完成了这次调查,但我会把两条路径都展示给你,并告诉你为什么我错过了这次调查的首杀 XD
首先,如果你没有注意到,我们确实在存储控制台主机中,该主机在 Docker 容器内运行着 minio。
点击或回车查看全尺寸图片
我先展示预期路径。为了获取文件,我们需要模拟威胁行为者的操作,请求另一个下载 URL(因为旧的已经过期了)。
点击或回车查看全尺寸图片
我们可以访问端口 3000 上的存储网站(是的,我之前不知道这个,直到 SOUFFLETRINITY 拿下首杀后我才意识到)。
点击或回车查看全尺寸图片
通过访问相同的 URL (http://localhost:3000/download?id=6),我们将获得另一个可用于下载威胁行为者所下载的相同视频的 URL。
点击或回车查看全尺寸图片
在这个视频中,隐藏着 operator39 用户的凭据,该用户是 JUMPHOST 的本地管理员,我们将在 The Headless Dead 调查中对其进行调查。
答案: operator39:halloween2025
现在,让我们看看我是如何通过非预期路径完成这个实验的。
点击或回车查看全尺寸图片
首先,我检查了端口 9000 上的 minio,但我还没有任何凭据可以登录。
首先,我将用户切换到 root 并列出所有 Docker 容器。现在我有了托管 minio 的容器 ID。
我进入该容器并查看环境变量,这些变量通常定义了用户凭据。现在我有了访问 minio 的管理员凭据。
点击或回车查看全尺寸图片
我现在可以观看任何视频,包括 SBT 团队放置的彩蛋。
已完成 The Walking Packets! - Blue Team Labs Online
我刚刚在 Blue Team Labs Online 上完成了 The Walking Packets!这是一个面向网络防御者的游戏化平台,用于测试和……
blueteamlabs.online
CSD0tFqvECLokhw9aBeRqpNzLTXFlojmzFn6OlyTg9UXZ0dCc3IqMwPPOCk+emZ/oAuwo2O7jNMHv+zJ33baHw5cYB8E9qr4WpkGscWAWcSN57W8uWxVJT+vsWipTV6gjqgFRNms4+PgiYiVQX71cbIIFjoesFw8iyyzQkKY1bYAvPjckJSK4Ae9HAi1X0LF