sfjsecurity/threat-hunt-the-buyer-incident-response-centre.md

GitHub: sfjsecurity/threat-hunt-the-buyer-incident-response-centre.md

一份基于 Akira 勒索软件真实攻击场景的威胁狩猎实战训练报告,包含 40 个循序渐进的 KQL 调查挑战。

Stars: 0 | Forks: 0

# 威胁狩猎报告:THE BUYER ### Ashford Sterling Recruitment - Akira 勒索软件调查 **分析师:** Sana Jafferi **完成日期:** 2026-03-16 **调查环境:** AS-PC1, AS-PC2, AS-SRV **时间范围:** 2026年1月15日 - 1月31日 **平台:** Microsoft Defender for Endpoint + Microsoft Sentinel Image ## 事件简报 继“ The Broker ”事件中的初始入侵之后,一名勒索软件附属成员利用预先植入的 AnyDesk 访问权限卷土重来。攻击者部署了新的 C2 beacon,禁用了安全控制,转储凭据,横向移动到文件服务器,窃取数据,并在两台主机上部署了 **Akira 勒索软件** —— 所有这些都在 2026 年 1 月 27 日的 3 小时窗口内完成。 ## 目标环境 | 系统 | 角色 | 操作系统 | 状态 | |--------|------|----|--------| | `AS-PC1` | IT 工作站 | Windows 10 | 已失陷 | | `AS-PC2` | 用户工作站 | Windows 10 | 已失陷 | | `AS-SRV` | 文件服务器 | Windows Server | 已失陷 | ## 攻击链 ``` Jan 15 --► AnyDesk staged on all hosts (The Broker) Credentials dumped to C:\Users\Public\ Jan 27 --► 19:14 Re-entry via AnyDesk (david.mitchell / AS-PC2) 20:17 scan.exe - network mapped 20:22 wsync.exe deployed (C2 beacon) 20:45 LSASS dumped via named pipe 21:00 tasklist | findstr lsass 21:03 kill.bat - Defender disabled - VSS deleted 22:07 Lateral move - AS-SRV (as.srv.administrator) 22:15 updater.exe staged via PowerShell 22:18 st.exe - exfil_data.zip 22:18:33 🔴 Encryption starts - akira_readme.txt dropped 22:20 clean.bat - updater.exe deleted ``` ## 调查章节 | 章节 | 名称 | 标志 | 重点 | |---------|------|-------|-------| | 1 | 勒索信分析 | Q1-Q4 | 勒索软件识别和受害者详情 | | 2 | 基础设施 | Q5-Q8 | C2 域名、IP 和远程访问中继 | | 3 | 防御规避 | Q9-Q12 | 安全绕过和注册表篡改 | | 4 | 凭据访问 | Q13-Q14 | LSASS 转储和命名管道访问 | | 5 | 初始访问 | Q15-Q18 | 通过预先植入的远程工具重新进入 | | 6 | 命令与控制 | Q19-Q22 | C2 beacon 部署和版本控制 | | 7 | 侦察 | Q23-Q26 | 网络扫描和共享枚举 | | 8 | 横向移动 | Q27 | 基于凭据的文件服务器跳板 | | 9 | 工具传输 | Q28-Q29 | LOLBin 滥用和 PowerShell 下载 | | 10 | 数据渗出 | Q30-Q32 | 数据暂存和存档创建 | | 11 | 勒索软件部署 | Q33-Q38 | 执行、加密和勒索信 | | 12 | 反取证与范围 | Q39-Q40 | 清理和失陷主机范围 | ## MITRE_ATT&CK 覆盖范围 | 战术 | 技术 | |--------|-----------| | 初始访问 | T1204 用户执行, T1219 远程访问软件 | | 执行 | T1059.001 PowerShell, T1105 入口工具传输 | | 持久化 | T1219 远程访问软件, T1053.005 计划任务 | | 防御规避 | T1562.001 削弱防御, T1112 修改注册表, T1036 伪装, T1027 混淆 | | 凭据访问 | T1003.001 LSASS 内存 | | 发现 | T1046 网络扫描, T1135 网络共享发现 | | 横向移动 | T1021.001 远程桌面 | | 收集 | T1560 存档收集的数据 | | 渗出 | T1041 通过 C2 渗出 | | 影响 | T1486 数据加密, T1490 抑制恢复, T1485 数据破坏 | ## ✅ 已完成标志 | 标志 # | 部分 | 目标 | 答案 | |--------|---------|-----------|--------| | Q1 | 勒索信 | 勒索软件组织 | `Akira` | | Q2 | 勒索信 | TOR 谈判地址 | `akiral2iz6a7qgd3ayp3l6yub7xx2uep76idk3u2kollpj5z3z636bad.onion` | | Q3 | 勒索信 | 受害者唯一 ID | `813R-QWJM-XKIJ` | | Q4 | 勒索信 | 加密文件扩展名 | `.akira` | | Q5 | 基础设施 | Payload 域名 | `sync.cloud-endpoint.net` | | Q6 | 基础设施 | 勒索软件暂存域 | `cdn.cloud-endpoint.net` | | Q7 | 基础设施 | C2 IP 地址 | `104.21.30.237, 172.67.174.46` | | Q8 | 基础设施 | 远程工具中继域 | `relay-0b975d23.net.anydesk.com` | | Q9 | 防御规避 | 规避脚本 | `kill.bat` | | Q10 | 防御规避 | 规避脚本 SHA256 | `0e7da57d92eaa6bda9d0bbc24b5f0827250aa42f295fd056ded50c6e3c3fb96c` | | Q11 | 防御规避 | 注册表值 | `DisableAntiSpyware` | | Q12 | 防御规避 | 注册表修改时间 | `21:03:42` | | Q13 | 凭据访问 | 进程搜寻命令 | `tasklist \| findstr lsass` | | Q14 | 凭据访问 | 访问的命名管道 | `\Device\NamedPipe\lsass` | | Q15 | 初始访问 | 远程访问工具 | `AnyDesk` | | Q16 | 初始访问 | 可疑执行路径 | `C:\Users\Public` | | Q17 | 初始访问 | 攻击者外部 IP | `88.97.164.155` | | Q18 | 初始访问 | 失陷用户 | `david.mitchell` | | Q19 | 命令与控制 | C2 beacon 文件名 | `wsync.exe` | | Q20 | 命令与控制 | Beacon 部署路径 | `C:\ProgramData` | | Q21 | 命令与控制 | 原始 Beacon SHA256 | `66b876c52946f4aed47dd696d790972ff265b6f4451dab54245bc4ef1206d90b` | | Q22 | 命令与控制 | 替换 Beacon SHA256 | `0072ca0d0adc9a1b2e1625db4409f57fc32b5a09c414786bf08c4d8e6a073654` | | Q23 | 侦察 | 扫描器工具 | `scan.exe` | | Q24 | 侦察 | 扫描器 SHA256 | `26d5748ffe6bd95e3fee6ce184d388a1a681006dc23a0f08d53c083c593c193b` | | Q25 | 侦察 | 扫描器参数 | `/portable "C:/Users/david.mitchell/Downloads/" /lng en_us` | | Q26 | 侦察 | 枚举的 IP | `10.1.0.154, 10.1.0.183` | | Q27 | 横向移动 | 横向移动账户 | `as.srv.administrator` | | Q28 | 工具传输 | 首次下载 LOLBIN | `bitsadmin.exe` | | Q29 | 工具传输 | 备用 PowerShell cmdlet | `Invoke-WebRequest` | | Q30 | 数据渗出 | 暂存工具 | `st.exe` | | Q31 | 数据渗出 | 暂存工具 SHA256 | `512a1f4ed9f512572608c729a2b89f44ea66a40433073aedcd914bd2d33b7015` | | Q32 | 数据渗出 | 渗出存档 | `exfil_data.zip` | | Q33 | 勒索软件 | 勒索软件文件名 | `updater.exe` | | Q34 | 勒索软件 | 勒索软件 SHA256 | `e609d070ee9f76934d73353be4ef7ff34b3ecc3a2d1e5d052140ed4cb9e4752b` | | Q35 | 勒索软件 | AS-SRV 上的暂存进程 | `powershell.exe` | | Q36 | 勒索软件 | 恢复阻止命令 | `wmic shadowcopy delete` | | Q37 | 勒索软件 | 勒索信来源 | `updater.exe` | | Q38 | 勒索软件 | 加密开始时间 (UTC) | `22:18:33` | | Q39 | 反取证 | 清理脚本 | `clean.bat` | | Q40 | 反取证 | 受影响主机 | `as-pc2, as-srv` | ## 标志详解 ### 🔴 第一章:勒索信分析 #### 标志 1:威胁行为者 `[中等]` 从勒索信中识别负责的勒索软件组织。 `T1486 数据加密` `DeviceFileEvents` `勒索信分析` **重要性:** Akira 是一个以双重勒索闻名的 RaaS(勒索软件即服务)操作——加密文件并威胁发布窃取的数据。 ``` // Find the ransom note - answers to Q1, Q2, Q3 and Q4 are inside the file DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileCreated" | where FileName contains "readme" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, FolderPath | order by TimeGenerated asc ``` Image #### 标志 2:谈判门户 `[中等]` 勒索信提供了联系方式。找到 TOR 谈判地址。 `T1486 数据加密` `勒索信分析` `威胁情报` **重要性:** 记录攻击者的沟通渠道,用于威胁情报和执法部门报告。 #### 标志 3:受害者 ID `[中等]` 每个受害者都会收到一个唯一标识符。找到它。 `T1486 数据加密` `勒索信分析` `威胁情报` **重要性:** 确认特定活动,并能与其他 Akira 受害者进行情报关联。 #### 标志 4:加密扩展名 `[中等]` 加密文件被追加了新的扩展名。识别它。 `T1486 数据加密` `DeviceFileEvents` `影响分析` **重要性:** 确认勒索软件变体,并能对环境范围内的受影响范围进行评估。 ``` // Compare FileName (encrypted) with PreviousFileName (original) to identify the extension DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileRenamed" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, PreviousFileName, FolderPath | order by TimeGenerated asc ``` ### 🌐 第二章:基础设施 #### 标志 5:Payload 域名 `[中等]` 工具是从外部域下载的。识别它。 `T1105 入口工具传输` `DeviceProcessEvents` `基础设施分析` **重要性:** 支持边界阻断和威胁情报关联。攻击者使用了三种混淆的 PowerShell 下载方法来规避检测。 ``` // Find download commands revealing the payload domain DeviceProcessEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where ProcessCommandLine contains "http" | where FileName has_any ("bitsadmin.exe", "powershell.exe") | project TimeGenerated, DeviceName, FileName, ProcessCommandLine | order by TimeGenerated asc ``` Image #### 标志 6:勒索软件暂存域 `[中等]` Payload 建立了出站连接。找到暂存域。 `T1071 应用层协议` `DeviceNetworkEvents` `基础设施分析` **重要性:** 独立的暂存基础设施显示了有条不紊的战术技能——有组织的勒索软件附属成员的标志。 ``` // Find outbound connections from the C2 implant DeviceNetworkEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where RemoteUrl != "" | where InitiatingProcessFolderPath contains "ProgramData" | project TimeGenerated, DeviceName, RemoteUrl, RemoteIP, RemotePort, InitiatingProcessFileName | order by TimeGenerated asc ``` Image #### 标志 7:C2 IP 地址 `[中等]` C2 基础设施解析为多个 IP。找到这两个。 `T1071 应用层协议` `DeviceNetworkEvents` `网络分析` **重要性:** 两者都是 Cloudflare 代理,掩盖了真实来源。支持防火墙阻断和情报关联。 ``` // Summarize IPs contacted by the C2 implant DeviceNetworkEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where RemoteUrl contains "cloud-endpoint" | summarize Domains=make_set(RemoteUrl) by RemoteIP ``` image #### 标志 8:远程工具中继 `[中等]` 远程工具通过中继服务器路由。找到使用的特定中继域。 `T1219 远程访问软件` `DeviceNetworkEvents` `基础设施分析` **重要性:** 确认入侵期间哪个会话处于活动状态,并支持阻断该特定中继。 ``` // Find relay connections made by the remote access tool DeviceNetworkEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where RemoteUrl contains "relay" | where RemoteUrl != "" | project TimeGenerated, DeviceName, RemoteUrl, RemoteIP, InitiatingProcessFileName | order by TimeGenerated asc ``` image ### 🛡️ 第三章:防御规避 #### 标志 9:规避脚本 `[困难]` 在部署勒索软件之前,使用了一个脚本来禁用安全控制。 `T1562.001 削弱防御` `DeviceFileEvents` `防御规避` **重要性:** 该脚本禁用了多个 Defender 组件并修改了注册表——由 C2 植入程序创建,为勒索软件扫清道路。 ``` // Find script files created by suspicious processes in ProgramData DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileCreated" | where FolderPath contains "ProgramData" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName | order by TimeGenerated asc ``` image #### 标志 10:规避脚本哈希 `[困难]` 识别规避脚本的 SHA256。 `T1562.001 削弱防御` `DeviceFileEvents` `恶意软件识别` **重要性:** 支持威胁情报关联和检测规则创建。 #### 标志 11:注册表篡改 `[困难]` Windows Defender 通过注册表修改被禁用。找到注册表值名称。 `T1112 修改注册表` `DeviceRegistryEvents` `防御规避` **重要性:** 策略注册表更改在重启后有效——比进程级别的禁用更持久。 ``` // Find registry modifications to Windows Defender policy keys DeviceRegistryEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where RegistryKey contains "Windows Defender" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, RegistryKey, RegistryValueName, RegistryValueData | order by TimeGenerated asc ``` image #### 标志 12:注册表时间戳 `[困难]` 确定注册表被修改的确切 UTC 时间。 `T1112 修改注册表` `DeviceRegistryEvents` `时间线分析` **重要性:** 锚定防御规避阶段——此时间戳也有助于找到标志 36。 ``` // Find the exact timestamp of the Defender registry modification DeviceRegistryEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where RegistryKey contains "Windows Defender" | where RegistryKey contains "Policies" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, RegistryKey, RegistryValueName | order by TimeGenerated asc ``` image ### 🔑 第四章:凭据访问 #### 标志 13:进程搜寻 `[高级]` 攻击者枚举正在运行的进程,以定位凭据窃取的目标。找到该命令。 `T1003.001 LSASS 内存` `DeviceProcessEvents` `凭据访问` **重要性:** 经典的预转储步骤——攻击者在内存提取之前定位 `lsass.exe`。 ``` // Find process enumeration commands targeting lsass DeviceProcessEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where ProcessCommandLine contains "lsass" | project TimeGenerated, DeviceName, FileName, ProcessCommandLine | order by TimeGenerated asc ``` image #### 标志 14:凭据管道 `[高级]` 在凭据窃取期间访问了一个命名管道。找到完整的管道路径。 `T1003.001 LSASS 内存` `DeviceEvents` `凭据访问` **重要性:** 识别凭据转储方法并提供检测机会。 ``` // Find named pipe events related to credential access DeviceEvents | where ActionType == "NamedPipeEvent" | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | extend PipeName = tostring(parse_json(AdditionalFields).PipeName) | where PipeName contains "lsass" | project TimeGenerated, DeviceName, PipeName, InitiatingProcessFileName, AdditionalFields | order by TimeGenerated asc ``` image ### 🚪 第五章:初始访问 #### 标志 15:远程访问工具 `[困难]` 从上一次攻击中预先植入了一个远程访问工具。识别它。 `T1219 远程访问软件` `DeviceProcessEvents` `初始访问` **重要性:** 在“ The Broker ”期间预先植入——攻击者数月后利用此据点卷土重来,展示了不完全修复的风险。 ``` // Find remote access tools running from unusual locations on attack day DeviceProcessEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where FolderPath contains "Public" | project TimeGenerated, DeviceName, FileName, FolderPath, ProcessCommandLine | order by TimeGenerated asc ``` image #### 标志 16:可疑执行路径 `[困难]` 远程访问工具从异常位置运行。找到完整的目录路径。 `T1219 远程访问软件` `DeviceFileEvents` `持久化分析` **重要性:** 全局可写位置——无需管理员权限,非常适合持久化。 ``` // Find where the remote access tool was installed during The Broker DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-15) .. datetime(2026-01-16)) | where ActionType == "FileCreated" | where FileName contains "AnyDesk" | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256 | order by TimeGenerated asc ``` image #### 标志 17:攻击者 IP `[困难]` 识别攻击者的外部 IP 地址。 `T1219 远程访问软件` `DeviceNetworkEvents` `网络分析` **重要性:** 支持边界阻断和威胁情报共享。 ``` // Find external IPs connecting through the remote access tool DeviceNetworkEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where InitiatingProcessFileName =~ "anydesk.exe" | where RemoteIP != "" | where RemoteUrl == "" | summarize count() by RemoteIP | order by count_ desc ``` image #### 标志 18:失陷用户 `[困难]` 识别 AS-PC2 上失陷的用户账户。 `T1078 有效账户` `DeviceLogonEvents` `身份分析` **重要性:** 支持立即重置凭据和范围评估。 ``` // Find successful remote logons to AS-PC2 on attack day DeviceLogonEvents | where DeviceName == "as-pc2" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where ActionType == "LogonSuccess" | where LogonType == "RemoteInteractive" | project TimeGenerated, DeviceName, AccountName, RemoteIP, LogonType | order by TimeGenerated asc ``` image ### 📡 第六章:命令与控制 #### 标志 19:主要 C2 Beacon `[困难]` 在上一个 Beacon 失败后,部署了一个新的 Beacon。识别它。 `T1071 应用层协议` `DeviceFileEvents` `恶意软件识别` **重要性:** 主要植入程序建立 C2 通信,混入正常的 HTTPS 流量中。 ``` // Find suspicious executables created in ProgramData DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileCreated" | where FolderPath contains "ProgramData" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where FileName endswith ".exe" | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName | order by TimeGenerated asc ``` image #### 标志 20:Beacon 位置 `[困难]` 识别 Beacon 部署的位置。 `T1071 应用层协议` `DeviceFileEvents` `恶意软件识别` **重要性:** 揭示攻击者的暂存偏好——所有用户均可访问,混入合法的应用程序数据中。 #### 标志 21:原始 Beacon 哈希 `[困难]` 首次部署的 Beacon 随后被替换。找到原始文件的 SHA256。 `T1071 应用层协议` `DeviceFileEvents` `恶意软件识别` **重要性:** 支持检测签名创建和与其他 Akira 活动的关联。 ``` // Find all versions of the beacon created on AS-PC2 DeviceFileEvents | where DeviceName == "as-pc2" | where ActionType == "FileCreated" | where FolderPath contains "ProgramData" | where FileName == "wsync.exe" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256 | order by TimeGenerated asc ``` image #### 标志 22:替换 Beacon 哈希 `[困难]` 在第一个失败后部署了第二个 Beacon。找到其 SHA256。 `T1071 应用层协议` `DeviceFileEvents` `恶意软件识别` **重要性:** 不同的哈希确认攻击者主动管理 C2——部署了更稳定的变体。 ``` // Find the replacement beacon DeviceFileEvents | where DeviceName == "as-pc2" | where ActionType == "FileModified" | where FolderPath contains "ProgramData" | where FileName == "wsync.exe" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256 | order by TimeGenerated asc ``` image ### 🔭 第七章:侦察 #### 标志 23:扫描器工具 `[中等]` 部署了一个网络扫描器。识别它。 `T1046 网络服务扫描` `DeviceFileEvents` `发现` **重要性:** 用于映射内部主机以进行横向移动目标定位。 ``` // Find scanning tools downloaded on attack day DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileCreated" | where FolderPath contains "Downloads" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256 | order by TimeGenerated asc ``` image #### 标志 24:扫描器哈希 `[中等]` 识别扫描器的 SHA256。 `T1046 网络服务扫描` `DeviceFileEvents` `恶意软件识别` **重要性:** 支持检测规则创建和与其他威胁行为者活动的关联。 #### 标志 25:扫描器执行 `[中等]` 扫描器使用特定参数执行。找到执行时的完整参数。 `T1046 网络服务扫描` `DeviceProcessEvents` `发现` **重要性:** 便携模式不留下安装痕迹——故意的规避技术。 ``` // Find how the scanner was executed with arguments DeviceProcessEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where FileName == "advanced_ip_scanner.exe" | project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessCommandLine | order by TimeGenerated asc ``` image #### 标志 26:网络枚举 `[中等]` 攻击者枚举了特定主机上的网络共享。找到这两个内部 IP。 `T1135 网络共享发现` `DeviceProcessEvents` `发现` **重要性:** 目标导向的数据定位——攻击者识别特定的窃取目标。 ``` // Find net view commands used to enumerate shares DeviceProcessEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where FileName == "net.exe" | where ProcessCommandLine contains "view" | project TimeGenerated, DeviceName, FileName, ProcessCommandLine | order by TimeGenerated asc ``` image ### 🔀 第八章:横向移动 #### 标志 27:横向移动账户 `[困难]` 一个账户被用于访问 AS-SRV。识别它。 `T1021.001 远程桌面` `DeviceLogonEvents` `横向移动` **重要性:** 从 LSASS 转储中获取的账户——展示了凭据窃取的连锁反应。 ``` // Find successful remote logons to AS-SRV DeviceLogonEvents | where DeviceName == "as-srv" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where ActionType == "LogonSuccess" | where LogonType == "RemoteInteractive" | project TimeGenerated, DeviceName, AccountName, RemoteIP, LogonType | order by TimeGenerated asc ``` image ### ⬇️ 第九章:工具传输 #### 标志 28:下载方法 `[中等]` 使用了一个 Living-off-the-land 二进制文件,但遇到了问题。识别它。 `T1105 入口工具传输` `DeviceProcessEvents` `工具传输` **重要性:** 滥用原生 Windows 二进制文件来绕过信任系统二进制文件的安全工具。 ``` // Find LOLBin download activity DeviceProcessEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where FileName has_any ("bitsadmin.exe", "certutil.exe", "mshta.exe", "wscript.exe") | project TimeGenerated, DeviceName, FileName, ProcessCommandLine | order by TimeGenerated asc ``` image #### 标志 29:备用方法 `[中等]` 在第一个工具失败后,使用了另一种方法。找到 PowerShell cmdlet。 `T1059.001 PowerShell` `DeviceEvents` `工具传输` **重要性:** 使用了三种混淆技术——base64、字符串拼接、变量分割——展示了攻击者的适应能力。 ``` // Find PowerShell download commands used as fallback DeviceEvents | where ActionType == "PowerShellCommand" | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where AdditionalFields contains "Uri" | project TimeGenerated, DeviceName, AdditionalFields | order by TimeGenerated asc ``` image ### 📦 第十章:数据渗出 #### 标志 30:暂存工具 `[困难]` 使用了一个工具来压缩数据以便渗出。识别它。 `T1560 存档收集的数据` `DeviceFileEvents` `数据渗出` **重要性:** 双重勒索策略——窃取的数据给了攻击者两个控制受害者的筹码。 ``` // Find compression tools created in ProgramData DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileCreated" | where FolderPath contains "ProgramData" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where FileName endswith ".exe" | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName | order by TimeGenerated asc ``` image #### 标志 31:暂存工具哈希 `[困难]` 识别暂存工具的 SHA256。 `T1560 存档收集的数据` `DeviceFileEvents` `恶意软件识别` **重要性:** 支持威胁情报关联和检测规则创建。 #### 标志 32:渗出存档 `[困难]` 识别为渗出创建的存档。 `T1560 存档收集的数据` `DeviceFileEvents` `数据渗出` **重要性:** 识别存档支持对窃取数据的范围进行评估。 ``` // Find archive files created on attack day DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where ActionType == "FileCreated" | where FileName has_any (".zip", ".7z", ".rar", ".tar") | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256 | order by TimeGenerated asc ``` image ### 💣 第十一章:勒索软件部署 #### 标志 33:勒索软件文件名 `[高级]` 勒索软件伪装成合法进程。找到其文件名。 `T1036 伪装` `DeviceFileEvents` `影响分析` **重要性:** 伪装成系统实用程序可以避免用户和监控工具的怀疑。 ``` // Find suspicious executables staged on AS-SRV before encryption DeviceFileEvents | where DeviceName == "as-srv" | where ActionType == "FileCreated" | where FolderPath contains "ProgramData" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where FileName endswith ".exe" | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName | order by TimeGenerated asc ``` image #### 标志 34:勒索软件哈希 `[高级]` 识别勒索软件二进制文件的 SHA256。 `T1486 数据加密` `DeviceFileEvents` `恶意软件识别` **重要性:** 支持创建全局检测签名和威胁情报关联。 #### 标志 35:勒索软件暂存 `[高级]` 勒索软件在执行前被投放到 AS-SRV 上。是什么进程暂存了它? `T1059.001 PowerShell` `DeviceFileEvents` `影响分析` **重要性:** 确认 C2 交付方法并提供未来的检测机会。 ``` // Find what process created the ransomware binary on AS-SRV DeviceFileEvents | where DeviceName == "as-srv" | where ActionType == "FileCreated" | where FolderPath contains "ProgramData" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, FolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine | order by TimeGenerated asc ``` image #### 标志 36:恢复阻止 `[高级]` 攻击者删除了备份副本以阻止恢复。找到完整的命令。 `T1490 抑制系统恢复` `DeviceProcessEvents` `影响分析` **重要性:** 阻止在不支付赎金的情况下恢复文件——标准的预加密步骤。 ``` // Find recovery prevention command executed during defense evasion DeviceProcessEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27T21:00:00Z) .. datetime(2026-01-27T21:15:00Z)) | where FileName has_any ("wmic.exe", "vssadmin.exe", "bcdedit.exe", "wbadmin.exe") | project TimeGenerated, DeviceName, FileName, ProcessCommandLine | order by TimeGenerated asc ``` image #### 标志 37:勒索信来源 `[高级]` 加密开始后投递了一封勒索信。是什么进程投递的? `T1486 数据加密` `DeviceFileEvents` `影响分析` **重要性:** 确认负责加密和通知的确切二进制文件。 ``` // Find what process created the ransom note files DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileCreated" | where FileName contains "akira" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName | order by TimeGenerated asc ``` image #### 标志 38:加密开始 `[高级]` 确定加密何时开始。找到勒索信被投递的时间。 `T1486 数据加密` `DeviceFileEvents` `时间线分析` **重要性:** 锚定影响阶段——对恢复团队确定优先级至关重要。 ### 🧹 第十二章:反取证与范围 #### 标志 39:清理脚本 `[困难]` 勒索软件二进制文件在执行后被删除。是什么脚本删除了它? `T1485 数据破坏` `DeviceFileEvents` `反取证` **重要性:** 蓄意的反取证——阻止恢复和分析勒索软件样本。 ``` // Find what deleted files after encryption DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where ActionType == "FileDeleted" | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where InitiatingProcessCommandLine contains ".bat" | project TimeGenerated, DeviceName, FileName, FolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine | order by TimeGenerated asc ``` image #### 标志 40:受影响主机 `[困难]` 确定失陷的完整范围。哪些主机受到了影响? `T1486 数据加密` `DeviceFileEvents` `范围分析` **重要性:** 确保在修复期间不会遗漏任何受影响的系统。 ``` // Find all hosts where C2 beacon was deployed DeviceFileEvents | where DeviceName in ("as-pc1", "as-pc2", "as-srv") | where TimeGenerated between (datetime(2026-01-27) .. datetime(2026-01-28)) | where ActionType == "FileCreated" | where FileName == "wsync.exe" | summarize count() by DeviceName | order by count_ desc ``` image ## 🔑 关键 IOC | 类型 | 值 | |------|-------| | 恶意域名 | `sync.cloud-endpoint.net` | | 恶意域名 | `cdn.cloud-endpoint.net` | | C2 IP | `104.21.30.237` | | C2 IP | `172.67.174.46` | | 攻击者外部 IP | `88.97.164.155` | | C2 Beacon (原始) | `wsync.exe` - `66b876c52946f4aed47dd696d790972ff265b6f4451dab54245bc4ef1206d90b` | | C2 Beacon (替换) | `wsync.exe` - `0072ca0d0adc9a1b2e1625db4409f57fc32b5a09c414786bf08c4d8e6a073654` | | 勒索软件二进制 | `updater.exe` - `e609d070ee9f76934d73353be4ef7ff34b3ecc3a2d1e5d052140ed4cb9e4752b` | | 持久化工具 | `AnyDesk.exe` - `C:\Users\Public\AnyDesk.exe` | | AnyDesk 中继 | `relay-0b975d23.net.anydesk.com` | | 规避脚本 | `kill.bat` - `0e7da57d92eaa6bda9d0bbc24b5f0827250aa42f295fd056ded50c6e3c3fb96c` | | 清理脚本 | `clean.bat` - `C:\ProgramData\clean.bat` | | 暂存工具 | `st.exe` - `512a1f4ed9f512572608c729a2b89f44ea66a40433073aedcd914bd2d33b7015` | | 渗出存档 | `exfil_data.zip` | | 扫描器工具 | `scan.exe` - `26d5748ffe6bd95e3fee6ce184d388a1a681006dc23a0f08d53c083c593c193b` | | 失陷账户 | `david.mitchell` | | 失陷账户 | `as.srv.administrator` | | TOR 地址 | `akiral2iz6a7qgd3ayp3l6yub7xx2uep76idk3u2kollpj5z3z636bad.onion` | | 受害者 ID | `813R-QWJM-XKIJ` | ## 💠 钻石模型 | 特征 | 详情 | |---------|---------| | **对手** | Akira 勒索软件附属成员——手动操作、耐心、多阶段。重新使用了先前入侵预先植入的访问权限。 | | **基础设施** | `sync.cloud-endpoint.net`, `cdn.cloud-endpoint.net` (Cloudflare 前置)。中继:`relay-0b975d23.net.anydesk.com`。攻击者 IP:`88.97.164.155`。 | | **能力** | `wsync.exe` C2, AnyDesk 持久化, LSASS 转储, 网络扫描, 防御规避, 数据暂存, Akira 勒索软件, 反取证清理。 | | **受害者** | 入口:AS-PC2 (`david.mitchell`)。横向:AS-SRV (`as.srv.administrator`)。加密:AS-PC2, AS-SRV。共享:Clients, Payroll, Compliance, Contractors, Backups。 | ## 经验教训 **不完全的修复会导致卷土重来** —— 来自“ The Broker ”的预先植入的 AnyDesk 直接导致了数月后的这次入侵。 **混淆击败了签名检测** —— 单个 Payload 使用了三种下载方法;行为监控至关重要。 **合法工具即是武器** —— AnyDesk, bitsadmin, net.exe, wmic。LOLBin 监控不可或缺。 **从进入到加密仅 3 小时窗口** —— 执行速度快,留给检测和响应的时间极少。 **凭据窃取具有长期后果** —— 收集的凭据在数周后被重用于横向移动。 ## 修复措施 **立即** —— 隔离 AS-PC2 和 AS-SRV —— 重置 `david.mitchell` 和 `as.srv.administrator` 凭据 —— 移除 `C:\Users\Public\AnyDesk.exe` —— 封锁 `sync.cloud-endpoint.net`, `cdn.cloud-endpoint.net`, `88.97.164.155` **短期** —— 将远程工具限制在批准列表内 —— 启用 PowerShell 脚本块日志记录 —— 对 LOLBin 网络活动发出警报 —— 监控 Defender 注册表键 —— 在 `C:\ProgramData\` 中搜寻未知可执行文件 **长期** —— 所有 RDP 启用 MFA —— 网络分段 —— 共享中的蜜罐文件 —— 对“ The Broker ”进行全面修复审查 —— 不可变的异地备份 —— 应用程序白名单 *SancLogic Cyber Range - The Buyer | MDE + Sentinel (KQL)*
标签:Akira勒索软件, AMSI绕过, AnyDesk, C2通信, Conpot, DNS 反向解析, EDR, IP 地址批量处理, LSASS, Microsoft Defender, Microsoft Sentinel, PE 加载器, PowerShell攻击, Windows安全, 企业安全, 入侵分析, 凭证转储, 勒索病毒, 双重勒索, 威胁情报, 威胁检测, 威胁狩猎报告, 开发者工具, 数字取证, 数据窃取, 横向移动, 深度包检测, 编程规范, 网络安全分析, 网络资产管理, 脆弱性评估, 自动化脚本, 蓝队演练, 远程控制软件