首页
论坛
专栏
课程

[讨论]让PatchGuard变狗屎的那些方法~

2012-11-4 03:06 43837

[讨论]让PatchGuard变狗屎的那些方法~

2012-11-4 03:06
43837
我首先抛砖
1. x64 kermel mode peloader 一枚 (以前发的代码里有)
2. x64 HVMEngine 一枚 (bluepill的代码大家都有的)
3.syscall hook 模型一枚 (wrmsr改syscall很简单,不超过100字节)
4.x64 syscall64hook engine一枚 (hookport x64版,论坛有个叫Rprotect的东西)

首先reload ntoskrnl(x64下都是这个名字貌似)
然后定位syscall64和syscall32(RDMSR 0xC0000082  0xC0000083)保存好
初始化HVMEngine在VMEXIT处理MSR的read对syscall64和syscall32的MSR的read给原始值地址。
对新内核做syscall64hook,然后WRMSR修改syscall32和syscall64去新内核。

PG完全无效,完全无效~

砖头的bin和src就不扔了(主要是这个玩意代码太多太长,估计没人看都是拿来复制抄袭的所以不发了),思路万岁~

由于系统效验syscall的入口是通过RDMSR读取的,所以被vmexit直接骗过了,然后悲剧,悲剧,悲剧。

等人给玉石了

[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (34)
hrpirip 1 2012-11-4 12:28
2
0
在某论坛看过破解内核过PathGuard。
不过要有一个新的启动项。
Morgion 1 2012-11-4 12:42
3
0
这个是VT方式,不用新建启动项 实时生效的
再配合TDSS的load方式 x64已然无限制了
cvcvxk 10 2012-11-4 14:59
4
0
那个方法有坏处,就是基本硬编码patch~~
而且需要重启~
heretic 2012-11-5 14:00
5
0
哈哈,果然很妙。完全替代内核啊。
guijc 2012-11-5 15:14
6
0
虽然现在看不明白,但是还是很厉害,标记一下,以后用到的时候再看

Prochg 2012-11-5 18:19
7
0
用你的PageHack(改P*E) + Hook KiRetireDpcList(改CR3)
cvcvxk 10 2012-11-6 02:25
8
0
哦,懂了~CR3换到其他进程里去?~最后换回来的实际怎么把握呢?
spman 2012-11-6 08:50
9
0
话说""HVMEngine在VMEXIT.....""这个都被你搞了..还有什么搞不定呢
wowocock 1 2012-11-8 14:58
10
0
关键是没VT的机器上,如何做呢?
tangwenbin 1 2012-11-8 20:17
11
0
给自己电脑上种一个MBR Bootkit。启动时patch掉打开patchguard的代码。
cvcvxk 10 2012-11-11 22:54
12
0
没VT的只有切CR3了...不过风险巨大~
erroru 2013-1-2 21:37
13
0
好东西 谢谢楼主分享
dubious 2013-3-14 15:58
14
0
被深深震撼了。一点儿不懂;但都是我迫切需要解决的问题。

lz,年薪多少? 想请你到我们公司当教头。
cvcvxk 10 2013-3-14 16:17
15
0
...真的假的..联系QQ:86879759~~
Refund 2013-4-4 00:16
16
0
高手啊,Mark一下
wmbol 1 2013-4-4 00:49
17
0
Mark一下
kjaaa 2013-4-5 13:33
18
0
不知这个算不算
上传的附件:
cvcvxk 10 2013-4-5 15:11
19
0
文章虽美,但是依赖性太暴力了~
wowocock 1 2013-4-8 15:39
20
0
然而,有一种方法可以阻止我们的        PatchGuard        攻击。(见图        10-13。)这就是安全实施通过硬件功能
发挥作用的地方。英特尔和迈克菲已经联合开发了        McAfee        DeepSAFE®        技术,它利用最新的        64        位处理
器的虚拟化功能,在一个新的最高特权级别         (VMX         root)        运行代码安全层,而系统的内核代码在其预定
的权限级别操作运行。这个安全层为关键区域(包括        CPU        寄存器和存储器区域)配置保护。如果在内
核层级运行的任何代码试图修改这些关键区域,硬件将强加给         DeepSAFE         安全层一个安全出口,由其
决定是否允许该修改。由于在内核层级运行的代码不再是最高层级,DeepSAFE        可以保护系统免受任何
内核层级的攻击。我们针对只运行软件防御的系统的攻击成功了,但是我们针对安装有         DeepSAFE         的
(运行        McAfee        Deep        Defender)        系统的攻击则失败了。
还是VMX。
三寸法师 1 2013-4-8 16:31
21
0
以前有个同学发我邮件说vt搞不了PatchGuard,之前一直再忙别的没理他,正好v大把思路发出来了。
cvcvxk 10 2013-4-8 21:34
22
0
确实搞不了win8的~~hyper-v关闭后,你会发现win8卡成鬼~~
遗失灵魂 2013-8-3 14:08
23
0
蛇叔求QQ
raigeki 7 2013-8-3 14:33
24
0
mark !一下
JessieWang 2013-8-4 14:13
25
0
这个qq的主人看上去是个mm
小小笑儿 2013-9-9 20:58
26
0
mark
arctic 2013-10-8 10:42
27
0
mark一下
房有亮 3 2013-10-8 18:27
28
0
让你们搞糊涂了,老v你说能重载,但是X64寻址方式 好多指令都是相对偏移,到底行不行?
AioliaSky 1 2013-10-8 18:55
29
0
思路清晰,留个mark
黑色舞曲 2013-10-9 08:50
30
0
传说中的V校是妹子?
anewday 2013-10-12 08:51
31
0
mark
zhczf 2013-10-12 09:43
32
0
楼主破解水平高啊,来看一看
zquchs 2013-10-19 11:50
33
0
mark!!!
bUgmAny 2013-10-23 21:29
34
0
顶上去。。报复社会。。。不如哪个大牛放个源码。。小菜们学习学习。。

-----我是伸手党。。。
fhurricane 1 2013-10-24 10:59
35
0
有没有bypass检查驱动签名的?
游客
登录 | 注册 方可回帖
返回