2.4 木马攻击
在使用木马的人群中菜鸟黑客居多,他们往往刚接触网络不久,对黑客技术很感兴趣,很想向众人和朋友显示一番,但是驾驭技术却不高,不能采取别的方法攻击。于是,木马这种半自动的傻瓜式且非常有效的攻击软件就成为他们的最爱。
2.4.1 木马攻击介绍
木马程序(Trojan horse program)通常称为木马、恶意代码等,是指潜伏在计算机中,可受外部用户控制以窃取本机信息或者控制权的程序。木马指的是特洛伊木马,英文叫作“Trojan horse”,其名称取自希腊神话的《特洛伊木马计》。
木马程序会带来很多危害,例如占用系统资源,降低计算机效能,危害本机信息安全(盗取QQ账号、游戏账号甚至银行账号),将本机作为工具来攻击其他设备等。
2.4.2 实现木马攻击原理
一般意义上的木马攻击,其原理可分为下面几类。
(1)破坏型。
唯一的功能就是破坏并且删除文件,可以自动删除计算机上的DLL、INI、EXE文件。
(2)密码发送型。
可以找到隐藏密码并把它们发送到指定的信箱。有人喜欢把自己的各种密码以文件的形式存放在计算机中,认为这样方便;还有人喜欢用Windows提供的密码记忆功能,因为这样就可以不必每次都输入密码了。许多黑客软件可以寻找到这些文件,然后把它们送到黑客手中。也有些黑客软件长期潜伏,记录操作者的键盘操作,从中寻找有用的密码。在这里提醒一下,不要认为自己在文档中加了密码就可以把重要的保密文件存在公用计算机中,这样可谓大错特错。别有用心的人完全可以用穷举法暴力破译你的密码。利用Windows API函数EnumWindows和EnumChildWindows对当前运行的所有程序的所有窗口(包括控件)进行遍历,通过窗口标题查找密码输入和输出确认重新输入窗口,通过按钮标题查找我们应该单击的按钮,通过ES_PASSWORD查找我们需要输入的密码窗口。向密码输入窗口发送WM_SETTEXT消息模拟输入密码,向按钮窗口发送WM_COMMAND消息模拟单击。在破解过程中,把密码保存在一个文件里,以便在下一个序列的密码再次进行穷举或多部机器同时进行分工穷举,直到找到密码为止。此类程序在黑客网站上唾手可得,精通程序设计的人完全可以自编一个。
(3)远程访问型。
最广泛的是特洛伊马,只需有人运行服务端程序,如果客户知道了服务端的IP地址,就可以实现远程控制。以下的程序可以观察“受害者”正在干什么,当然这个程序完全可以用在正道上,比如监视学生机的操作。程序中用的UDP(User Datagram Protocol,用户报文协议)是互联网上广泛采用的通信协议之一。与TCP协议不同,它是一种非连接的传输协议,没有确认机制,可靠性不如TCP,但效率却比TCP高,用于远程屏幕监视还是比较适合的。它不区分服务器端和客户端,只区分发送端和接收端,编程上较为简单,故选用了UDP协议。本程序中用了DELPHI提供的TNMUDP控件。
(4)键盘记录木马。
这种特洛伊木马是非常简单的。它们只做一件事情,就是记录受害者的键盘敲击并且在LOG文件里查找密码。根据笔者的经验,这种特洛伊木马随着Windows的启动而启动。它们有在线和离线记录这样的选项,顾名思义,它们可分别记录你在线和离线状态下的按键情况。也就是说你按过哪些键,下木马的人都知道;从这些按键中他很容易就会得到你的密码等有用信息,甚至是你的信用卡账号哦!当然,对于这种类型的木马,邮件发送功能也是必不可少的。
(5)DoS攻击木马。
随着DoS攻击越来越广泛的应用,被用作DoS攻击的木马也越来越流行起来。当你入侵了一台机器,给他种上DoS攻击木马,那么日后这台计算机就成为你DoS攻击的最得力助手了。你控制的肉鸡数量越多,你发动DoS攻击取得成功的概率就越大。所以,这种木马的危害不是体现在被感染计算机上,而是体现在攻击者可以利用它来攻击一台又一台计算机,给网络带来很大的伤害和损失。还有一种类似DoS的木马叫作邮件炸弹木马,一旦机器被感染,木马就会随机生成各种各样主题的信件,针对特定的邮箱不停地发送邮件,一直到对方瘫痪、不能接受邮件为止。
(6)代理木马。
黑客在入侵的同时掩盖自己的足迹,谨防别人发现自己的身份是非常重要的。因此,给被控制的肉鸡种上代理木马,让其变成攻击者发动攻击的跳板就是代理木马最重要的任务。通过代理木马,攻击者可以在匿名的情况下使用Telnet、ICQ、IRC等程序,从而隐蔽自己的踪迹。
(7)FTP木马。
这种木马可能是最简单和最古老的了,它的唯一功能就是打开21号端口,等待用户连接。现在新FTP木马还加上了密码功能,这样就只有攻击者本人才知道正确的密码,从而进入对方计算机。
(8)程序杀手木马。
上面的木马功能虽然形形色色,不过到了对方机器上要发挥自己的作用,还要过防木马软件这一关才行。常见的防木马软件有ZoneAlarm、Norton Anti-Virus等。程序杀手木马的功能就是关闭对方机器上运行的这类程序,让其他的木马更好地发挥作用。
(9)反弹端口型木马。
木马是木马开发者在分析了防火墙的特性后发现的:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连接控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般开在80号,即使用户使用扫描软件检查自己的端口,发现类似TCP UserIP:1026 ControllerIP:80ESTABLISHED的情况,稍微疏忽一点,也会以为是自己在浏览网页。
2.4.3 木马攻击防范
一切入侵活动皆依赖漏洞,这就是问题的根源。木马也和Webshell一样,它们依赖于主机的漏洞进行入侵。漏洞一般是技术缺陷或人为因素造成的,防范措施如下。
(1)及时打补丁。
对于技术缺陷造成的入侵行为,我们只能依赖技术人员发布的补丁。所以管理员需要时常关注网站以及操作系统的最新漏洞,以便及时打上补丁。
(2)设置访问权限。
木马主要依赖于网站赋予的权限才能正常工作,而我们应该在权限上做严格的限制。例如,文件夹的权限设置为user用户组,不需要写操作的文件或文件夹设置为只读,需要写操作的文件或文件夹赋予读写权限,但不允许执行权限。
(3)安装安全软件。
可以安装如护卫神、安全狗、防篡改和WAF等安全软件,这类安全软件比较有针对性,可以在很大程度上弥补人工维护的不足。当然,也可以安装大众型的360安全卫士。