摘要:木马程序一般分为客户端程序和服务端程序两部分,客户端程序用于远程控制计算机。而服务端程序,则隐藏到远程计算机中,接收并执行客户端程序发出的命令。本文首先介绍了木马的定义,功能和特点,其次介绍了木马的常见植入技术,包括网站挂马,发送超级链接,电子邮件,缓冲区溢出,和其它病毒形态相结合五种。再次阐述了木马的自启动技术,然后是木马的隐藏技术,包括文件隐藏,进程隐藏和通信隐藏。最后是木马的免杀技术,主要包括加壳,修改特征码和加花指令。
关键词:木马;木马植入;木马自启动;木马隐藏;木马免杀
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)08-1pppp-0c
1 木马技术的发展情况
计算机网络中的木马(Trojan),是指隐藏在正常程序中的一段具有特殊功能的代码。木马程序一般分为客户端程序和服务端程序两部分,客户端程序用于远程控制计算机。而服务端程序,则隐藏到远程计算机中,接收并执行客户端程序发出的命令。
木马的功能很强大,它可以记录用户的按键记录,窃取用户的帐号;远程控制对方机器;获得被控端信息,窃取被控端的资源,复制,修改,删除对方文件,格式化硬盘,上传下载文件等。
同时,木马具有隐蔽性和欺骗行强的特点,并且难以根除,是目前攻击计算机信息系统的主要手段之一,对计算机信息系统的安全保密构成了极大的威胁。因此对基于木马的黑客攻击技术的研究已成为计算机信息安全领域的一个热点。
基于木马的攻击技术,主要有植入技术,自启动技术,隐藏技术,免杀技术等。
2 木马的植入
植入木马是进行攻击的首要条件,方法主要有下列几种:
(1)网站挂马。经常上网的朋友们都有体会,浏览网页的时候,不知不觉的就中了木马,有些网站,尤其一些中小型网站,被人植入木马,只要点击浏览了就中。
(2)网络发送超级连接。这种方式也很常见,比如QQ,MSN。
(3)通过电子邮件传播,一般是以附件的形式,
(4)利用系统的漏洞,以缓冲区溢出的方法最为常见。因为系统软件一般是用C语言编写,相比较而言,C语言注重灵活和执行效率,对于边界检查做的很不够, 这一点往往被黑客所利用。通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。
(5)和其它病毒形态,比如蠕虫病毒结合在一起,由于蠕虫病毒具有传播迅速的特点,这种结合方式,很有杀伤力。
3 木马的自启动
木马在植入系统之后,一般需要自动启动,那么往往就要利用系统中现有的文件自动启动的方式,
3.1 利用windows系统文件实现相关程序的自动启动
常用的有win.in,system.ini等。
win.ini是在系统启动的时候对系统的初始环境进行设置的文件。使用该文件进行启动的方法如下 (X.exe为要启动的文件名,以下同):
Win.ini:
[windows]
Load = X.exe
Run = X.exe
类似的System.ini:
[boot]
Shell=Explorer.exeX.exe
这里需要注意的是, system.ini 只能启动一种文件。
注:这两个文件在一些电脑公司的优化版里面已经不再出现。
3.2 利用autorun.inf文件
这个文件,常常出现在光盘中,用于光盘的自启动。现在也经常被木马所使用,并且把属性设置为隐藏。
比如:
[AUTORUN]
OPEN=X.exe
ICON=X.exe
很多用户没有关闭“自动播放功能”,这一点很容易被木马所利用。另外,由于 autorun.inf 可以存在于硬盘的每个分区下,给病毒的查杀带来很大难度,如果查杀不彻底,那么,即使格式化了C盘,点击其它盘,马上又中了,非常麻烦。
3.3 在开始菜单里面添加
C:\Documents and Settings\用户名\「开始」菜单\程序\启动
C:\Documents and Settings\All Users\「开始」菜单\程序\启动
这种方式重要用于启动一些应用软件,而且很容易的在开始菜单里面看到,所以,木马很少用到。
3.4 利用注册表实现相关程序的自动启动
其中利用注册表启动项隐蔽启动的地方主要有
[HKLM\Software\Microsoft\Windows\CurrentVersion\Run]
[HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
[HKCU\Software\Microsoft\Windows\CurrentVersion\Run]
[HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
4. 木马的隐藏
隐蔽性是木马最重要的特征,木马在植入系统后,很关键的一点就是躲避杀毒软件和用户的手工查杀。要想实现木马的隐藏,主要有下列途径:
4.1 文件隐藏
木马隐藏首先要实现文件的隐藏.
很多木马会嵌入到宿主文件中,采用此隐蔽手段的木马通常有以下两种形式:插入到某程序中、与某程序捆绑到一起。一运行这个程序就会启动木马 ,另外,可以利用Wiar,Winzip等压缩文件制作成自解压的执行程序。
更多的情况是以独立的文件方式存在。 一般会把文件属性设置为隐藏,有的还设置为只读,很多木马文件会放到C;/windows , C:/windows/system32文件夹下面,还有 C:\Documents and Settings\用户名\Local Settings\Temp下,很多木马还伪装成系统文件,修改生成日期等。
4.2 进程隐藏
最简单的进程隐藏方式就是把木马进程改为非常类似于系统进程的名字,现在很多木马都采用DLL技术,以线程方式存在,在任务管理器里面看到的进程都是正常,木马调用的就是是系统中正常的进程, 比如,Rundll32.exe, Explorer.exe等。这种方式,由于是插入到正常进程中运行,从而也实现了端口隐藏的目的。
其它的隐藏方式还有:修改进程管理程序,隐藏进程信息等。
4.3 通信隐藏
木马常用隐藏通信的方法有下列几种:
第一,端口隐藏。线程木马或者采用端口复用技术。
第二,方向连接技术,反弹端口型木马,突破防火墙。
第三,隐蔽通道技术,采用TCP/IP协议中一些很少用到的域或者一些特殊的协议,比如ICMP。
5 木马的免杀
现在杀毒软件发展很快,木马往往肆虐一段后,就被杀毒软件查杀了。所以,制作免杀的木马就非常重要。由于免杀木马的制作对技术上要求比较高,我们主要介绍下它的原理。
文件免杀的主要手段如下:
(1)加壳免杀
大家应该都会,由于常见的壳,比如UPX很难逃过杀毒软件的法眼,建议选择一些生僻壳、或者加多重壳。
(2)修改文件特征代码免杀
此方法的通用性比较差,因为不同杀毒软件对于同一病毒的特征码定义往往不同, 难点在于定位特征码,常用方法有直接修改法和跳转修改法。
(3)加花指令免杀
此方法通用性强,而且效果好。主要有两种:加区加花和去头加花。
比如修改入口地址,在原来的入口地址添加一些无用的花指令,这样,修改了入口地址,可以骗过一些杀毒软件。比如,在原来的入口地址,添加NOP指令,这些空操作不会影响程序的执行,然后,再用JMP指令跳转到真正的入口即可。
此方法特点就是通用性强,而且效果好。一般一个木马程序加入花指令之后,就可以躲过大部分杀毒软件,不象改特征码,由于不同软件厂商对特征码定义不同,改特征码可能只能躲过一种杀毒软件,缺点就是不能躲过内存查杀,比如rising.
此外还有修改内存特征代码的方法。
6 结束语
网络技术日新月异,病毒的泛滥给我们网络安全人员带来了很大的挑战,所谓”知己知彼,百战不殆”认真学习黑客的攻击技术,尤其是基于木马的攻击技术,对于保障网络信息安全,有着十分重要的意义。
参考文献:
[1]Whitman,Mattord.Principles of Information security(齐立博)[M].北京:清华大学出版社,2006.
[2]宋海涛.木马攻击防范理论与技术研究[D].南京:南京师范大学,2004.
[3]王战浩.木马攻击与防范技术研究[D].上海:上海交通大学,2007.
扩展阅读文章
推荐阅读文章
77范文网 https://www.hanjia777.com
Copyright © 2015-2024 . 77范文网 版权所有
Powered by 77范文网 © All Rights Reserved. 备案号:粤ICP备15071480号-27