首页
社区
课程
招聘
[讨论]让PatchGuard变狗屎的那些方法~
发表于: 2012-11-4 03:06 49674

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

2012-11-4 03:06
49674
我首先抛砖
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直接骗过了,然后悲剧,悲剧,悲剧。

等人给玉石了

[课程]Android-CTF解题方法汇总!

收藏
免费 6
支持
分享
最新回复 (35)
雪    币: 55
活跃值: (519)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
在某论坛看过破解内核过PathGuard。
不过要有一个新的启动项。
2012-11-4 12:28
0
雪    币: 608
活跃值: (643)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
这个是VT方式,不用新建启动项 实时生效的
再配合TDSS的load方式 x64已然无限制了
2012-11-4 12:42
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
4
那个方法有坏处,就是基本硬编码patch~~
而且需要重启~
2012-11-4 14:59
0
雪    币: 217
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
哈哈,果然很妙。完全替代内核啊。
2012-11-5 14:00
0
雪    币: 558
活跃值: (68)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
虽然现在看不明白,但是还是很厉害,标记一下,以后用到的时候再看

2012-11-5 15:14
0
雪    币: 14
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
用你的PageHack(改P*E) + Hook KiRetireDpcList(改CR3)
2012-11-5 18:19
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
8
哦,懂了~CR3换到其他进程里去?~最后换回来的实际怎么把握呢?
2012-11-6 02:25
0
雪    币: 739
活跃值: (1080)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
话说""HVMEngine在VMEXIT.....""这个都被你搞了..还有什么搞不定呢
2012-11-6 08:50
0
雪    币: 405
活跃值: (2150)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
关键是没VT的机器上,如何做呢?
2012-11-8 14:58
0
雪    币: 253
活跃值: (46)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
11
给自己电脑上种一个MBR Bootkit。启动时patch掉打开patchguard的代码。
2012-11-8 20:17
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
12
没VT的只有切CR3了...不过风险巨大~
2012-11-11 22:54
0
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
好东西 谢谢楼主分享
2013-1-2 21:37
0
雪    币: 76
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
被深深震撼了。一点儿不懂;但都是我迫切需要解决的问题。

lz,年薪多少? 想请你到我们公司当教头。
2013-3-14 15:58
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
15
...真的假的..联系QQ:86879759~~
2013-3-14 16:17
0
雪    币: 200
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
高手啊,Mark一下
2013-4-4 00:16
0
雪    币: 2120
活跃值: (73)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
Mark一下
2013-4-4 00:49
0
雪    币: 7
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
不知这个算不算
上传的附件:
2013-4-5 13:33
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
19
文章虽美,但是依赖性太暴力了~
2013-4-5 15:11
0
雪    币: 405
活跃值: (2150)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
然而,有一种方法可以阻止我们的        PatchGuard        攻击。(见图        10-13。)这就是安全实施通过硬件功能
发挥作用的地方。英特尔和迈克菲已经联合开发了        McAfee        DeepSAFE®        技术,它利用最新的        64        位处理
器的虚拟化功能,在一个新的最高特权级别         (VMX         root)        运行代码安全层,而系统的内核代码在其预定
的权限级别操作运行。这个安全层为关键区域(包括        CPU        寄存器和存储器区域)配置保护。如果在内
核层级运行的任何代码试图修改这些关键区域,硬件将强加给         DeepSAFE         安全层一个安全出口,由其
决定是否允许该修改。由于在内核层级运行的代码不再是最高层级,DeepSAFE        可以保护系统免受任何
内核层级的攻击。我们针对只运行软件防御的系统的攻击成功了,但是我们针对安装有         DeepSAFE         的
(运行        McAfee        Deep        Defender)        系统的攻击则失败了。
还是VMX。
2013-4-8 15:39
0
雪    币: 475
活跃值: (59)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
21
以前有个同学发我邮件说vt搞不了PatchGuard,之前一直再忙别的没理他,正好v大把思路发出来了。
2013-4-8 16:31
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
22
确实搞不了win8的~~hyper-v关闭后,你会发现win8卡成鬼~~
2013-4-8 21:34
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
蛇叔求QQ
2013-8-3 14:08
0
雪    币: 328
活跃值: (154)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
24
mark !一下
2013-8-3 14:33
0
雪    币: 28
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
25
这个qq的主人看上去是个mm
2013-8-4 14:13
0
游客
登录 | 注册 方可回帖
返回
//