时间:2025年12月17日 事件:安全运营中心(SOC)监测到数据库服务器流量异常,随后发现管理员组中出现不明账号。任务:请根据提供的日志文件(MSSQL ERRORLOG、Windows 安全日志、系统镜像/注册表),按时间顺序回答以下问题
文章目录
-
- 题目简介
-
- 题目列表
- 工具准备
- 攻击路径还原
-
- 用户被添加到本地组(Event ID 4732)
- 远程RDP登陆(Event ID 4624)
- MSSQL 配置篡改(Event ID 15457)
- 溯源过程
-
- 1. 请找出发起暴力破解(大量登录失败)的 IP 地址
- 2. 首次成功使用"SQL Server 身份验证"建立连接的时间
- 3. 还原攻击者在该时间点内的完整配置修改链(按日志记录顺序)。FLAG格式为:flag{配置名1_配置名2}
- 4. 提供该测试文件的完整绝对路径。FLAG格式为:flag{C:\\ABC\\def.txt}
-
- 网上WP:
- 5. 该后门用户的明文密码是什么?
- 6. 请找出用户 123 首次 RDP 登录成功的精确时间。flag格式为:flag{2025/01/01 15:00:00}
- 7. 攻击者为了确保服务器重启后仍能控制机器,在系统中留下了三个持久化后门。请找到这三处隐藏的字符串,并按以下顺序拼接:flag{flag1flag2flag3}
- 总结
题目简介
时间:2025年12月17日 事件:安全运营中心(SOC)监测到数据库服务器流量异常,随后发现管理员组中出现不明账号。任务:请根据提供的日志文件(MSSQL ERRORLOG、Windows 安全日志、系统镜像/注册表),按时间顺序回答以下问题
备份下载1:https://pan.baidu.com/s/1d8M7slE_2PXr3fLD2VzayQ 提取码: hjfa
备份下载2:https://wwboa.lanzouq.com/ijPsg3egom3i
备份下载3:链接:https://pan.quark.cn/s/a7a9dfbdfaa2 提取码:3xeW
题目列表
工具准备
这里Windows日志排查,我一般先用chainsaw来判断攻击者大概进行了什么攻击,这样方便我能针对性的进行排查;
工具具体的下载以及使用方法可以看:应急工具——Windows日志分析工具chainsaw使用教程
话不多说,直接开始;
攻击路径还原
我们下载文件后,得到一大堆的.evtx 日志文件:

这里我用chainsaw对这些日志文件hunt 一下,得到结果:
命令格式:chainsaw.exe hunt .\\chainsaw\\rules文件路径 .\\log日志文件

结果如下:
用户被添加到本地组(Event ID 4732)

- Event ID 4732:Windows 安全日志中表示 “将成员添加到安全启用的本地组”,是账户权限变更的核心标识。
- 高风险点:HelpLibraryUpdaters、Distributed COM Users 被添加到管理员组(SID-500),意味着普通 / 服务账户获得了管理员权限,攻击者常通过此方式留后门。
- 中风险点:SQL 相关服务账户被添加到本地组,可能导致数据库权限被滥用,进而提权或窃取数据。
远程RDP登陆(Event ID 4624)

- IP地址为192.168.146.135的攻击者利用123用户,远程RDP登陆了目标服务器;
- 攻击事件:2025-12-17 07:06:06
- Event ID 21:RDP 会话登录成功;
- Event ID 22:RDP 会话中启动文件资源管理器;
- Event ID 23:RDP 会话注销成功。
MSSQL 配置篡改(Event ID 15457)

