kyle-s-key/DFIR-Reverse-Shell-Analysis

GitHub: kyle-s-key/DFIR-Reverse-Shell-Analysis

一份详尽的DFIR案例研究,演示如何使用FTK Imager调查Windows服务器反向shell入侵事件并重构完整攻击时间线。

Stars: 0 | Forks: 0

# 🔍 DFIR 案例研究:Reverse Shell 与横向移动调查 ![FTK Imager](https://img.shields.io/badge/DFIR-FTK%20Imager-orange) ## 📌 项目概述 本项目演示了如何调查 Windows Server 2022 系统(IP:`10.0.0.2`)上触发的 Extended Detection and Response (XDR) 告警,模拟安全运营中心 (SOC) 的应急响应事件。告警指出下载并执行了一个可疑文件 (`update.ps1`),随后在端口 `443` 上出现了未授权的网络流量。我的目标是分析提供的磁盘镜像,重构攻击时间线,识别感染媒介,并提供可操作的补救措施。 ### 使用的工具: * **AccessData FTK Imager (v4.3)**:用于挂载和分析磁盘镜像及提取证据。 * **Windows Event Viewer**:用于关联系统、安全和 PowerShell 运行日志。 * **LnkParse3**:用于解析快捷方式文件以追踪恶意载荷的来源。 ## 📋 执行摘要 对提供的磁盘镜像的分析表明,这是一次高度针对性的攻击,而非随机的恶意软件感染。威胁行为者入侵了一个本地 Administrator 账户,并访问了与互联网隔离的虚拟化 Windows Server 系统。攻击者以虚拟或物理方式挂载了一个 SanDisk Cruzer Snap USB 驱动器,禁用了 Windows Defender 和 Windows 防火墙,并执行了一个 PowerShell 脚本。该初始脚本通过计划任务建立持久性,并从内部设备 (`10.0.0.55`) 下载第二阶段载荷以建立 reverse shell,从而促进了在网络中的横向移动。 ## 🛑 入侵指标 (IOCs) * **恶意文件**:`update.ps1`(桌面上的初始载荷),`update.ps1`(`AppData\Roaming` 中的第二阶段载荷;它们名称相同但是完全不同的脚本)。 * **恶意 IP / 端口**:`10.0.0.55`,端口 `443`(Reverse shell 目的地)。 * **硬件 IOC**:SanDisk Cruzer Snap USB 闪存驱动器(GUID:`{D93497F0-449F-11EF-AF42-BC2411E1CF90}`)。 * **持久化机制**:名为 "update" 的计划任务,在登录时触发。 ## ⏱️ 调查时间线 (2024年7月17日) * **05:51:23 PM**:操作系统在自7月14日离线后开始初始化。 * **05:51:30 PM**:攻击者使用 Administrator 账户成功登录到控制台。 ![事件 4624:管理员登录](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/9df04fefde201537.png) * **05:51:55 PM**:Windows Defender 实时保护被手动禁用。 ![事件 5001:Windows Defender 已禁用](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7d4a7fe544201549.png) * **05:52:30 PM**:Windows 防火墙被攻击者禁用。 * **05:54:03 PM**:SanDisk Cruzer Snap USB 闪存驱动器被挂载并分配驱动器号 `E:\`。 * **05:54:14 PM**:初始恶意脚本 (`update.ps1`) 从桌面执行。LnkParse3 分析证实该文件是直接从 USB 驱动器复制的,而不是从互联网下载的;“Droid File Identifier”和“Birth Droid File Identifier”的最后 12 个十六进制字节与 USB 驱动器的 GUID 相同。 ![LnkParse3 输出](https://raw.githubusercontent.com/kyle-s-key/DFIR-Reverse-Shell-Analysis/main/screenshots/lnkparse3.output.png) * **05:54:17 PM**:PowerShell 日志证实该脚本更改了执行策略,禁用了实时监控,从 `10.0.0.55` 下载了同样名为 `update.ps1` 的辅助脚本,注册了计划任务,并强制系统重启。 ![第一个 update.ps1 脚本](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/df3bd9fcf1201612.png) ![事件 4104:第一个 update.ps1 脚本运行](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/2258feabde201625.png) * **05:54:18 PM**:服务器启动了强制注销和关机。 * **06:01:16 PM**:系统完成重启,进程恢复。 * **06:01:54 PM**:计划任务在初始化时触发,从 Administrator 的 `AppData\Roaming` 文件夹静默执行第二阶段 `update.ps1`。 ![事件 600:恶意 PowerShell 脚本运行](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8fc001a45e201639.png) * **执行后**:脚本启动了 15 秒的休眠周期,然后在端口 `443` 上建立到 `10.0.0.55` 的 TCP 客户端连接,授予攻击者一个实时的 reverse shell。 ![第二阶段 update.ps1 脚本](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b895bb9c6a201653.png) ## 🛡️ 补救措施与建议 为了消除威胁并保护环境,我建议 SOC 采取以下行动: ### 遏制与根除 **1. 网络隔离**:立即将受损服务器和 `10.0.0.55` 处的内部设备从本地网络中断开。 **2. 防火墙封锁**:在防火墙级别封锁所有进出 `10.0.0.55` 的流量,以防止进一步的横向移动。 **3. 账户停用**:禁用受损的 Administrator 账户,并强制重置任何关联账户的密码。 **4. 系统擦除**:在获取取证镜像后,完全擦除服务器和 `10.0.0.55` 系统,因为当攻击者持有管理员访问权限时,恶意软件扫描是不够的。 ### 恢复与预防 **1. 系统恢复**:使用已知的良好备份重建受影响的系统,并在恢复后严密监控其出站流量。 **2. 访问控制**:限制对机房的物理访问,并在 hypervisor 上禁用未经授权的 USB 直通。 **3. 身份验证升级**:对所有管理账户强制执行多因素认证 (MFA),并确保严格遵循最小权限原则。 **4. 检测工程**:创建专门针对本次事件中观察到的 PowerShell 执行行为的新的 XDR 检测规则。
标签:AI合规, DAST, FTK Imager, IP 地址批量处理, OpenCanary, PE 加载器, PowerShell攻击, TSCM, USB攻击, Windows Server 2022, 入口点分析, 典型案例, 安全运营中心, 恶意软件分析, 搜索语句(dork), 攻击链重建, 数字取证, 横向移动, 深度包检测, 渗透测试后遗症, 磁盘取证, 编程规范, 网络安全分析, 网络映射, 自动化脚本, 计划任务持久化, 逆向Shell