首页
社区
课程
招聘
[原创]2024腾讯游戏安全决赛wp
发表于: 2024-4-22 00:16 3229

[原创]2024腾讯游戏安全决赛wp

2024-4-22 00:16
3229

今天又是emo的一天

Key

竞赛官网
图片描述
首先有文件,能想到的就是会读,那么直接hook NtCreateFile
图片描述
断点之后到NtReadFile对参数Buffer下访问断点即可
图片描述
会断到这里
图片描述
回溯到找个call的最外层,他这里就是一个copy
然后检查buffer是否包含'-'字符,如果不包含返回-1然后返回0,驱动加载失败
图片描述
单独保存user以及key
图片描述
检查key是否合法并返回
图片描述
使用username计算出key然后与之前的对比是否相同,成功返回1驱动返回成功
他这里其实已经是keygen了
图片描述
keygen
图片描述
去混淆
图片描述
验证一下
图片描述

Shellcode

PsCreateSystemThreadEx函数内PspCreateThread位置断点
图片描述
修改系统函数PopIrpWorkerControl代码段,构造跳板,达到伪造线程入口
图片描述
但是这个线程里面就一个KeDelayExecutionThread
图片描述
图片描述
dump整块shellcode,sub_1180会一直调用,这个函数是没有vm的
堆栈可以看到Process Name 以及Path Name
图片描述
图片描述
图片描述
往上发现大概这样
图片描述
shellcode调用系统函数大致流程为endecrptFunc ^ 0xACACACACACACACAC
得到跳板地址

跳板地址拷贝原系统函数头部字节 计算保存字节数 push返回地址ret
push value
Mov [rsp+4],Value
Ret
于是看了下标签
图片描述
遍历Pool找出所有带有push mov rsp的地址保存下来
图片描述
图片描述
图片描述
图片描述
然后看了下部分调用的API
MmCopyVirtualMemory以及MmCopyMemory都没用调用
结合它一直在判断进程,那么可能是在等待一个进程
回到前面跟了判断的参数下访问断点没多远就能看到进程名GameSec.exe
图片描述
图片描述
创建一个进程名一样的启动后PsGetProcessPeb就会断下
图片描述
之后就是MmCopyVirtualMemory
图片描述
最后一直在读PEB+0xACE
图片描述


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞5
支持
分享
最新回复 (5)
雪    币: 0
活跃值: (378)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
666
2024-4-22 00:26
0
雪    币: 2152
活跃值: (3569)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3

图片描述

2024-4-22 08:42
0
雪    币: 152
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可以的
2024-4-22 11:52
0
雪    币: 0
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以的 这个可以!可以的 这个可以!可以的 这个可以!好很好!
2024-4-22 15:18
0
雪    币: 10430
活跃值: (5233)
能力值: ( LV13,RANK:491 )
在线值:
发帖
回帖
粉丝
6
tql
2024-4-22 18:34
0
游客
登录 | 注册 方可回帖
返回