2009年2月13日星期五

隐形后门的技术HOOK SSDT

现在杀毒软件可以说对常规病毒的查杀非常完美了,无论是启发式杀毒还是特征杀毒,再或者是主动防御.基本上以前通用的病毒编写技术都被杀毒软件盯上了.为了躲避杀毒软件的查杀,以及使自己的后门更加强壮.那么就需要从RING3下进入RING0,HOOK SSDT来加载驱动是个不错的方法.

但是杀毒软件也盯上了这一块,为了防止病毒木马加载驱动,一般都采用ring0 inline hook来防止SSDT被HOOK.那么是不是就没有办法HOOK了呢?答案显然是否定的,目前有2种主流办法,一种是暴力结束杀毒软件,一种是通过替换系统内核来实现.暴力破坏杀毒软件对系统的损害是很大,一般就不得不重做系统.所以这里来说下第2种方案.以前堕落天才写过篇很经典的,这里就温故知新吧.

以NtOpenProcess为例,就是MyNtOpenProcess。然后修改SSDT表,让系统服务进入自己的函数MyNtOpenProcess。而MyNtOpenProcess要做的事就是,实现NtOpenProcess前10字节指令,然后再JMP到原来的NtOpenProcess的十字节后。这样NtOpenProcess函数头写的JMP都失效了,在ring3直接调用OpenProcess再也毫无影响。







2 条评论:

  1. ·HI,楼主,我对网络方面知识基本一片空白 想做网络安全 请问下 从哪开始学习最好呢 是报班还是说自己去买书看,,

    回复删除
  2. 先尝试学会一门计算机语言,剩下的慢慢都会接触和掌握的

    回复删除

51La