- 打开隐藏的高级配置项
- 开启 SQL Agent 扩展功能,攻击者有时会用 SQL Agent 建立计划任务执行恶意命令
- xp_cmdshell 开启;一旦开启,攻击者可以执行命令:
- 等于数据库直接变成系统后门
EXEC xp_cmdshell 'whoami';
EXEC xp_cmdshell 'net user';
EXEC xp_cmdshell 'powershell -enc xxx';
所以根据日志工具,我们能够大概推测出攻击者的攻击路径:
SQL 注入拿下数据库权限 → 开启高级选项 → 开启 xp_cmdshell → 准备系统命令执行
溯源过程
既然我们已经知道了大概的方向,那么接下来我们可以进入日志进行详细的查看:
1. 请找出发起暴力破解(大量登录失败)的 IP 地址
在攻击真正发生之前,防火墙记录到了针对 SQL Server 的暴力破解行为。
- 请找出发起暴力破解(大量登录失败)的 IP 地址。(按时间顺序用_连接,FLAG格式为:flag{ip_ip}
- 注意:不是登陆计算机,而是SQL Server!!!!
这里我们需要知道:
- 登录失败 (Login Failed):18456
经过排查,在Application.evtx文件发现了大量爆破的记录(竟然不是Security.evtx文件~)
(爆破次数49386,尝试了不少)
随后根据时间进行排序,结果如下:
共两个IP地址:
flag{192.168.146.135_192.168.146.161}
2. 首次成功使用"SQL Server 身份验证"建立连接的时间
请分析 MSSQL 日志文件,找到攻击者 IP 192.168.146.135 在结束暴力破解后,首次成功使用"SQL Server 身份验证"建立连接的时间。FLAG格式为:flag{2025/01/01 11:00:01}

为什么选这一条呢,我说一下我的看法:
- 因为这一条日志往后,就没有“原因: 密码与所提供的登录名不匹配” 这个报错信息了;

flag{2025/12/17 11:17:26}
3. 还原攻击者在该时间点内的完整配置修改链(按日志记录顺序)。FLAG格式为:flag{配置名1_配置名2}
经分析,攻击者登陆数据库后进行了关键配置更改以启用命令执行功能。
请还原攻击者在该时间点内的完整配置修改链(按日志记录顺序)。FLAG格式为:flag{配置名1_配置名2}
–
在2025/12/17 11:29:11,第一次出现配置命令: 
当然也可以用事件ID:
- Event ID 15457(核心):这是 SQL Server 配置被修改的典型日志
- 符合条件:2025/12/17 11:17:26之后执行的命令;
(只有两条符合条件,另一条是开启xp_cmdshell)

所以配置:flag{show advanced options_xp_cmdshell}
4. 提供该测试文件的完整绝对路径。FLAG格式为:flag{C:\\ABC\\def.txt}
攻击者在执行复杂的命令前,先写入了一个测试文件以验证写入权限。请提供该测试文件的完整绝对路径。FLAG格式为:flag{C:\\ABC\\def.txt}
–
我的思路: (1)既然是通过xp_cmdshell写入文件,那么肯定是命令行的形式; (2)而进程创建日志(cmd.exe、powershell.exe 等都会记录),相应的事件ID为 4688
然后我就开始排查(还是在攻击时间之后,方便缩小范围提高效率):

在security.evtx里第一次发现了写入文件的记录:
"C:\\Windows\\system32\\cmd.exe" /c echo flag{sol > C:\\Windows\\Temp\\test.txt
网上WP:
- 测试一般选择的目录有:
- 用户临时目录:C:\\Users<用户名>\\AppData\\Local\\Temp\\
- 系统临时目录:C:\\Windows\\Temp\\
- 测试文件名字一般是:test.txt、1.txt、a.txt等

flag{C:\\Windows\\Temp\\test.txt}
5. 该后门用户的明文密码是什么?
我们之前在使用chainsaw 时,不是发现了攻击者使用123用户登陆系统吗?

(在Windows中添加用户的事件ID为:4720)
也可以在“查找”里,找相应的关键字;
- net user

得到结果,第一次出现的地方:

"C:\\Windows\\system32\\cmd.exe" /c net user 123 33arsierting} /add
用户名:123 密码:33arsierting}
flag{33arsierting}}
6. 请找出用户 123 首次 RDP 登录成功的精确时间。flag格式为:flag{2025/01/01 15:00:00}
登陆成功的事件ID:4624

怎么能分辨123用户与其他用户的的记录呢?对比一下 “常规”的视图 即可:

2025/12/17 15:06:03
7. 攻击者为了确保服务器重启后仍能控制机器,在系统中留下了三个持久化后门。请找到这三处隐藏的字符串,并按以下顺序拼接:flag{flag1flag2flag3}
思路:
- 搜索事件ID:4688 分别进行排查:
# 常用命令
cmd.exe
powershell.exe
reg add
schtasks
wmic
- 查找输入关键字:C:\\Windows\\system32\\cmd.exe

找到了攻击的痕迹: 
- 第一个后门:reg add “HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run” /v “flag1” /t REG_SZ /d “cmd.exe /c echo {krjl424” /f

- 第二个后门:schtasks /create /tn “flag2” /tr “cmd.exe /c echo wq3453dalb” /sc onlogon /ru SYSTEM /f

- 第三个后门:sc description “flag3” “Service Key: zlmqu458xktq}”

所以flag{krjl424wq3453dalbzlmqu458xktq}
总结
这是第一次使用工具chainsaw 辅助进行日志的排查;但感觉作用不是想象中的那么大(也就起个还原攻击路径的作用,具体细节还是得靠人工排查;)
期待下次再见;



