首页
社区
课程
招聘
[原创]南极动物厂 游戏安全2024初赛 PC
发表于: 2024-4-15 15:07 10123

[原创]南极动物厂 游戏安全2024初赛 PC

2024-4-15 15:07
10123

感谢宝子们对我的帮助!
特别感谢!存宝!翔哥!呜呜呜呜!
WP是简单的版本,因为做题的时候是远程好盆友的电脑,自己没有windows环境,所以代码和截图说明就没有那么多了,就简单版本!希望大家不要喷我!我就是记录一下!存个档!

可以看到题目说的是有一个exe和一个sys两个pe文件,答案是两个token,那么可以大胆的猜测是R0层一个,R3层一个

因为自己从R0层开始分析的,所以这里分析的过程也从R0层开始

PS:这里自己有个很大的坑,搞了很久才知道,题目中(关闭windows defender等杀软后,先运行exe后需自行加载sys驱动,驱动加载返回值为31则驱动加载成功。此时,程序会写入两段shellcode到内存中)这个位置我双击调试的时候,因为没有很耐心的等待sys驱动加载完,立刻断下来开始搞的导致无法出现蓝屏的情况,这个问题搞了很久(所以这里要注意一下)

R3程序启动后,R0程序启动后,R0返回值为0x31,这个一般不是一个正确的返回值

这个时候打开其他的调试工具的时候,会发生蓝屏的现象,蓝屏的错误代码 0xace

根据这个想法来说的话,在驱动加载后返回0x31的情况下,进行了一个检测,并且导致蓝屏,那么很好的可以猜到很可能是起了一个内核线程,直接断PsCreateSystemThread (然后经过漫长的等待,因为驱动加了vmp跑的很慢)

这时候断下后发现这个地址有点不太对劲

直接uf看一下这个地址,这里能看到这个0xACE的值,和上面一堆的xmm的操作,并且这个位置是无模块的,直接dump下来看看是什么

直接丢在idaf5看一下

这里做了一些xor的操作,我是进行了解密

解密出来的是token:, %02x 这种东西,这里还是一个while(1),所以直接bp地址过来看看是什么东西

可以发现是DbgPrintEx,但是如果想在调试器中输出需要把该函数的level改了

直接把Level修改成0

token:8b3f14a24d64f3e697957c252e3a5686

这个题也可以直接用winark977K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6n7k6h3&6W2k6X3W2U0K9h3q4D9b7$3!0V1k6g2)9J5c8W2N6A6L8V1q4J5K9#2!0q4c8W2!0n7b7#2)9^5z5g2!0q4y4g2)9^5c8g2!0n7b7W2!0q4y4g2)9^5x3g2)9&6b7g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4#2)9&6b7W2!0n7y4q4!0q4y4W2)9^5c8g2!0m8y4g2!0q4y4#2)9&6b7#2)9^5b7W2!0q4y4q4!0n7z5q4)9^5x3q4!0q4y4q4!0n7z5q4)9^5b7W2)9$3x3s2y4&6M7%4c8W2L8g2)9$3x3q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4#2!0n7b7g2!0n7c8W2!0q4y4#2!0m8z5q4)9^5b7W2!0q4y4#2)9&6b7#2)9^5b7W2!0q4y4#2)9&6b7#2)9^5b7W2!0q4y4W2)9&6b7#2)9^5z5g2!0q4y4W2!0n7x3W2!0m8x3g2!0q4y4W2)9&6b7#2)9^5z5g2!0q4y4g2!0m8y4g2)9^5y4#2!0q4y4W2)9^5x3q4!0m8b7g2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4g2)9&6b7#2!0n7x3q4!0q4y4g2)9&6c8q4)9^5x3q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4#2)9&6b7W2!0n7y4q4!0q4y4W2)9^5c8g2!0m8y4g2)9$3x3r3c8#2L8i4m8Q4y4U0m8Q4c8e0g2Q4z5p5c8Q4b7U0y4Q4c8e0g2Q4z5p5k6Q4b7f1j5`.

R3程序,主要进行了远线程注入,这里直接hook WriteProcessMemory
这个时候会发现有四个地方写入

这里的Size 4设置了标志位,来跟Ring 0层进行Check,这个也就是为什么我们在打开一次黑名单中的调试器的时候,会导致下一次直接报出查询到了,以及Ring 0层检测后进行了蓝屏的原因

那么主要的大小还是这个Size比较大的地方,直接dump下来看看,发现有很多关于file的操作?


其实看这个ring3vm还有点久(并没有看出什么东西,差点绕进去了)想了一下不如procmon直接干看一下task进程里的shellcode做了什么事情

可以发现是CreateFile Name Not Found,这个估计又是和上面一样的思路,上面是dbgprintex参数的问题,直接用ida看一下,我们现在可以确定创建一个C:\2024GameSafeRace.token1就可以看到token

可以看到token,这个时候我们看一下什么操作导致的


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2024-4-15 18:57 被L0x1c编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (8)
雪    币: 1918
活跃值: (6765)
能力值: ( LV7,RANK:118 )
在线值:
发帖
回帖
粉丝
2
源神!
2024-4-15 15:34
0
雪    币: 10266
活跃值: (15195)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
3
源神!
2024-4-15 15:40
0
雪    币: 8611
活跃值: (5261)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
4
源神!
2024-4-15 19:50
0
雪    币: 5621
活跃值: (31896)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
源神!
2024-4-16 09:19
1
雪    币: 824
活跃值: (1144)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
6
源神!
2024-4-16 10:40
0
雪    币: 154
活跃值: (7781)
能力值: ( LV9,RANK:335 )
在线值:
发帖
回帖
粉丝
7
源神!
2024-4-16 22:37
0
雪    币: 5392
活跃值: (5462)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
8
源神!
2024-4-17 10:15
0
雪    币: 1681
活跃值: (1345)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
源神!
2024-4-17 14:02
0
游客
登录 | 注册 方可回帖
返回