揭开木马的神秘面纱二(下)
shotgun ·yesky
三、争夺系统控制权
木马们并不甘于老是处于防守的地位,他们也会进攻,也会主动出击。WINNT下的溢出型木马就是这样的积极者,他们不仅仅简单的加载、守候、完成命令,而是利用种种系统的漏洞设法使自己成为系统的拥有者-ADMIN,甚至系统的控制者-System。那么,木马利用什么方法能一改过去到处逃亡的面目,从而成为系统的主宰呢?
首当其冲的显然是注册表:多年驰骋注册表的历史使得木马非常熟悉注册表的构造和特点(你呢,你能比木马更熟悉注册表么)Windows2000有几个注册表的权限漏洞,允许非授权用户改写ADMIN的设置,从而强迫ADMIN执行木马程序,这个方法实现起来比较容易,但是会被大多数的防火墙发现。
其次是利用系统的权限漏洞,改写ADMIN的文件、配置等等,在ADMIN允许Active Desktop的情况下这个方法非常好用,但是对于一个有经验的管理员,这个方法不是太有效;
第三个选择是系统的本地溢出漏洞,由于木马是在本地运行的,它可以通过本地溢出的漏洞(比如IIS的本地溢出漏洞等),直接取得system的权限。这部分内容在袁哥和很多汇编高手的文章中都有介绍,我就不再赘述了。(偷偷告诉你,其实是我说不出来,我要是能写出那样的溢出程序我还用在这里......)
四、防火墙攻防战
现在,在个人防火墙如此之流行的今天,也许有人会说:我装个防火墙,不管你用什么木马,在我系统上搞什么,防火墙设了只出不进,反正你没法连进来。同样,对于局域网内的机器,原先的木马也不能有效的进行控制(难道指望网关会给你做NAT么?)但是,城墙从来就挡不住木马:在古希腊的特洛伊战争中,人们是推倒了城墙来恭迎木马的,而在这个互联网的时代,木马仍然以其隐蔽性和欺诈性使得防火墙被从内部攻破。其中反弹端口型的木马非常清晰的体现了这一思路。
反弹端口型木马分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口,木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的主动端口,为了隐蔽起见,控制端的被动端口一般开在80,这样,即使用户使用端口扫描软件检查自己的端口,发现的也是类似 TCPUserIP:1026ControllerIP:80 ESTABLISHED的情况,稍微疏忽一点你就会以为是自己在浏览网页。(防火墙也会这么认为的,我想大概没有哪个防火墙会不给用户向外连接80端口吧,嘿嘿)看到这里,有人会问:那服务端怎么能知道控制端的IP地址呢?难道控制端只能使用固定的IP地址?哈哈,那不是自己找死么?一查就查到了。
实际上,这种反弹端口的木马常常会采用固定IP的第三方存储设备来进行IP地址的传递。举一个简单的例子:事先约定好一个个人主页的空间,在其中放置一个文本文件,木马每分钟去GET一次这个文件,如果文件内容为空,就什么都不做,如果有内容就按照文本文件中的数据计算出控制端的IP和端口,反弹一个TCP链接回去,这样每次控制者上线只需要FTP一个INI文件就可以告诉木马自己的位置,为了保险起见,这个IP地址甚至可以经过一定的加密,除了服务和控制端,其他的人就算拿到了也没有任何的意义。对于一些能够分析报文、过滤TCP/UDP的防火墙,反弹端口型木马同样有办法对付,简单的来说,控制端使用80端口的木马完全可以真的使用HTTP协议,将传送的数据包含在HTTP的报文中,难道防火墙真的精明到可以分辨通过HTTP协议传送的究竟是网页还是控制命令和数据?
五、更加隐蔽的加载方式
记得一年前,大家觉得通过所谓图片传播的木马非常神秘,其实现在几乎人人都知道那只是一个后缀名的小把戏,而绑定EXE文件的木马也随着“不要轻易执行可执行文件”的警告变得越来越不可行,和过去不同是,现在木马的入侵方式更加的隐蔽,在揉合了宏病毒的特性后,木马已经不仅仅通过欺骗来传播了,随着网站互动化进程的不断进步,越来越多的东西可以成为木马传播的介质,JavaScript,VBScript, ActiveX, XML......几乎WWW每一个新出来的功能都会导致木马的快速进化,曾几何时,邮件木马从附件走向了正文,简单的浏览也会中毒,而一个Guest用户也可以很容易的通过修改管理员的文件夹设置给管理员吃上一点耗子药。当我们小心翼翼地穿行在互联网森林中的时候,也许正有无数双木马的眼睛在黑暗中窥视,他们在等待你的一次疏忽,一个小小的疏忽,这将给他们一个完美的机会......
一点点感想
入侵高手可能会对于木马的编写和防御不屑一顾,但是,许多入侵事件多多少少会有木马的参与(这个时候,木马程序往往被叫做后门)在最近的微软被黑事件中,入侵者使用的就是一种叫QAZ的木马,实际上,这种木马并不非常高级,甚至不能算是第二代木马(只是一种通过共享传播的蠕虫木马),而正是一只小小的木马,让强大的微软丢尽了脸。要知道:入侵者和黑客不同,对于入侵者来说,入侵是最终的目的,任何手段,只要能最快最简单的进入,就是最好的手段,由于被入侵的用户大多数并不是专业人员,所以木马往往是一个很好的选择。
在撰写本文的过程中,曾经有朋友和我戏言:危言耸听。其实,事实并非如此,在本文中描述的木马,虽然看起来匪夷所思,但是在互联网上大多已经有了样品出现,而且,我相信,一定还有技术含量远远超过上述木马的软件正在开发中。
编后说明
本文的撰写,并不是为了发展木马技术,扰乱互联网,而是为了能深入探讨木马的攻击和防御技术,引起人们对木马的关注,尽量减小木马传播可能造成的危害。 本文的撰写得到了Lion.Hook,无影猫、李逍遥、Yagami、 Quack以及Glacier的指导和帮助,在此向他们表示感谢。