去年参加某数据安全竞赛时遇到一道非常典型的应急响应题目,正好最近在整理技术笔记,就把这道题的完整解题过程记录下来。这道题特别适合作为实战案例,因为它涵盖了操作系统日志分析、进程监控记录排查和网络流量分析三大核心技能点。
题目给的是一个压缩包,里面包含144个Windows事件日志(.evtx)、1个Process Monitor记录文件(.PML)和1个网络抓包文件(.pcap)。这种组合在真实的企业安全事件调查中非常常见,比如某次我们处理一起服务器入侵事件时,就遇到过几乎完全相同的日志组合。
先说说解题的整体思路。面对这种多源日志的综合分析题,我的经验是分三步走:
第一题要求找出异常登录的用户名。题目提示有两个关键信息:
这里有个实战技巧:Windows的Security.evtx日志中,不同类型登录对应不同的事件ID:
我习惯先用elex工具快速筛选日志。具体命令如下:
bash复制elex Security.evtx --event-id 4624 --time "6/27/2022 18:00-23:59"
但直接筛选登录成功事件会返回29条记录,这时候就需要结合登录类型来缩小范围。远程桌面登录对应类型10,但要注意在elex中需要输入完整的"登录类型 10"(包含中文和空格)。
更聪明的做法是反过来查登录失败记录。把筛选条件改为:
bash复制elex Security.evtx --event-id 4625 --time "6/27/2022 22:00-23:00"
这时会发现22:13这个时间点有大量用户名为"ming"的登录尝试,而且都是类型3(网络登录)。这种短时间内密集的失败登录就是典型的暴力破解特征。
验证ming是否成功登录也很简单,只需要在22:13之后的时间段搜索ming的成功登录记录:
bash复制elex Security.evtx --event-id 4624 --username ming --time "6/27/2022 22:13-23:59"
果然发现了通过远程桌面(类型10)的成功登录记录。至此可以确认第一题的答案就是ming。
第二题要求找出攻击源IP。在Security.evtx中,每条登录记录都包含源IP信息。但这里有个坑点:日志里显示的源端口是随机端口,而实际攻击是通过3389(RDP默认端口)进来的。
经过多次验证发现,正确的攻击源应该是192.168.13.1:3389。这种细节在比赛中很常见,也是考察选手的细心程度。在实际工作中,我们也经常遇到日志记录和实际情况有出入的问题。
虽然题目没要求分析pcap文件,但好习惯是用Wireshark打开log1.pcap验证一下:
bash复制wireshark log1.pcap -Y "tcp.port==3389 && frame.time >= "Jun 27, 2022 22:00:00""
可以看到22:13确实有来自192.168.13.1的大量RDP连接尝试,与日志记录完全吻合。这种多源日志交叉验证的方法在实际应急响应中非常实用。
第三题开始涉及提权分析,需要用到Process Monitor记录的Logfile.PML。我习惯先用过滤器快速定位可疑进程:
这里发现一个异常现象:大量winword.exe进程在调用cmd.exe。这明显不正常,因为正常办公场景下Word不应该频繁调用命令行。
进一步过滤WINWORD.EXE进程后,在操作详情中搜索".doc"关键词,很快就在ming用户的Download目录下发现了helper.doc的踪迹。更可疑的是,这个文档运行时还执行了whoami命令。
Process Monitor还有个实用功能是Process Tree(工具 → 进程树),可以清晰看到:
code复制WINWORD.EXE (PID 1234)
└── cmd.exe (PID 1235)
└── whoami.exe
这种父进程-子进程关系图能直观展示攻击者的操作链。
第四题要找提权使用的程序。在进程树中可以发现一个可疑现象:
code复制yoWtVVigSCtVR.exe (PID 4324)
└── excel.exe (PID 4325)
这个程序有三大可疑点:
在实际分析中,我还会用VirusTotal查一下这个程序的哈希值,不过比赛时只能靠行为分析判断。
最后一题关于敏感文件定位。观察到在提权程序运行后,立即出现了多个excel进程。通过筛选PID 4325的操作记录,并搜索".xls"关键词,很快就发现了被窃取的财务数据表。
这里有个实用技巧:在Process Monitor中,可以按以下步骤操作:
整个过程就像侦探破案一样,需要把各个线索点串联起来。从最初的暴力破解,到通过恶意文档提权,再到最后的敏感数据窃取,形成完整的证据链。这种分析方法在企业真实的安全事件响应中同样适用,只是规模可能更大、复杂度更高。建议新手可以多参加这类竞赛来锻炼实战能力,毕竟在真实环境中可没有"题目范围"这种提示。