木马的隐藏及其启动方式
1.隐藏方式
(1)隐藏在任务栏中
在任务栏中隐藏文件图标是木马隐藏自身的基本方式,在编程时很容易实现。以VB为例,只要把form(窗体)的Visible属性设置为False并把ShowInTaskBar设置为False,程序就不会出现在任务栏中,如图3-9所示。
图3-9 在VB中设置属性
(2)隐藏在任务管理器中
如把木马设置为“系统服务”骗过任务管理器。
(3)隐藏通信端口
通常一台计算机有65 536个端口,如果木马占用1 024以下的端口,很可能造成端口冲突,从而暴露。目前有很多木马提供了端口修改功能,可以随时修改端口号,以避免被发现。
(4)隐藏加载方式
木马加载的目的就是让目标主机运行它。如果木马不做任何伪装,用户不会去运行它,所以如何让用户运行服务端是基于木马入侵的一个难题。而随着网站互动化的不断进步,越来越多的新技术可以成为木马的传播媒介,如Java Script、VBScript及ActiveX等。
(5)最新隐身技术
木马设计者们发现Windows下的中文汉化软件采用的陷阱技术非常适合木马使用,这是一种更新且更隐蔽的方法。通过修改虚拟设备驱动程序(VXD)或动态链接库(DLL)来加载木马,基本摆脱了原有的监听端口模式,木马会将修改后的DLL替换系统已知的DLL并过滤所有的函数调用。被替换的DLL文件监听网络,一旦发现控制端的请求就激活自身并绑在一个进程上执行相关的木马操作。这样做的好处是没有增加新的文件,不需要打开新的端口,也没有新的进程,使用常规的方法监测不到。并且经过测试,木马没有出现任何瘫痪现象,木马的控制端向被控制端发出特定的信息后隐藏的程序将立即开始运行。
2.启动方式
木马的启动功能是必不可少的,自启动可以保证其不会因为用户的一次关机操作而彻底失去作用。一个典型的例子就是把木马加入到用户经常执行的程序(例如explorer.exe)中,当用户执行该程序时木马就自动执行并运行。当然更普遍的方法是通过修改Windows系统文件和注册表达到目的,现在经常使用的方法主要有以下几种。
(1)在Win.ini中启动
在Win.ini的[windows]字段中有启动命令load=和run=,=后默认为空,可以把开机加载程序的路径写在其中:
run=c:\windows\sample.exe
load=c:\windows\sample.exe
(2)在System.ini中启动
System.ini位于Windows的安装目录下,其中[boot]字段的shell=Explorer.exe是木马通常用来隐藏加载之处。通常的做法是将该项变为shell=Explorer.exe sample.exe,这里的sample.exe即木马服务端程序。
System.ini中的[386Enh]字段中的"driver=路径\程序名"也可以用来实现自启动,此外System.ini中的[mic]、[drivers]和[drivers32]也是黑客经常用来加载程序之处。
(3)通过启动组实现自启动
如图3-10所示的启动组用来实现应用程序自启动,文件夹的位置为“C:\Documents and Settings\Administrator\Start Menu\Programs\Startup”,其中Administrator为主机的用户名。如将QQ作为系统启动组中的一项,每次系统启动后都会自动运行它。
图3-10 系统启动组
也可以从注册表中的启动组添加木马程序启动项,例如:“HKEY_CURRENT_USER\Software\MICROSOFT\Windows\CurrentVersion\Explorer\ShellFolders”,在右面的属性栏中可以找到Startup属性,黑客可以通过该属性更改启动组路径,如图3-11所示。
图3-11 在注册表中更改启动组路径
(4)*.INI
后缀为ini的文件是系统中应用程序的启动配置文件,木马程序利用这些文件能够自启动应用程序的特点将制作的带有木马服务端程序自启动命令的文件上传到目标主机中,这样可以达到启动木马的目的。
(5)修改文件关联
修改文件关联是木马常用手段,例如在正常情况下使用Notepad.exe文件打开txt文件。但一旦被文件关联木马感染,则txt文件就会被修改为用木马程序打开,如著名的国产木马冰河就是这样。
冰河木马将“HKEY_CLASSES_ROOT\ txtfile\shell\open\command”下的键值“%SystemRoot%\system32\NOTEPAD.exe %1”修改为“C:\WINDOWS\SYSTEM\
Virus.exe%l”,如图3-12所示。
图3-12 修改文件关联
只要用户双击一个txt文件,则由C:\WINDOWS\SYSTEM32目录下的Virus.exe这个木马程序打开。不仅仅是txt文件,htm、exe及zip等也都是黑客的目标。
(6)捆绑文件
如著名的Deception Binder捆绑文件后会将捆绑文件放到网站、FTP及BT等资源下载场所,用户下载并执行捆绑文件的同时就启动了木马的服务端程序。
本文节选自电子工业出版社2009年6月出版的《黑客攻防实战编程》一书。