话说最近我在使用冰刃的时候,突然发现找不到它的主程序了,这立刻引起了我的警觉,直觉告诉我这很有可能是病毒在作怪,我从别处拷贝的文件,复制的时候,却出现了文件已存在的错误提示框,而且所有隐藏的文件都已经显示出来了,这变得很有意思了,我猜测可能是中了内核级的rootkit。下面就让我们一起来看看它吧!
那么到底什么是rootkit呢?rootkit是能够持久或可靠的,无法检测到存在于计算机上的一组程序和代码。rootkit所采用的大部分技术和技巧都用于在计算机上隐藏代码和数据。例如,许多rootkit都可以隐藏文件和目录,在Windows操作系统中大都以驱动程序的形式运行,通过修改系统内核来达到潜行的目的。rootkit与木马服务终端程序有些类似,但远比木马的隐蔽性要高。
病毒竟然隐藏了主程序,我们可以试着将别处拷贝的冰刃随便改一个名字,这样就可以顺利的打开了,先来看看冰刃目录下的文件,除了新改名的之外,还有一个原来的文件,但是它被隐藏了,骗过了操作系统,甚至是杀毒软件也无能为力,她却骗不过冰刃,因为冰刃也是使用内核技术编写的,只是同样的技术却被用于正邪两派而已,现在我们已经基本断定是rootkit病毒所影响的,那么要如何找到元凶并将其清除呢!
大部分的rootkit都是基于hook ZwQueryDirectory File来隐藏文件,zwquerydirectoryfile是内核函数,通过挂钩SSDT表来改写函数地址指向新的函数地址,新的函数负责修改数据以骗过调用此函数的程序。SSDT全称就是System Services Descriptor Table,也就是系统服务描述符表。这个表就是一个把ring3的Win32 API和ringo的内核API联系起来的角色。主流杀毒软件的主动防御功能也都是通过这种技术实现了,知道了基本原理,这个时候我们就可以使用一款rootkit的检测工具-Rootkit UnHooker。
点击SSDT来自动检测被挂钩的函数,由于我们没有使用杀毒软件的习惯,所以挂钩比较少,没有干扰的就找到了这个rootkit的模块。果然是hook了ZwQueryDirectoryFile这个函数,选中它,点击下方的UHOOK selected,毫不留情地将其卸载掉。最后再将文件夹里的文件删除掉,最后还剩下启动项,打开开始运行栏,输入regedit,调出注册表编辑器,按下Ctrl+F进行查找,找到住车厢后,直接将它删除就可以了。
至此这个rootlit你都清除完毕了,到,冰刃目录下看看主程序也就回来了。