首页
论坛
课程
招聘
[原创]游戏安全之借坡下驴
2022-5-18 05:29 11632

[原创]游戏安全之借坡下驴

2022-5-18 05:29
11632

游戏安全之借坡下驴

exp: https://github.com/HadesW/mhy_exp

注:《借坡下驴》凭借有利的地势下驴。比喻利用有利条件行事。

0x0 简述

    之前有介绍《借刀杀人》,指的是利用高权限的系统进程。这次《借坡下驴》,是利用了某游戏本身的驱动保护程序。

    此文主要是记录分析某款游戏驱动保护的r3-r0通讯算法。因为文章整理于作者2020年10月份左右的笔记,有点流水账,分析和利用的样本大概是2020年8月-9月份左右的。


样本文件详情如下:

文件名:xxxxxxxx.sys

大小: 1269880 bytes

修改时间: 2020年9月29日, 12:27:38

0x1 结构分析

最开始,作者只是简单的关注了此驱动读写任意进程的功能。所以这里自底向上分析,通过基本的内核API分析其参数,然后查看其调用方如何把IoBuffer解析传入。

分析完后,其进程读写函数大概如下:

// 使用以下内核函数跨进程读写

NTSTATUS
MmCopyVirtualMemory(
    IN PEPROCESS FromProcess,
    IN CONST VOID *FromAddress,
    IN PEPROCESS ToProcess,
    OUT PVOID ToAddress,
    IN SIZE_T BufferSize,
    IN KPROCESSOR_MODE PreviousMode,
    OUT PSIZE_T NumberOfBytesCopied
    )

第一层调用:



第二层调用:

第三层调用:

dispatch call :  定位到读写IO码


最后的进程读写结构:

// read write process memory
typedef struct _rwpm_data
{
    uint32_t is_write;
    uint32_t padding;
    uint64_t pid;
    uint64_t dst;
    uint64_t src;
    uint64_t size;
}rwpm_data, * p_rwpm_data;

0x2 通讯分析

当时我有了读写结构之后,去做了demo调用,发现其通讯的数据是有加解密的,并且很多函数是有VMP过的。所以这里用动静结合的方式来还原算法。


1. 双机调试,下断其入口处,patch掉其反调试。

2. 定位其加解密Key初始化,下断单步,结合IDA观察传入数据的变化。

3. 根据一些经验猜测函数大概功能。

4. 还原初始化部分

5. 还原加解密部分

6. 用std::mt19937_64()重写加解密

0x3 功能分析

这里只给部分功能分析完后的结果:

1. 检测调试信息

2. 遍历进程模块信息


3. 强制结束进程


4. 获取线程信息

5. 获取进程信息

6. 获取驱动信息


7. 读取内核内存

8. 保护自身回调


9. 自保护(访问权限)


0x4 简单利用

1. 干掉杀毒软件后,运行RAT。

2. 读写系统进程 和 Hook检测(csrss.exe / lsass.exe / explorer.exe)

3. 读写保护进程(透视)


注:图中数据取自20220517日,游戏版本号6.0.4


看雪招聘平台创建简历并且简历完整度达到90%及以上可获得500看雪币~

最后于 2022-5-18 10:41 被HadesW编辑 ,原因:
上传的附件:
收藏
点赞7
打赏
分享
打赏 + 150.00雪花
打赏次数 1 雪花 + 150.00
 
