木马的种类
自木马程序诞生至今,己经出现了多种类型,想在这里给它们来一次完全的列举和说明是不可能的,更何况大多数的木马都不是单一功能的木马,它们往往是很多种功能的集成品----甚至有很多从本公开的功能在一些木马中也广泛地存在着。尽管如此,给木马程序来一个初步的分类。对于电脑使用者来说也是非常必要和及时的。
1.远程控制木马
远程控制木马是数量最多,危害最大,同时知名度也最高的一种木马,它可以让攻击者完全控制被感染的计算机,攻击者可以利用它完成一些甚至连计算机主人本身都不能顺利进行的操作,其危害之大实在不容小觑。由于要达到远程控制的目的,所以,该种类的木马往往集成了其他种类木马的功能。使其在被感染的机器上为所欲为,可以任意访问文件,得到机主的私人信息甚至包括信用卡,银行账号等至关重要的信息。
大名鼎鼎的木马冰河就是一个远程访问型特洛伊木马。这类木马用起来是非常简单的。只需有人运行服务端并且得到了受害人的IP。就会访问到他/她的电脑。他们能在你的机器上干任何事。远程访问型木马的普遍特征是:键盘记录,上传和下载功能,注册表操作,限制系统功能……等。远程访问型特洛伊木马会在你的电脑上打开一个端口以保持连接,如图1-1一1所示。
图1-1-1
2.密码发送木马
在信息安全日益重要的今天。密码无疑是通向重要信息的一把极其有用的钥匙,只要掌握了对方的密码,从很大程度上说。就可以无所顾忌地得到对方的很多信息。而密码发送型的木马正是专门为了盗取被感染计算机上的密码而编写的,木马一旦被执行,就会自动搜索内存,Cache,临时文件夹以及各种敏感密码文件,一旦搜索到有用的密码,木马就会利用免费的电子邮件服务将密码发送到指定的邮箱。从而达到获取密码的目的,所以这类木马大多使用25号端口发送E-mail。大多数这类的特洛伊木马不会在每次Windows重启时重启。这种特洛伊木马的目的是找到所有的隐藏密码并且在受害者不知道的情况下把它们发送到指定的信箱,如果体育隐藏密码,这些特洛伊木马是危险的。
由于我们需要获得的密码多种多样,存放形式也大不相同,所以,很多时候我们需要自己编写程序,从而得到符合自己要求的木马。
3.键盘记录木马
这种特洛伊木马是非常简单的。它们只做一件事情,就是记录受害者的键盘敲击并且在LOG文件里查找密码。据笔者经验,这种特洛伊木马随着Windows的启动而启动。它们有在线和离线记录这样的选项,顾名思义,它们分别记录你在线和离线状态下敲击键盘时的按键情况。也就是说你按过什么按键,下木马的人都知道,从这些按键中他很容易就会得到你的密码等有用信息,甚至是你的信用卡账号哦!当然,对于这种类型的木马,邮件发送功能也是必不可少的。
4.破坏性质的木马
这种木马惟一的功能就是破坏被感染计算机的文件系统,使其遭受系统崩溃或者重要数据丢失的巨大损失。从这一点上来说,它和病毒很相像。不过,一般来说,这种木马的激活是由攻击者控制的,并且传播能力也比病毒逊色很多。
5.DoS攻击木马
随着DoS攻击越来越广泛的应用,被用作DoS攻击的木马也越来越流行起来。当你入侵了一台机器,给他种上DoS攻击木马,那么日后这台计算机就成为你DoS攻击的最得力助手了。你控制的肉鸡数量越多,你发动DoS攻击取得成功的机率就越大。所以,这种木马的危害不是体现在被感染计算机上,而是体现在攻击者可以利用它来攻击一台又一台计算机,给网络造成很大的伤害和带来损失。
还有一种类似DoS的木马叫做邮件炸弹木马,一旦机器被感染,木马就会随机生成各种各样主题的信件,对特定的邮箱不停地发送邮件,一直到对方瘫痪、不能接受邮件为止。
6.代理木马
黑客在入侵的同时掩盖自己的足迹,谨防别人发现自己的身份是非常重要的,因此,给被控制的肉鸡种上代理木马,让其变成攻击者发动攻击的跳板就是代理木马最重要的任务。通过代理木马,攻击者可以在匿名的情况下使用Telnet,ICQ,IRC等程序,从而隐蔽自己的踪迹。
7.FTP木马
这种木马可能是最简单和古老的木马了,它的惟一功能就是打开21端口,等待用户连接。现在新FTP木马还加上了密码功能,这样,只有攻击者本人才知道正确的密码,从而进人对方计算机。
8.程序杀手木马
上面的木马功能虽然形形色色,不过到了对方机器上要发挥自己的作用,还要过防木马软件这一关才行。常见的防木马软件有ZoneAlarm,Norton Anti-Virus等。程序杀手木马的功能就是关闭对方机器上运行的这类程序,让其他的木马更好地发挥作用。在http:/www.snake-basket.de/e/AV.txt这个地址,你能找到现在流行使用的绝大多数防病毒和防木马软件的名称、介绍以及结束它们的方法。
9.反弹端口型木马
木马是木马开发者在分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马的服务端 (被控制端)使用主动端口,客户端 (控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般开在80,这样,即使用户使用端口扫描软件检查自己的端口,发现的也是类似TCP
UserIP:1026
ControllerIP:80ESTABLISHED的情况,稍微疏忽一点,你就会以为是自己在浏览网页 (防火墙也会这么认为,我想大概没有哪个防火墙会不让用户向外连接80端口吧)。
看到这里,有人会问:那服务端怎么能知道控制端的IP地址呢?难道控制端只能使用固定的IP地址?一查就查到了。实际上,这种反弹端口的木马常常会采用固定IP的第三方存储设备来进行IP地址的传递。举一个简单的例子:事先约定好一个个人主页的空间,在其中放置一个文本文件,木马每分钟去GET一次这个文件,如果文件内容为空,就什么都不做,如果有内容,就按照文本文件中的数据计算出控制端的IP和端口,反弹一个TCP链接回去,这样,每次控制者上线只需要FTP一个INI文件,就可以告诉木马自己的位置。为了保险起见。这个IP地址甚至可以经过一定的加密,除了服务和控制端。其他的人就算拿到了也没有任何意义。对于一些能够分析报文、过滤TCP/UDP的防火墙,反弹端口型木马同样有办法对付。简单来说。控制端使用80端口的木马完全可以真的使用HTTP协议,将传送的数据包含在HTTP的报文中,难道防火墙真的精明到可以分辨通过HTTP协议传送的究竟是网页,还是控制命令和数据?如图1一1一2所示。
图1-1-2