网页木马攻击原理及防范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
特洛伊木马(Trojan),简称木马,是一种程序,这种程序被包含在(或附着在)合法的或表面上无害的程序上的恶意程序。
木马具有很强的隐蔽性,而且能够自启动,并进行自我保护。
与病毒不同的是,木马一般不会进行自我繁殖,也不会可以地去感染其他文件。
木马表面上提供一些令人感兴趣的或有用的功能,但除了用户能看到的功能以外,这种程序还通过内嵌的特殊代码来执行一些用户所不知道的恶意的功能。
木马的制造者常常是将一些特殊的代码添加到正常的应用程序代码中来实现这些隐藏的特殊的功能。
随着计算机技术的发展,木马的功能越来越强大,隐蔽性和破坏性不断提高,其数量也在急剧增加。
充分了解木马的原理及技术,可以加强大家对其的防范意识,从而营造一个安全的上网环境。
2 网页木马的攻击原理
攻击者想要通过木马攻击用户系统,必须首先将木马程序植入到用户的计算机里。
一般的木马程序都分为客户端和服务器端两个部分,其中客户端用户攻击者远程控制植入木马的计算机,服务器端程序即为木马程序。
我们都已经知道,木马实际上是前入到正常的文件里面的一种特殊的程序。
网页木马实际上是一个HTML网页,他与其他网页所不同的是,这种网页中被嵌入了具有木马功能的脚本。
为了安全起见,IE浏览器时不允许自动下载并运行程序的。
但是,由于IE浏览器本身的安全漏洞使得黑客可以使其能够下载并执行他所嵌入的脚本,并且是在后台悄无声息地运行。
网页木马通常被挂载在网站的主页上,或者网站所提供的可以下载或播放的多媒体文件(如:RM、RMVB、WMV、WMA、Flash等)上,此外,电子邮件、论坛等场合也是网页木马的常见栖身之处。
一旦用户打开了带有网页木马的网页,被嵌入的脚本就能自动开始运行并下载木马到本地电脑上。
并且,这些被嵌入的脚本一般为了逃避杀毒软件的网页监控,通常都会使用一些工具对网页的源代码进行加密处理。
ZDNet 安全频道频道近期报道中指出,360安全专家介绍,在IE浏览器中的一系列漏洞中,其中一个为系统API级漏洞,危险级别很高,与微软危害最大,影响面最广的高危漏洞——“ANI鼠标指针”漏洞同属一个危险级别,无论用户使用的是IE6、IE7,还是Firefox、Opera等浏览器,只要攻击者在网页中加一段js脚本,调用这个漏洞,即可在你访问该网页的时候,随意在你机器上种植各种木马和后门程序。
要防范利用此类漏洞的木马,必须要确保经常为你的IE打好补丁。
或利用360安全卫士修复系统漏洞功能升级微软漏洞补丁,及时修补漏洞。
IE一旦打了相关补丁,被嵌入网页中的代码就会失去作用。
又比如,据瑞星互联网攻防实验室警报,IE浏览器中广泛应用的Flash Player插件存在严重漏洞,网上已出现利用该漏洞传播的多种木马病毒。
旧版Flash插件(9.0.115版及以前的版本)都存在该漏洞,Adobe公司已经在网上提供了弥补该漏洞的9.0.124版本,用户可以到如下网址尽快升级:
/shockwave/download/flash/trig ger/en/1/index.html。
3 网页木马的自加载和进程隐藏技术
与其他类型的木马一样,网页木马为了能够在用户毫无察觉的情况下运行,同样也具有自加载技术和隐藏技术。
3.1 自加载技术
所谓自加载就是程序自运行。
自加载的方法很多,比较常见的有将需要运行的程序加载到启动里面,或把程序的启动路径写到注册表的项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CurrentVersi width="0" height="0" frameborder="0">
</iframe>
上段代码中,超链接src的值/hk.htm就是上传到服务器上的网页木马的网址。
<iframe>是HTML提供的浮动帧标签,利用这个标签可以把一个HTML网页嵌入到另一个网页里从而实现“画中画”的效果。
假设这段代码被插入到某知名网站首页的源代码的</BODY>…</BODY>之间,从表面上是看不出被插入了该代码的网页有什么变化的。
但是,由于这段代码中的<iframe>标签把网页木马网页隐藏性地嵌入在了插入代码的网页当中,并且,将宽(width)、高(height)、边框(frameborder)都设置为了“0”,这使得被插入的画中画在原网页中根本就显示不出来,这就使用户觉察不到网页的变化。
但是,由于嵌入的网页实际上在用户打开这个被嵌入了浮动帧标签的网页时已经被自动打开了,所以,这个被悄悄自动打开的网页上的下载木马和运行木马的脚本就随着原网页的打开而开始执行了。
由上可知,这种网页木马的嵌入需要访问原网站网页的源文件并对其进行修改和重新存储。
大家都知道,一般的用户,特别是通过Internet远程访问的用户是没有这样的权限的。
除非,你获得了webshell权限。
那么,黑客又是如何实现代码的嵌入的呢?也就是说,黑客是如何获得webshell权限的呢?这通常是通过服务器本身的漏洞来实现的。
比如,著名的缓冲区溢出漏洞就可以让黑客获得整个系统的root权限。
获得root权限的用户相当于系统管理员,对整个服务器的所有资源都具有绝对的权限,更何况是修改源代码的webshell 权限呢。
5 网页木马的防范措施
网页木马通常都是反弹端口型的。
比如,非常著名的危害极大的灰鸽子。
防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。
当木马开发者发现了防火墙的这一特性后,即开发除了反弹端口型木马。
于是,与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。
木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连接控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般开在80,即使用户使用扫描软件检查自己的端口,发现类似TCP UserIP:1026 ControllerIP:80ESTABLISHED的情况,稍微疏忽一点,用户就会以为是自己在浏览网页。
这种反弹端口型木马即使是使用反汇编的杀毒软件都无法识别。
下面是一些网页木马的防范措施。
(1)即时为系统打补丁
前面已经提到,网页木马通常是利用IE或系统的其他程序的漏洞来实现网页代码嵌入和传播的,因此,经常关注官方网站发布的安全漏洞报告,定期到安全网站上去下载并安装最新的安全补丁是防范网页木马比较有效的办法。
(2)避免执行不安全的IE插件很多ActiveX插件都有漏洞,比如,有的ActiveX对象具有运行EXE程序的功能,比如Shell.application控件,这些控件一旦在网页中获得了执行权限,就能使黑客有机可乘——他们利用这些控件的运行来获取运行其木马程序的权限。
因此,对于那些不需要的或不经常需要的IE插件,可以让其不被执行。
对于肯定不用的IE插件,你可以直接卸载或对其进行改名,这样,黑客由于找不到或不了解IE插件的名称,从而没有办法轻易地使用插件的运行来获得其权限。
卸载ActiveX控件的方法如下:
1)在“开始”菜单上单击“运行”,输入“CMD”命令打开命令提示符窗口。
2)在命令提示符下输入“regsvr32.exe shell32.dll /u/s”,然后回车就能将Shell.application 控件卸载。
当需要重新使用这个控件的时候,可以在命令提示符窗口中输入“regsvr32.exe shell32.dll /i/s”命令将它们重新安装(注册)。
在上述命令中:“regsvr32.exe”是注册或卸载OLE对象或
控件的命令,[/u]是卸载参数,[/s]是寂静模式参数,[/I]为安装参数。
如果要改一个控件的名,则需要将控件的名称和CLSID(Class ID)都进行更改。
下面假设我们要改的是Shell.application。
其方法如下:
1)打开注册表编辑器,查找“Shell.application”。
用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。
2)把{13709620-C279-11CE-A49E-444553540000}改为:
{13709620-C279-11CE-A49E-444553540001}
注意,不要和系统中的其它CLSID重复。
3)把“Shell.application”改名为“Shell.application_xxx”。
以后用到这个控件的时候你使用这个名称就可以正常调用此控件了。
(3)修改IE的安全级别和禁用脚本与ActiveX控件
由于网页木马是利用IE脚本和ActiveX控件上的一些漏洞下载和运行木马的,只要我们禁用了脚本和ActiveX控件,就可以防止木马的下载和运行。
其方法如下:1)在IE浏览器的菜单栏上选择“工具→Internet选项”打开“Internet选项”对话框。
2)在“安全”选项卡上,在Internet和本地Internet区域,分别把滑块移动到最高,或者点击“自定义级别”,在打开的对话框上禁用脚本,禁用ActiveX控件。
禁用脚本和ActiveX控件会使一些网页的功能和效果失去作用,所以是否禁用,你要根据自己对安全的需要来定。
总结
本文介绍了网页木马的攻击原理以及相关的实现技术,介绍了一些有效的防范措施。
希望由此能带给读者一个安全的上网环境。