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

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

2024-4-22 00:16
2444

今天又是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
图片描述


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞5
打赏
分享
最新回复 (5)
雪    币: 0
活跃值: (378)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
aljt_糖刀 2024-4-22 00:26
2
0
666
雪    币: 2140
活跃值: (3538)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
R0g 2 2024-4-22 08:42
3
0

图片描述

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