对木马程式应有的认识

Home Home
引用 | 编辑 jinny614
2006-06-25 22:22
楼主
推文 x0
对木马程式应有的认识
一:何为木马
“木马”程式是目前比较流行的病毒档案,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他档案,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的档案,甚至远端*控被种者的电脑。“木马”与电脑网路中常常要用到的远端控制软体有些相似,但由于远端控制软体是“善意”的控制,因此通常不具有隐蔽性;“木马”则完全相反,木马要达到的是“偷窃”性的远端控制,如果没有很强的隐蔽性的话,那就是“毫无价值”的。
一个完整的“木马”套装程式含了两部分:“服务器”和“控制器”。植入被种者电脑的是“服务器”部分,而所谓的“骇客”正是利用“控制器”进入执行了“服务器”的电脑。执行了木马程式的“服务器”程式
二:木马的功能
“木马”的全称叫做特洛伊木马(Trojan horse),来源于希腊故事:特洛伊木马,传说中的中空的木马。据说希腊人藏身在木马内进入了特洛伊城,后来为希腊军队打开了城门。在电脑领域里面,又被解释为非法命令,病毒一套隐藏在合法程式中的命令,指示电脑进行不合法的运作。换句话说就是指采用在不知不觉方法潜入到对方内部实施某种破坏(盗窃)行为。木马程式的本质就是一个远端控制软体:远程控制软体是在远方机器知道,允许的情况下,对远方机器进行远端控制的软体。其结构是一个标准的C/S(client/server)程式。大多数的木马的功能都是进行远端控制,呵呵,这么说大家应该比较了解木马的作用了吧?
三:木马的特性
1.隐蔽性。
很多人的对木马和远程控制软体有点分不清,实际上他们两者的最大区别就是在于其隐蔽性。木马类的软体的server端在执行的时候应用各种手段隐藏自己,例如,修改注册表和ini档案以便机器在下一次启动后仍能载入木马程式。有些把server端和正常程式绑定成一个程式的软体,叫做exe-binder绑定程式,可以让人在使用trojan化的程式时,木马也入侵了系统,甚至我听说有个程式能把exe档案和图片档案绑定,在你看图片的时候,木马也侵入了你的系统。还有些木马可以自行定义通讯埠,当然这样可以是木马更加隐秘。更改server端的图示,让它看起来象个zip或图片档案,如果你一不当心,那么就糟了。 2.功能特殊性。
通常的木马的功能都是十分特殊的,除了普通的档案*作以外,还有些木马具有搜索cache中的口令,设置口令,扫描ip发现中招的机器,键盘记录,远端注册表的*作,以及颠倒萤幕,锁定滑鼠等功能比较特殊的*作,而远端控制软体的功能当然不会有这么多的特殊功能,毕竟远端控制软体是用来干正事的,而非搞破坏。
四:木马的分类
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的情况,稍微疏忽一点,你就会以为是自己在流览网页。这类的木马最早的就是网路神偷。
五:木马的实现技术
1.木马的常用启动方式
对于一般的应用程式来说通常有下面的几种自启动方式:
a.把程式放入系统的启动目录中,注意在windows中有两个自启动目录!
b.把程式的自启动设置到系统配置档案中,如win.ini、system.ini等中!
c.在注册表中进行配置实现程式的自动启动!
d.把程式注册为系统服务!
e.替换系统档案(该方法在目前的Windows2000及以后的作业系统中已经基本失效)
木马为了达到隐藏自己的目标,通常在设置注册表启动项时具有很强的迷惑性,有些木马还可以随机更改有关的启动项。
2.木马的隐蔽性
木马的隐蔽性是木马能否长期存活的关键,这主要包括以下几方面的内容:
A.木马程式本身的隐蔽性、迷惑性,在档案案名的命名上采用和系统档案的档案案名相似的档案案名,设置档案的属性为系统档案、隐藏、唯读属性等,档案的存放地点是不常用或难以发现的系统档案目录中!
B.木马程式在执行时的隐蔽性,通常采用了远端线程技术或HOOK技术注入其他进程的执行空间,采用API HOOK技术拦截有关系统函数的调用实现执行时的隐藏,替换系统服务等方法导致无法发现木马的执行痕迹!
C.木马在通信上的隐蔽性,可以采用埠复用技术不打开新的通信埠实现通信、采用ICMP协议等无埠的协议进行通信,还有些木马平时只有收到特定的资料包才开始活动,平时处于休眠状态。
D.不安全的木马技术,具资料显示有些木马在执行时能够删除自身启动执行及存在的痕迹,当检测到作业系统重新启动时再重新在系统中设置需要启动自身的参数,这类木马存在的问题:不安全,当系统失效时(如断电、死机时)无法再次恢复执行。
六:木马的发现与清除
1.木马的发现
可以查看系统埠开放情况,查看系统服务情况,查看系统执行任务是否有可疑之处,注意网卡的工作情况,注意系统日志及执行速度有无异常。 2.木马的清除
通常可以使用杀毒软体进行清除木马,也可以采用手工的方法来进行清除,但是对有些木马采用手工清除的方法可能会存在一些困难,主要时因为:
a.有些木马采用了多进程相互监视技术来启动被关闭的进程,很多关键性应用中使用了该技术,比如InterBase资料库等.....
b.有些木马使用任务管理器无法停止执行,导致无法删除.....
c.有些木马执行在其他的进程空间中无法在任务管理器中发现及停止
对于上述几种情况在一定程度上可以采用修改注册表,使用第三方的一些任务管理器来停止任务,重新启动进入命令行模式来手工清除木马,使用一些专杀工具来清除木马
表情

献花 x0
引用 | 编辑 Authur
2006-06-26 00:34
1楼
  
哇塞...
那详细喔....
感谢大大的分享喔!!! 表情

献花 x0
引用 | 编辑 optometrist
2008-08-21 20:11
2楼
  
很详尽的资讯

感谢分享~^^

-------------------------

收藏夹不够大啦...呜呜呜... 表情

献花 x0
引用 | 编辑 quian
2008-08-24 13:18
3楼
  
感谢大大无私分享~~~~~ 表情

献花 x0