首页
论坛
课程
招聘
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝

[原创]2nd: 重加载内核绕过内核钩子之类神马的~

2011-9-15 16:31 49687

[原创]2nd: 重加载内核绕过内核钩子之类神马的~

2011-9-15 16:31
49687
这是第二篇,还有一篇很烂的文章

内核自古乃兵家必争之地,某些流氓,某些小人,总喜欢在内核做一堆的patch,你patch就算了,你还去patch那些未导出的危险函数,让机器BSOD, 这也算了,你还加个检测,我勒个去,是可忍孰不可忍!

兔子逼急了还要咬人,哥逼急了直接灭了你

算了,其实很简单的两步。。。。好吧,我承认我是来骗kx的

1:将内核文件映射到我内核空间去;
2:path KiFastCallEntry重定向

一:加载内核

1:关于加载
我代码里用了两种方法,一种被我注释了的:
a:使用ZwCreateSection + ZwMapVieOfSection 结合 SEC_IMAGE 标志来加载,此时加载的地址必定是位于user-mode空间,可以简单的用MDL锁定,然后映射这些页面到kernel-mode空间,也可以直接ExAllocatePool 然后 copy加载的镜像
b : 直接ReadFile啦,对PE格式了解点点,很简单的,不多说,看代码吧

2:关于修正镜像
1:重定位
这个是必须的,但是要注意,必须以原先系统的内核为基址重定位,因为你想自己初始化一些东西如对象头,调度链之类的已经不可能了,你必须让新内核的数据指向老内核

2:修正SDT
这个不需要多说,算算RVA,四则运算一做就好啦

参考资料: 网易博客一篇好像叫《kernel in kernel》的文章……具体我也不清楚了,调试这个驱动时发现的一篇的文章,写的很好

PS:
none

*******************邪恶的分割线**************************
代码+bin:

[看雪官方培训]《安卓高级研修班(网课)》9月班开始招生!顶尖技术、挑战极限、工资翻倍!

上传的附件:
最新回复 (54)
雪    币: 96
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
收破烂的 活跃值 2011-9-15 16:38
2
0
沙发,,楼主乃强人。。。
雪    币: 92
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
liushijie 活跃值 2011-9-15 16:52
3
0
先看看后,在来顶,呵呵
雪    币: 199
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
游戏蛀虫 活跃值 2011-9-15 17:08
4
0
呵呵 楼主有偏见啊  我们现在好多代码就是抄微软的。
雪    币: 3248
活跃值: 活跃值 (44)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
djxh 活跃值 2011-9-15 17:11
5
0
KiFastCallEntry伤不起呀,这么多东西搞它。
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-15 17:46
6
0
这倒是,我的本意也只是给大家一点思路,至于发挥嘛~嘿嘿
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-15 17:47
7
0
不是我有偏见,每个职业都有它们的原则嘛…… 虽然我菜,但是我的代码都是自己的劳动成果。 我放代码时问心无愧就够了~
雪    币: 89
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
miaoling 活跃值 2011-9-15 17:48
8
0
我想说,你都有权限去加载kernel,何不主动去对抗主防的钩子?
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-15 19:38
9
0
说实话吧,这个东西拿来对抗游戏保护最好玩了。据说AGP = reloadKernel + maintain debug object 。就这样。。。我一再强调,我只给个思路而已,至于如何发挥,那与我无关
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-15 20:26
10
0
http://yukei.blog.163.com/blog/static/112587703201022262224461/

