首页
社区
课程
招聘
[原创] 软解页表实现远程内存访问,可避免 mincore 检测。
发表于: 2023-5-8 20:02 16318

[原创] 软解页表实现远程内存访问,可避免 mincore 检测。

2023-5-8 20:02
16318

冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

收藏
点赞 6
打赏
分享
最新回复 (19)
雪    币: 1149
活跃值: (1213)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
2
文章目的是什么?process_vm_readv 和 process_vm_writev 自实现,绕过 调用检测? 那为啥不直接参考 这辆syscall 的内核实现。。。。bug 还少。。。
2023-5-9 15:23
0
雪    币: 440
活跃值: (1518)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
ycmint 文章目的是什么?process_vm_readv 和 process_vm_writev 自实现,绕过 调用检测? 那为啥不直接参考 这辆syscall 的内核实现。。。。bug 还少。。。
因为参考这两 syscall 的实现,最终效果就是本文提及的差不多的技术。而且按你的想法实现的话,是没办法和内核解耦的,更不可能在没有源码的情况下实现这效果。
2023-5-9 16:08
0
雪    币: 1149
活跃值: (1213)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
4
没懂。。。。 没有源码咋就不能这效果。。。我解决掉preload ko 就能跑了。。。
2023-5-9 16:31
0
雪    币: 1149
活跃值: (1213)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
5
vrolife 因为参考这两 syscall 的实现,最终效果就是本文提及的差不多的技术。而且按你的想法实现的话,是没办法和内核解耦的,更不可能在没有源码的情况下实现这效果。
或者,我压根不需要解决加载ko 这些事。。我找个合适的地方,binary 插入vmlinux进去就好。。。
2023-5-9 16:33
0
雪    币: 440
活跃值: (1518)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
ycmint 或者,我压根不需要解决加载ko 这些事。。我找个合适的地方,binary 插入vmlinux进去就好。。。
不是没考虑这样的方案,问题是这样子要解决很多符号和数据结构问题,不然就得为每份内核配置和每个内核版本编译一个ko。内核很多接口都是内联或者干脆是宏,无源码做兼容太难了。
2023-5-9 16:40
0
雪    币: 1149
活跃值: (1213)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
7
vrolife 不是没考虑这样的方案,问题是这样子要解决很多符号和数据结构问题,不然就得为每份内核配置和每个内核版本编译一个ko。内核很多接口都是内联或者干脆是宏,无源码做兼容太难了。
那你的厉害方案是啥呢
2023-5-9 16:59
0
雪    币: 440
活跃值: (1518)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
ycmint 那你的厉害方案是啥呢
不厉害,也就是尽可能少引用内核符号罢了。然后部署的时候实时从内核binary里取几个偏移量就行了。开始我第一个念头也是仿那两个syscall, 结果兼容性一言难尽。而且那两个syscall核心原理就是锁内存页,不暂停目标进程的话,不安全,暂停了的话,性能太受影响。期待你分享别的方案
2023-5-9 17:19
0
雪    币: 1719
活跃值: (215957)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
这......
2023-5-10 13:03
0
雪    币: 3712
活跃值: (2616)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
10
扫描内存的时候,使用mincore过滤掉缺页内存不就可以绕过检测了么,用魔法打败魔法
2023-5-15 19:52
0
雪    币: 440
活跃值: (1518)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
不知世事 扫描内存的时候,使用mincore过滤掉缺页内存不就可以绕过检测了么,用魔法打败魔法
不这么做,主要是考虑竞态条件的问题。这样做,只有过滤线程和陷阱线程是同一个线程的时候,才能经济地实现。
2023-5-16 00:25
2
雪    币: 35
活跃值: (8428)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我看刑,说吧准备做哪个游戏
2023-5-16 01:32
0
雪    币: 440
活跃值: (1518)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
不吃早饭 我看刑,说吧准备做哪个游戏[em_87]
别开玩笑了,还是有方法能检测到这种类型的内存读写的,还不需要任何特殊权限。
2023-5-16 02:28
0
雪    币: 10072
活跃值: (34131)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢分享
2023-5-16 09:38
1
雪    币: 5357
活跃值: (6162)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
感谢分享!
2023-5-16 09:48
0
雪    币: 199
活跃值: (897)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
vrolife 别开玩笑了,还是有方法能检测到这种类型的内存读写的,还不需要任何特殊权限。
有什么好办法对抗这种驱动读写吗?
2023-5-19 23:19
0
雪    币: 440
活跃值: (1518)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
袁伟业 有什么好办法对抗这种驱动读写吗?
这是秘密
2023-5-20 18:46
0
雪    币: 2231
活跃值: (2061)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
18
直接内核读写
2023-5-22 16:39
0
雪    币: 6737
活跃值: (17079)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
19
很好的帖子 , 内核里面做读写确实可以逃逸mincore ,但是crc咋办 
2024-1-8 16:00
0
雪    币: 6679
活跃值: (11862)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20

学习到了。

楼主的发的几个文章都写的挺好的,思路和用到的技术,引用到逆向分析都有很大的帮助。 都没评优,版主要给个吧。

最后于 2025-11-29 12:48 被huangjw编辑 ,原因:
2025-11-29 12:43
0
游客
登录 | 注册 方可回帖
返回