论坛首页 CTF竞赛交流区 阅读主题

[原创]2026腾讯游戏安全PC初赛Writeup

89 浏览 2 回复
#1 楼主 2026-06-01 21:08:54
(1)成功加载驱动并与之正确通信,理解题目基本机制,识别并排除干扰信息。需在 writeup 中说明分析过程。在Windows11 24h2系统上,直接关闭签名强制校验即可成功加载驱动。 题目中存在一个迷宫,通过用户态程序可以在迷宫中行进,迷宫尺寸为13*13,起点在左上角,终点在右下角。迷宫中共有五种隐藏的提示,每成功行走一次都会有其中随机一种被触发;重置后的前五次成功行进一定会按固定顺序依次触发五种提示。 查看驱动可以发现四个明文字符串,在用户态也有对应的字符串,可以知道是创建了IO设备用于通信,简单分析可以找到驱动的派遣函数。 分析发现0x80012004用于移动,0x80012008用于重置,0x8001200C用于查询迷宫参数。其中用于移动的0x80012004通信会异或0xDEAD1337,sub_140002038被虚拟化。通过模拟执行工具,在栈上解析得到如下字符串:\BaseNamedObjects\{A7F3B2C1-9E4D-4C8A-B5D6-1F2E3A4B5C6D}\BaseNamedObjects\{B8E2C3D0-0F5A-5D9B-C6E7-2A3F4B5C6D7E}用户句柄中发现\BaseNamedObjects\{E8D7C6B5-A4F3-2E1D-0C9B-8A7F6E5D4C3B}。 (2)发现「宫殿」系统的隐匿通信手段并编写可工作的检测工具,发现的手段种类越多、利用越完整,得分越高,需提交相关源码并在 writeup 中说明分析过程。对驱动函数都查看一遍,可以发现其中四处隐秘通信。 图中为其中一处,其在特定条件下修改进程TEB+0x68(LastErrorValue)。能简单发现的共四处:(1)sub_1400022B0 会打开并置位:(2)sub_140319A37 会解码并操作两个命名信号量:(3)sub_140316ADF 会向 TEB+0x68 写入 4 字节值。 已确认写入值包括:(4)sub_14031857E会读取TEB+0x1748处句柄值然后设置为ProtectFromClose。题目提示共有五处信息泄露,因此还有一处。查看了驱动所有导入表和手动导入,发现有未用到的函数ZwProtectVirtualMemory被手动导入。 对其下断,发现在第五次成功移动时断点被触发,对调用方程序的 .data 节段前0x1000设置了页面保护为PAGE_EXECUTE_READWRITE。多次尝试发现可以稳定触发,因此可以作为第五处信息。


登录后可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290789.htm
#2 2026-06-01 21:08:54
有些图挂了
#3 2026-06-01 21:08:54
啊你好哇123

有些图挂了
重传了,感谢提醒

请登录后参与讨论

立即登录 注册账号