场景:In this Sherlock, you will familiarize yourself with Sysmon logs and various useful EventIDs for identifying and analyzing malicious activities on a Windows system. Palo Alto's Unit42 recently conducted research on an UltraVNC campaign, wherein attackers utilized a backdoored version of UltraVNC to maintain access to systems. This lab is inspired by that campaign and guides participants through the initial access stage of the campaign./在这本《Sherlock》中,你将熟悉 Sysmon 日志和各种有用的 EventID,用于识别和分析 Windows 系统上的恶意活动。帕洛阿尔托的 Unit42 最近开展了一项 UltraVNC 活动的研究,攻击者利用后门版本的 UltraVNC 来维持对系统的访问权限。该实验室受该活动启发,指导参与者完成活动的初始访问阶段。
从题目中就能很明显看出来了,这是关于对 Sysmon 日志的分析,那么接下来要介绍两个概念:
1.EVTX 是 Microsoft Windows 事件记录文件的扩展名,全称为 Event Log File。 Windows 作系统使用事件记录来记录和存储各种系统事件、应用程序事件和安全事件。** 这些事件记录对于系统管理员和 IT 专业人士来说非常重要,因为它们可以帮助诊断系统问题、监控系统安全和进行故障排除。 使用 Windows 事件查看器(Event Viewer)可以查看和分析这些日志档案。 事件查看器提供了一种图形化界面,用户可以浏览、筛选和搜索事件日志中的信息。 通常,事件日志包含事件的时间戳、事件 ID、事件来源、事件类型(信息、警告、错误等)以及详细的事件描述。 此外,事件日志也可以通过命令行工具(如 wevtutil)和编程界面(如 Windows Management Instrumentation, WMI )来访问和处理。
2.Windows Sysmon是一种 Windows 系统服务和驱动程序,旨在监视和记录系统活动以增强作系统的安全性和监控能力。** Sysmon 的主要功能是捕获详细的系统事件,这些事件可以帮助系统管理员和安全专业人士识别和分析可疑行为、入侵企图以及其他安全相关事件。很多企业级的安全解决方案几乎都会对 Sysmon 日志进行分析。 在 Windows Sysmon 日志中,每个事件都有一个唯一的事件 ID(Event ID),这有助于识别和分类不同类型的系统活动。 Event ID 的说明在 Sysmon里有详细提到。
我们用事件管理器简单筛选得到答案
已筛选: 日志: File:///C:\Users\VisualBushDR\Desktop\Microsoft-Windows-Sysmon-Operational.evtx来源:: 事件 ID: 110 事件数: 56根据对事件管理器筛选 Event ID 为 1的事件,我们发现木马文件。 我们大概可以看出攻击者的攻击链
<Data Name="CurrentDirectory">C:\Users\CyberJunkie\Downloads\</Data><Data Name="User">DESKTOP-887GK2L\CyberJunkie</Data><Data Name="LogonGuid">{817bddf3-311e-65cc-a7ae-1b0000000000}</Data><Data Name="LogonId">0x1baea7</Data><Data Name="TerminalSessionId">1</Data><Data Name="IntegrityLevel">Medium</Data><Data Name="Hashes">SHA1=9AB9B12901E1EA2DF943B45AD20D8732618608CD,MD5=898277AC5894C4E1412A49040053B0D3,SHA256=445A2E800DC68DF89ABF713F3B4B632D40AE6310EF3660B42D974BB582426BC5,IMPHASH=E4E40938E4BF6C66424859ED02171C41</Data><Data Name="ParentProcessGuid">{817bddf3-3684-65cc-2d02-000000001900}</Data><Data Name="ParentProcessId">10672</Data><Data Name="ParentImage">C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe</Data><Data Name="ParentCommandLine">"C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe"</Data><Data Name="ParentUser">DESKTOP-887GK2L\CyberJunkie</Data>
故木马文件为:C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe
我重置了过滤器并按时间排序,便于关联事件和时间线,结果导致了下载的恶意 exe 文件,我发现了攻击者访问量dropbox
- <EventData><Data Name="RuleName">technique_id=T1189,technique_name=Drive-by Compromise</Data><Data Name="UtcTime">2024-02-14 03:41:30.472</Data><Data Name="ProcessGuid">{817bddf3-3514-65cc-0802-000000001900}</Data><Data Name="ProcessId">4292</Data><Data Name="Image">C:\Program Files\Mozilla Firefox\firefox.exe</Data><Data Name="TargetFilename">C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe:Zone.Identifier</Data><Data Name="CreationUtcTime">2024-02-14 03:41:26.459</Data><Data Name="Hash">SHA1=2CFE549E8DEB113DFAD2E7702637C1772ACFDBE6,MD5=41F87E73FBAEA5D3B335EBC3B3B70FAE,SHA256=5607425CF7DCB090216F4531D099FD780193899383CBB3441017E3615E03068B,IMPHASH=00000000000000000000000000000000</Data><Data Name="Contents">[ZoneTransfer] ZoneId=3 ReferrerUrl=https://www.dropbox.com/ HostUrl=https://uc2f030016253ec53f4953980a4e.dl.dropboxusercontent.com/cd/0/get/CNNlOCYTD8cqLXFQzXaeYHRkHg_PoR35Et2T0_IkqE5ijvkTAQNljV7ZkK2fLXWI2bJy944RnwKttvmNWpVd5olpBcffnvnL_IfEjzr65jZZUOxtWA9rSgJ1jc91IZILHVAJHgRhjpZYLtGo83_QbeInB7x2oEAoYg-JLF54zbhziQ/file#</Data><Data Name="User">DESKTOP-887GK2L\CyberJunkie</Data></EventData></Event>
对 EventID 了解的小伙伴一下就知道了,我们需要过滤事件 ID 2(A process changed a file creation time)。 发现如下线索
- <EventData><Data Name="RuleName">technique_id=T1070.006,technique_name=Timestomp</Data><Data Name="UtcTime">2024-02-14 03:41:58.404</Data><Data Name="ProcessGuid">{817bddf3-3684-65cc-2d02-000000001900}</Data><Data Name="ProcessId">10672</Data><Data Name="Image">C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe</Data><Data Name="TargetFilename">C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\TempFolder\~.pdf</Data><Data Name="CreationUtcTime">2024-01-14 08:10:06.029</Data><Data Name="PreviousCreationUtcTime">2024-02-14 03:41:58.404</Data><Data Name="User">DESKTOP-887GK2L\CyberJunkie</Data></EventData>
故改成的时间戳为2024-01-14 08:10:06
恶意文件丢弃了几个磁盘文件。“once.cmd”是在哪里创作的?请附上完整路径和文件名来回答。**
嘶,这个 once.cmd很眼熟啊,博主刚刚在 EventID=11的里面貌似翻到过。直接筛选并搜索,拿到证据。
- <EventData><Data Name="RuleName">-</Data><Data Name="UtcTime">2024-02-14 03:41:58.404</Data><Data Name="ProcessGuid">{817bddf3-3684-65cc-2d02-000000001900}</Data><Data Name="ProcessId">10672</Data><Data Name="Image">C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe</Data><Data Name="TargetFilename">C:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\WindowsVolume\Games\once.cmd</Data><Data Name="CreationUtcTime">2024-02-14 03:41:58.404</Data><Data Name="User">DESKTOP-887GK2L\CyberJunkie</Data></EventData>
依旧是只要对 EventID 了解的小伙伴一下就知道了,我们将使用事件 ID 22(DNSEvent)来完成此任务,筛选并搜索。拿到证据。 虚拟域名为www.example.com 甚至我们直接拿到了 Task7 攻击者连接的 Ip 地址 地址为93.184.216.34
- <EventData><Data Name="RuleName">-</Data><Data Name="UtcTime">2024-02-14 03:41:56.955</Data><Data Name="ProcessGuid">{817bddf3-3684-65cc-2d02-000000001900}</Data><Data Name="ProcessId">10672</Data><Data Name="QueryName">www.example.com</Data><Data Name="QueryStatus">0</Data><Data Name="QueryResults">::ffff:93.184.216.34;199.43.135.53;2001:500:8f::53;199.43.133.53;2001:500:8d::53;</Data><Data Name="Image">C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe</Data><Data Name="User">DESKTOP-887GK2L\CyberJunkie</Data></EventData></Event>
恶意进程试图联系的是哪个 IP 地址?
请查看上面,连接的是93.184.216.34
我们来筛选Event ID 5(Process terminated)
- <EventData><Data Name="RuleName">-</Data><Data Name="UtcTime">2024-02-14 03:41:58.795</Data><Data Name="ProcessGuid">{817bddf3-3684-65cc-2d02-000000001900}</Data><Data Name="ProcessId">10672</Data><Data Name="Image">C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exe</Data><Data Name="User">DESKTOP-887GK2L\CyberJunkie</Data></EventData></Event>
拿到终止时间2024-02-14 03:41:58 
虽然已经被攻克,但我们接下来要对整个 Sysmon 日志进行全面复盘,分析其攻击手法以及攻击链
C:\Users\CyberJunkie\Downloads\Preventivo24.02.14.exe.exeC:\Users\CyberJunkie\AppData\Roaming\Photo and Fax Vn\Photo and vn 1.1.2\install\F97891C\...C:\Games\...(出现viewer.exe、vnchooks.dll、UVncVirtualDisplay.dll等,形态类似 UltraVNC组件/远控)d.dropbox.com、*.dl.dropboxusercontent.com、www.example.com93.184.216.34:80(示例域名 IP,常用于测试;但在实战中也可能被滥用作探测/连通性验证)T1070.006 Timestomp(文件创建时间被修改)、以及出现“shredded file”字段(疑似擦除痕迹)flowchart LRA[初始访问/投递T1189 Drive-by / Web 投递DNS: d.dropbox.com / dropboxusercontent] -->B[用户执行T1204 User Execution执行 Preventivo24.02.14.exe.exe]B --> C[伪装与混淆T1036 MasqueradingT1027 Obfuscated]C --> D[落地与解包EventID 11/23 文件创建/归档AppData\\Roaming\\Photo and Fax Vn\\...]D --> E[利用系统签名程序安装/展开T1218 Signed Binary Proxy Executionmsiexec.exe 参与写入/展开]E --> F[持久化(候选)T1053 Scheduled Task(加载 taskschd.dll)T1543 Service Creation(注册表/服务痕迹)]F --> G[执行与驻留疑似远控组件(viewer.exe / vnchooks.dll / UVncVirtualDisplay.dll)]G --> H[C2/外联EventID 3 网络连接93.184.216.34:80EventID 22 DNS 查询]C --> I[反取证/痕迹清理T1070.006 Timestomp(疑似 shred/擦除)]
说明:以下时间来自事件字段
UtcTime(通常为 UTC)。同一秒内的大量文件落地/改时事件已合并描述。
| 时间(UtcTime) | 攻击者做了什么(按事件归纳) | ATT&CK(命中/候选) | 关键证据(示例) |
|---|---|---|---|
| 2024-02-14 03:41:25.269 | 通过浏览器访问外部托管点,疑似开始下载 | T1189(候选) | EventID 22:DNS 查询*.dl.dropboxusercontent.com |
| 2024-02-14 03:41:30.472 | 下载落地载荷并带 MOTW(Mark-of-the-Web) | T1189、T1204(前置) | EventID 11/15:Preventivo24.02.14.exe.exe:Zone.Identifier |
| 2024-02-14 03:41:43.924 | 继续解析 Dropbox 域名(可能二阶段) | T1189(候选) | EventID 22:DNS 查询d.dropbox.com |
| 2024-02-14 03:41:56.538 | 用户执行:运行Preventivo24.02.14.exe.exe | T1204 | EventID 1:进程创建(Image 指向该文件) |
| 2024-02-14 03:41:56.561–03:41:56.748 | 规则命中 DLL Side-Loading(需结合加载链复核) | T1574.002(候选) | EventID 7:RuleName 命中T1574.002 |
| 2024-02-14 03:41:56.955 | 执行后进行连通性探测/域名解析 | — | EventID 22:DNS 查询www.example.com |
| 2024-02-14 03:41:57.159 | 对外建立 TCP/80 连接(外联/C2 或连通性验证) | — | EventID 3:连接93.184.216.34:80(Initiated=true) |
| 2024-02-14 03:41:57.545 | 反取证:对解包/安装文件进行时间戳篡改(Timestomp) | T1070.006 | EventID 2:命中T1070.006(PreviousCreationUtcTime 被改写) |
| 2024-02-14 03:41:57.576 | (候选)触碰证书存储(可能安装根证书/CA;也可能正常噪声) | T1553.004(候选) | EventID 12:命中T1553.004(SystemCertificates\CA/Root) |
| 2024-02-14 03:41:57.701–03:41:57.717 | (候选)进程注入规则命中 | T1055(候选) | EventID 7:命中T1055(同一进程时序) |
| 2024-02-14 03:41:57.780–03:41:57.889 | 写入临时安装文件(疑似 MSI 链路准备) | T1218(链路候选) | EventID 23:写入Temp\\MSIC*.tmp |
| 2024-02-14 03:41:58.389–03:41:58.748 | 批量落地脚本/组件到 Roaming 路径,并持续 Timestomp | T1070.006 | EventID 11/23/2:落地c.cmd/on.cmd/once.cmd/viewer.exe/vnchooks.dll/UVncVirtualDisplay.dll等 |
| 2024-02-14 03:41:58.561–03:41:58.608 | 使用msiexec.exe向C:\\Games写入组件(安装/部署阶段) | T1218(候选) | EventID 11:Image=msiexec.exe写入C:\\Games\\viewer.exe等 |
| 2024-02-14 03:41:58.686 | (候选)尝试计划任务相关持久化 | T1053(候选) | EventID 7:加载taskschd.dll(同进程) |
| 2024-02-14 03:41:58.733 | 擦除痕迹:once.cmd出现 shredded file 线索 | T1070.006(相关) | EventID 23:Archived=false - shredded file ... |
| 2024-02-14 03:43:26.880 | 日志导出/打开(更像取证/分析动作) | — | EventID 11:mmc.exe生成Microsoft-Windows-Sysmon-Operational.evtx |
字段说明:
EventID为 Sysmon 事件 ID;证据以Image / TargetFilename / TargetObject / DestinationIp / QueryName等为主。
| 阶段 | Technique | 名称 | 证据(来自事件字段,示例) | 置信度 |
|---|---|---|---|---|
| 初始访问 | T1189 | Drive-by Compromise | firefox.exe相关事件 +Preventivo...:Zone.Identifier(Mark-of-the-Web) | 中 |
| 执行 | T1204 | User Execution | Image=...\Preventivo24.02.14.exe.exe | 高 |
| 防御规避 | T1036 | Masquerading | 双扩展名Preventivo24.02.14.exe.exe;并在外联事件中作为Image出现 | 高 |
| 防御规避 | T1027 | Obfuscated Files or Information | 规则命中T1027(出现于浏览器相关进程) | 低 |
| 防御规避/反取证 | T1070.006 | Timestomp | EventID=2多次:PreviousCreationUtcTime被改写,目标指向解包目录内脚本/二进制 | 高 |
| 执行/代理 | T1218 | Signed Binary Proxy Execution | msiexec.exe相关事件被标注T1218(系统签名二进制参与) | 中 |
| 持久化(候选) | T1053 | Scheduled Task | EventID=7:ImageLoaded=...\taskschd.dll且Image=Preventivo... | 中 |
| 持久化/提权(候选) | T1543 | Service Creation | EventID=13注册表写入命中T1543(BAM/Services 相关痕迹) | 低-中 |
| 提权(候选) | T1574.010 | Services File Permissions Weakness | 多个事件命中该规则(需结合具体服务路径/ACL 进一步确认) | 低 |
| 防御规避/执行(候选) | T1574.002 | DLL Side-Loading | 规则命中T1574.002(需结合模块加载链验证) | 低 |
| 进程注入(候选) | T1055 | Process Injection | 规则命中T1055;出现ImageLoaded=...\mscoree.dll等线索(需进一步核验调用栈/注入目标) | 低 |
| 进程注入(候选) | T1055.001 | DLL Injection | T1055.001命中但Image字段缺失(规则侧命中,证据不足) | 低 |
| 凭证访问(候选) | T1003 | Credential Dumping | T1003命中出现在pingsender.exe相关(非常像噪声/误报,需复核) | 低 |
| 信任链滥用(候选) | T1553.004 | Install Root Certificate | smartscreen.exe写入...SystemCertificates\\CA\\Certificates(可能正常) | 低 |
| 防御规避(疑似分析行为) | T1546.001 | Change Default File Association | Explorer 对.evtx关联键创建(更像用户打开日志触发) | 低 |