话说,据说是因为你的hook的代码有问题~
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-15 20:47
11
0
那段HOOK代码发帖的时候被我改过再发的,源码倒不是那样。原因就不解释了
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 00:03
12
0
重定位只要把位于XX段的地址重定位给老内核
位于XXx段的可以定给XX~
我想你懂得~
雪    币: 1288
活跃值: 活跃值 (66)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
zhouws 活跃值 2 2011-9-16 00:12
13
0
你的异常分发抄到哪了。commException和kidispatchxxx这两个函数抄没抄啊
雪    币: 1288
活跃值: 活跃值 (66)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
zhouws 活跃值 2 2011-9-16 00:18
14
0
俺弄了份。4核不蓝。
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 00:19
15
0
一个都没抄,话说,搞了新方法~
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 00:20
16
0
内核reload太暴力鸟~
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 00:22
17
0
嘿嘿,他们有兴趣的再慢慢折腾啦
雪    币: 352
活跃值: 活跃值 (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lwykj 活跃值 2011-9-16 00:24
18
0
强人 拜一下
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 00:26
19
0
其实第一次看到这种reload内核是在rootkit.com上那个什么什么l隐藏啊~
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 00:26
20
0
求内幕…… 以前从朋友那里拿到一份老的release版的AGP,IDA了下就没弄了,那版的AGP在sp2 sp3上蓝的一塌糊涂
雪    币: 1288
活跃值: 活跃值 (66)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
zhouws 活跃值 2 2011-9-16 00:28
21
0
他发截图了,各种疯狂。。

就不晓得他的新方法能不能兼容WIN7
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 00:28
22
0
过几天我放个memory hook的出来玩玩,也许V大你已经知道了,那篇shadow walker论文,写的实在是精彩
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 00:30
23
0
其实reloadKernel + memory hook 可以bypass一切游戏保护,只是说调戏还需要AGP的maitain debug object……WRK真是造福全人类啊
雪    币: 1288
活跃值: 活跃值 (66)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
zhouws 活跃值 2 2011-9-16 00:36
24
0
尼玛的,做游戏保护的你伤不起啊。

memory hook是改内存属性?
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 00:40
25
0
你把你邮箱给我,我发给你一篇论文你就知道了…… 那是国外的牛写的,据说是第四代rootkit啦,虽然他所测试的demo有限制:
1:不支持PAE
2:不支持多核
但是我们只要了解它的思想就够了,一定能自己完善
雪    币: 27
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
mszjk 活跃值 2011-9-16 00:51
26
0
只能过些钩子,那些结构没初始化你咋过dkom?还不是得自己搞.
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 00:59
27
0
不是我自己搞,而是你自己搞,若想搞,参加ObInitSystem函数…… 祖国的未来是你们的,加油吧
雪    币: 264
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hackerxina 活跃值 2011-9-16 02:23
28
0
原来大家早这么干了
雪    币: 264
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hackerxina 活跃值 2011-9-16 02:47
29
0
你是想废天子,还是想胁天子令诸侯
雪    币: 138
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
ProbieTmp 活跃值 2011-9-16 03:30
30
0
果然XX...
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 03:56
31
0
phide2里面有自己构造调度链什么的东西,然后结合vmx86.sys里的偷时间切换+vt-x大法
弄个kernel run in kernel更好,更邪魔~

新AGP依然不准备支持win7支持,其实要支持也挺快就是改一堆结构~
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 03:57
32
0
一直抄nt4的代码的说,wrk的代码有些东西不对,会蓝的要死~
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 04:10
33
0
我勒个去,居然还没睡,,,牛啊牛。。。
想要让新kernel在旧kernel中跑起来,要有很多事情做……难啊,麻烦啊,天啊
不过要是做出来了……那就真的是打不死的小强了
雪    币: 461
活跃值: 活跃值 (64)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2011-9-16 10:50
34
0
膜拜 V 插 K 童鞋
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 11:35
35
0
凑字数也不是这么凑的~
最近还玩球乎?
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-16 11:37
36
0
做稳定了,可以直接搞一套跟vps差不多的东西出来~也做虚拟计算好了~
做的不稳定就只能用来搞蛋~
雪    币: 250
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hacknr 活跃值 2011-9-16 13:28
37
0
顶上去
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-16 19:07
38
0
发个广告……建了个小群,欢迎没事来扯淡:50530582
雪    币: 14
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
oujuanfei 活跃值 2011-9-18 21:42
39
0
楼主 能贴断 映射内核 到内存 然后读取 某函数 前几个字节的方法吗
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-18 22:32
40
0
兄弟,映射代码我的附件里有完整的,缓冲区可读可写可执行,你直接确定函数地址,RtlCopyMemory就行了
雪    币: 230
活跃值: 活跃值 (10)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
wuaiwu 活跃值 3 2011-9-18 22:52
41
0
论坛的坛友老是强调怎么用,不是关注技术。。   很奇怪,那啥,连连看的源码关注的人很多,反倒很多技术贴老被人问有没有用。。   有点悲哀了 。。

顶楼主。。。源码收了  哈哈
雪    币: 46
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
长风傲天 活跃值 1 2011-9-18 23:11
42
0
虽然我的算不上什么技术贴,不过终于遇上一个有相同看法的同志了
雪    币: 2648
活跃值: 活跃值 (105)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2011-9-18 23:46
43
0
非常有同感~~
雪    币: 278
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yuweiping 活跃值 2011-9-20 12:12
44
0
第一次看到这样的贴,不是很懂。。。。。谢谢分享
雪    币: 35
活跃值: 活跃值 (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MagicFuzzX 活跃值 2011-12-1 17:06
45
0
这又是什么神奇的技术
雪    币: 1530
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iloveqqp 活跃值 2012-1-23 13:07
46
0


1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _VerifyCallIndex@4 referenced in function _VerifyCall@12
1>drventry.obj : error LNK2019: unresolved external symbol _VerifyCaller@4 referenced in function _VerifyCall@12
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _VerifyCaller@4 referenced in function _VerifyCall@12
1>drventry.obj : error LNK2019: unresolved external symbol _PageProtectOn@0 referenced in function _HookKiFastCallEntry@4
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _PageProtectOn@0 referenced in function _HookKiFastCallEntry@4
1>drventry.obj : error LNK2019: unresolved external symbol _PageProtectOff@0 referenced in function _HookKiFastCallEntry@4
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _PageProtectOff@0 referenced in function _HookKiFastCallEntry@4
1>drventry.obj : error LNK2019: unresolved external symbol _GetSystemRoutineAddress@4 referenced in function _GetHookStartAddress@0
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _GetSystemRoutineAddress@4 referenced in function _GetHookStartAddress@0
1>drventry.obj : error LNK2019: unresolved external symbol _DeleteProcVerify@4 referenced in function _ProcessMonitor@12
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _DeleteProcVerify@4 referenced in function _ProcessMonitor@12
1>drventry.obj : error LNK2019: unresolved external symbol _AddProcVerify@4 referenced in function _ProcessMonitor@12
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _AddProcVerify@4 referenced in function _ProcessMonitor@12
1>drventry.obj : error LNK2019: unresolved external symbol _UnloadKernel@0 referenced in function _OnUnload@4
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _UnloadKernel@0 referenced in function _OnUnload@4
1>drventry.obj : error LNK2019: unresolved external symbol _UninitVerify@0 referenced in function _OnUnload@4
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _UninitVerify@0 referenced in function _OnUnload@4
1>drventry.obj : error LNK2019: unresolved external symbol _InitVerify@0 referenced in function _DriverEntry@8
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _InitVerify@0 referenced in function _DriverEntry@8
1>drventry.obj : error LNK2019: unresolved external symbol _LoadKernel@4 referenced in function _DriverEntry@8
1>c:\kernelloader_sys\drventry.obj : error LNK2019: unresolved external symbol _LoadKernel@4 referenced in function _DriverEntry@8
1>c:\kernelloader_sys\objchk_wxp_x86\i386\Kernal.sys : fatal error LNK1120: 11 unresolved externals
1>c:\kernelloader_sys\objchk_wxp_x86\i386\kernal.sys : error LNK1120: 11 unresolved externals
雪    币: 71
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mumaren 活跃值 2012-1-23 14:23
47
0
刚看见这个帖子,好像很深遂
雪    币: 1530
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iloveqqp 活跃值 2012-1-24 11:52
48
0
现在驱动加载成功↓


但自己写个SSDTHook 和InlineHook  都无法绕过
用冰刃查看也是读取到老内核↓

这是为什么呢?  

测试环境 Windows Sp2  WDK7600
雪    币: 1530
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iloveqqp 活跃值 2012-1-24 12:31
49
0
Sorry 没注意到DispatchRoutine的部分  
已經搞定!!
太不专心了...呵呵
雪    币: 57
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
twtgh 活跃值 2012-1-24 13:38
50
0
好东西,关注中……
游客
登录 | 注册 方可回帖
返回