赞赏  Editor   +150.00 2022/06/23 恭喜您获得“雪花”奖励,安全圈有你而精彩!
最新回复 (22)
雪    币: 448
活跃值: 活跃值 (1566)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
renbohan 活跃值 2022-5-18 09:19
2
0
大哥牛皮
雪    币: 1150
活跃值: 活跃值 (1219)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
fengyunabc 活跃值 1 2022-5-18 10:42
3
0
666
雪    币: 8148
活跃值: 活跃值 (784)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Foodie 活跃值 2022-5-18 11:11
4
0
大哥牛皮
雪    币: 239
活跃值: 活跃值 (2740)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
不懂就不懂 活跃值 2 2022-5-18 11:18
5
0
大哥666
雪    币: 4682
活跃值: 活跃值 (2379)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
Jev0n 活跃值 2022-5-18 11:54
6
0
牛批
雪    币: 11148
活跃值: 活跃值 (5325)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
hzqst 活跃值 3 2022-5-18 12:45
7
0
现在不是都mhyprot3.sys了吗
雪    币: 3482
活跃值: 活跃值 (1556)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
大鲤鱼 活跃值 2022-5-18 14:31
8
0
MHY_IOCTL_INIT   这个是干什么的?
雪    币: 220
活跃值: 活跃值 (889)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_0xC05StackOver 活跃值 2022-5-18 14:41
9
0
前排提示 米哈游驱动保护在疯狂招人
雪    币: 3482
活跃值: 活跃值 (1556)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
大鲤鱼 活跃值 2022-5-18 16:02
10
0
MHY_IOCTL_INIT  这是进程线程回调吗?
雪    币: 3078
活跃值: 活跃值 (1222)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
木志本柯 活跃值 2022-5-18 17:52
11
0
这么好玩。。。是因为这个驱动自带白名单签名的原因吧 稳定无检测
雪    币: 1091
活跃值: 活跃值 (1065)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
killleer 活跃值 2022-5-18 20:22
12
0
hzqst 现在不是都mhyprot3.sys了吗
如果mhyprot3还有问题,那以后的mhy系列驱动都不会是白名单文件,现在mhy的驱动貌似已经被几家杀软拉灰了
雪    币: 1091
活跃值: 活跃值 (1065)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
killleer 活跃值 2022-5-18 20:29
13
0
hzqst 现在不是都mhyprot3.sys了吗

已经被人玩了一年以上了

最后于 2022-5-18 20:30 被killleer编辑 ,原因:
雪    币: 174
活跃值: 活跃值 (1479)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
章鱼C 活跃值 2022-5-18 22:08
14
0
这不是峰哥么...
雪    币: 794
活跃值: 活跃值 (846)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huangjw 活跃值 2022-5-19 11:24
15
0
什么时候才能追上你这技术水平。
雪    币: 271
活跃值: 活跃值 (1212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wem 活跃值 2022-5-21 18:40
16
0
mark
雪    币: 364
活跃值: 活跃值 (363)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
椰子比尔 活跃值 2022-5-22 10:35
17
0
看着像原神游戏的驱动.
雪    币: 5945
活跃值: 活跃值 (1848)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
黑洛 活跃值 1 2022-5-23 20:06
18
0
这mhy的驱动怎么一股大手子味?
雪    币: 1091
活跃值: 活跃值 (1065)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
killleer 活跃值 2022-5-23 23:03
19
0
黑洛 这mhy的驱动怎么一股大手子味?
不要怎么,就是,都泛滥了
雪    币: 1707
活跃值: 活跃值 (934)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
Mengluu 活跃值 1 2022-5-24 17:06
20
0
之前原神上线没多久就有在UC论坛看到了利用帖子。感觉这就像是野生的被招安的写法一样,格外粗犷。
雪    币: 11148
活跃值: 活跃值 (5325)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
hzqst 活跃值 3 2022-5-24 21:38
21
0
黑洛 这mhy的驱动怎么一股大手子味?
我的评价是不如顺网读写.sys,那个才叫真·大手子,哪个函数是干嘛的都在函数入口给你log写明白咯
雪    币: 284
活跃值: 活跃值 (627)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
劫局丶 活跃值 2022-5-25 23:06
22
0
hzqst 我的评价是不如顺网读写.sys,那个才叫真·大手子,哪个函数是干嘛的都在函数入口给你log写明白咯
又黑我山总
雪    币: 284
活跃值: 活跃值 (627)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
劫局丶 活跃值 2022-5-25 23:06
23
0
黑洛 这mhy的驱动怎么一股大手子味?
相信自己,就是
游客
登录 | 注册 方可回帖
返回