用编程的方法突破NT安全机制
用编程的方法突破NT安全机制
本文发表于2年前
经过几天的努力,我终于找到了用编程的方法突破NT安全机制的方法。
所涉及的操作系统有:NT 2000 XP(我没有测试,估计也差不多)
您需要的软件:IDA pro
您需要的知识:基本的编程思想、基本的汇编知识
学会后你能干什么:即使你不是NT管理员,你也可以做管理员的事情,你可以写一个像FUNLOVE一样优秀的病毒。
正文:
参考了FUNLOVE病毒的做法,NT的安全机制是由两个文件组成:ntoskrn1.exe和ntldr
ntoskrn1.exe导出了一个API函数SeAccessCheck,他也就是检测程序的合法与否。我用IDA看看这个函数的具体情况:
code:
004A18F1 mov a1, [ebp+4h]
….
这段代码大家可以自己看,上面的那一行足以说明问题了,汇编是另一个朋友做,我们可以知道的是,只要把这函数的返回值改为a1,1那么任何一个程序都可以执行,甚至当成是系统服务,包括木马等等等等(当然病毒防火墙也可以把木马杀掉)
参考FUNLOVE的做法:
code:
mov a1,1
nop
懂汇编的朋友会知道nop就是填充指令(这里),做到这里,我原来以为NT的漏洞就在这个地方,我重新启动了计算机,竟然蓝屏了(我竟然让NT蓝屏了,不简单),我在参考了很多资料以后才发现,原来还有ntldr是检测ntoskrn1的,于是我们只有重装系统,(悲惨)!
同样是这样,我们打开了ntldr发现他比刚才那个复杂多了,看了半天终于知道,把JZ改成JMP这样的话两个文件都PATCH了,NT的安全机制就这样被攻破了。
在这一期的某编程杂志上有类似文章,我们参考了其做法。
漏洞:MIXTER
汇编:YUKI
来源:安全中国
这篇为批量导入文章,以下为之前站内评论!
- 夜风冷发表于 2年前