频道栏目
首页 > 资讯 > 网络安全 > 正文

特洛伊病毒

22-06-18        来源:[db:作者]  
收藏   我要投稿

木马程序是目前比较流行的一类病毒文件,它与一般的病毒不同,它不会自我繁殖,也并不刻意地去感染其他文件。它通过将自身伪装吸引用户下载执行,或以捆绑在网页中的形式,当用户浏览网页时受害。木马程序向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件和隐私,甚至远程操控被种者的电脑。木马的原理和计算机网络中常常要用到的远程控制软件相似,但由于远程控制软件是"善意"的控制,因此通常不具有隐蔽性;而木马程序则完全相反,木马要达到的是"偷窃"性的远程控制。

141.jpg

目录

1介绍

折叠编辑本段介绍

“特洛伊木马”(trojan horse)简称“木马”,木马和病毒都是一种人为的程序,都属于电脑病毒,据说这个名称来源于希腊神话《木马屠城记》。 

木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行,电脑就会有一个或几个端口被打开,黑客就可以利用控制端进入运行了服务端的电脑,甚至可以控制被种者的电脑,所以被种者的安全和个人隐私也就全无保障了!

随着微软的操作系统从Win9X过渡到WinNT系统(包括2000/xp/2003),微软的任务管理器也一下子“脱胎换骨”,变得“火眼金睛”起来 (在Win9X中,只需要将进程注册为系统服务就能够从进程查看器中隐形,可是这一切在WinNT中却完全不同,无论木马从端口、启动文件上如何巧妙地隐藏自己,始终都不能欺骗WinNT的任务管理器),这使得以前在win9X操作系统下靠将进程注册为系统服务就能够从任务管理器中隐形的木马面临前所未有的危机,所以木马的开发者及时调整了开发思路,转入了开发可以躲避WinNT的任务管理器的进程查询的动态嵌入式DLL木马。

要弄清楚什么是动态嵌入式DLL木马,我们必须要先了解Windows系统的另一种“可执行文件”——DLL,DLL是Dynamic Link Library(动态链接库)的缩写,DLL文件是Windows的基础,因为所有的API函数都是在DLL中实现的。DLL文件没有程序逻辑,是由多个功能函数构成,它并不能独立运行,DLL文件一般都是由进程加载并调用的。

因为DLL文件不能独立运行,所以在进程列表中并不会出现DLL。所以木马的开发者就通过编写动态嵌入式DLL木马,并且通过别的进程来运行它,那么无论是入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现那个DLL木马。如果那个进程是可信进程(例如资源管理器Explorer.exe),那么就没人会怀疑DLL文件也是个木马了。从而木马就又实现了自己的隐蔽性的功能,所以,预防DLL木马也是相当重要的。

在WinNT系统,DLL木马一般都藏在System32目录下(因为System32是系统文件存放的目录,里面的文件很多,在里面隐藏当然很方便了),针对这一点我们可以在安装好系统和必要的应用程序后,对该目录下的EXE和DLL文件作一次记录:点击开始—运行—输入cmd回车—出现DOS命令行模式—输入cd\回车,再输入cd C:\Windows\System32回车,这就转换目录到了System32目录(要还是不知道怎么进入的,请参看DOS的cd命令的使用),输入命令:dir *.exe>exebackup.txt & dir *.dll>dllbackup.txt回车。

这样,我们就把System32目录下所有的exe文件和所有的dll文件都记录在exebackup.txt和dllbackup.txt里面了。日后如发现系统异常而用传统的方法又查不出问题时,则要考虑是不是系统中已经潜入了DLL木马。

这时我们用同样的方法将System32目录下的EXE和DLL文件记录到另外exebackup1.txt和dllbackup1.txt中,然后运行 CMD—fc exebackup.txt exebackup1.txt>different.txt & fc dllbackup.txt dllbackup1.txt>different.txt(使用FC命令比较前后两次的DLL和EXE文件,并将结果输入到 different.txt中),这样我们就能发现一些多出来的DLL和EXE文件,然后通过查看创建时间、版本、是否经过压缩等就能够比较容易地判断出是不是已经被DLL木马光顾了。

没有是最好,如果有的话也不要直接删除掉,可以先把它移到回收站里,若系统没有异常反应再将之彻底删除,或者把DLL文件上报给反病毒研究中心检查。

最后,防治木马的危害,专家建议大家应采取以下措施:

第一,安装反病毒软件和个人防火墙,并及时升级。

第二,把个人防火墙设置好安全等级,防止未知程序向外传送数据。

第三,使用安全性比较好的浏览器和电子邮件客户端工具。

第四,操作系统的补丁要经常进行更新。

第五,不要随便打开陌生网友传送的文件和下载、使用破解软件。

相信大家只要做好安全防护工作,防治木马并不是那么可怕的。

木马的启动方式:

木马是随计算机或Windows的启动而启动并掌握一定的控制权的,其启动方式可谓多种多样,通过注册表启动、通过System.ini启动、通过某些特定程序启动等,真是防不胜防。其实只要能够遏制住不让它启动,木马就没什么用了,这里就简单说说木马的启动方式,知己知彼百战不殆嘛。

通过“开始\程序\启动” 

隐蔽性:2星

应用程度:较低

这也是一种很常见的方式,很多正常的程序都用它,大家常用的QQ就是用这种方式实现自启动的,但木马却很少用它。因为启动组的每人会会出现在“系统配置实用程序”(msconfig.exe,以下简称msconfig)中。事实上,出现在“开始”菜单的“程序\启动”中足以引起菜鸟的注意,所以,相信不会有木马用这种启动方式。

通过Win.ini文件 

隐蔽性:3星

应用程度:较低

同启动组一样,这也是从Windows3.2开始就可以使用的方法,是从Win16遗传到Win32的。在Windows3.2中,Win.ini就相当于Windows9x中的注册表,在该文件中的[Windows]域中的load和run项会在Windows启动时运行,这两个项目也会出现在msconfig中。而且,在Windows98安装完成后这两项就会被Windows的程序使用了,也不很适合木马使用。

通过注册表启动 

1、通过HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run和

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

隐蔽性:3.5星

应用程度:极高

应用案例:BO2000,GOP,NetSpy,IEthief,冰河……

这是很多Windows程序都采用的方法,也是木马最常用的。使用非常方便,但也容易被人发现,由于其应用太广,所以几乎提到木马,就会让人想到这几个注册表中的主键,通常木马会使用最后一个。使用Windows自带的程序:msconfig或注册表编辑器(regedit.exe,以下简称regedit)都可以将它轻易的删除,所以这种方法并不十分可靠。但可以在木马程序中加一个时间控件,以便实时监视注册表中自身的启动键值是否存在,一旦发现被删除,则立即重新写入,以保证下次Windows启动时自己能被运行。这样木马程序和注册表中的启动键值之间形成了一种互相保护的状态。木马程序未中止,启动键值就无法删除(手工删除后,木马程序又自动添加上了),相反的,不删除启动键值,下次启动Windows还会启动木马。怎么办呢?其实破解它并不难,即使在没有任何工具软件的情况下也能轻易解除这种互相保护。

破解方法:首先,以安全模式启动Windows,这时,Windows不会加载注册表中的项目,因此木马不会被启动,相互保护的状况也就不攻自破了;然后,你就可以删除注册表中的键值和相应的木马程序了。

2、通过HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce,

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce和

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

隐蔽性:4星

应用程度:较低

应用案例:Happy99月

这种方法好像用的人不是很多,但隐蔽性比上一种方法好,它的内容不会出现在msconfig中。在这个键值下的项目和上一种相似,会在Windows启动时启动,但Windows启动后,该键值下的项目会被清空,因而不易被发现,但是只能启动一次,木马如何能发挥效果呢?

其实很简单,不是只能启动一次吗?那木马启动成功后再在这里添加一次不就行了吗?在Delphi中这不过3、5行程序。虽说这些项目不会出现在msconfig中,但是在Regedit中却可以直接将它删除,那么木马也就从此失效了。

还有一种方法,不是在启动的时候加而是在退出Windows的时候加,这要求木马程序本身要截获WIndows的消息,当发现关闭Windows消息时,暂停关闭过程,添加注册表项目,然后才开始关闭Windows,这样用Regedit也找不到它的踪迹了。这种方法也有个缺点,就是一旦Windows异常中止(对于Windows9x这是经常的),木马也就失效了。

破解他们的方法也可以用安全模式。

另外使用这三个键值并不完全一样,通常木马会选择第一个,因为在第二个键值下的项目会在Windows启动完成前运行,并等待程序结束会才继续启动Windows。

通过Autoexec.bat文件 

winstart.bat,config.sys文件

隐蔽性:3.5星

应用程度:较低

其实这种方法并不适合木马使用,因为该文件会在Windows启动前运行,这时系统处于DOS环境,只能运行16位应用程序,Windows下的32位程序是不能运行的。因此也就失去了木马的意义。不过,这并不是说它不能用于启动木马。可以想象,SoftIce for Win98(功能强大的程序调试工具,被黑客奉为至宝,常用于破解应用程序)也是先要在Autoexec.bat文件中运行然后才能在Windows中呼叫出窗口,进行调试的,既然如此,谁能保证木马不会这样启动呢?到目前为止,我还没见过这样启动的木马,我想能写这样木马的人一定是高手中的高手了。

另外,这两个BAT文件常被用于破坏,它们会在这个文件中加入类似“Deltree C:\*.*”和“Format C:/u”的行,这样,在你启动计算机后还未启动Windows,你的C盘已然空空如也。

通过System.ini文件 

隐蔽性:5星

应用程度:一般

事实上,System.ini文件并没有给用户可用的启动项目,然而通过它启动却是非常好用的。在System.ini文件的[Boot]域中的Shell项的值正常情况下是“Explorer.exe”,这是Windows的外壳程序,换一个程序就可以彻底改变Windows的面貌(如改为Progman.exe就可以让Win9x变成Windows3.2)。我们可以在“Explorer.exe”后加上木马程序的路径,这样Windows启动后木马也就随之启动,而且即使是安全模式启动也不会跳过这一项,这样木马也就可以保证永远随Windows启动了,名噪一时的尼姆达病毒就是用的这种方法。这时,如果木马程序也具有自动检测添加Shell项的功能的话,那简直是天衣无缝的绝配,我想除了使用查看进程的工具中止木马,再修改Shell项和删除木马文件外是没有破解之法了。但这种方式也有个先天的不足,因为只有Shell这一项嘛,如果有两个木马都使用这种方式实现自启动,那么后来的木马可能会使前一个无法启动,呵呵以毒攻毒啊。

通过某特定程序或文件启动 

1、寄生于特定程序之中

隐蔽性:5星

应用程度:一般

即木马和正常程序捆绑,有点类似于病毒,程序在运行时,木马程序先获得控制权或另开一个线程以监视用户操作,截取密码等,这类木马编写的难度较大,需要了解PE文件结构和Windows的底层知识(直接使用捆绑程序除外)。

2、将特定的程序改名

隐蔽性:5星

应用程度:常见

这种方式常见于针对QQ的木马,例如将QQ的启动文件QQ2000b.exe,改为QQ2000b.ico.exe(Windows默认是不显示扩展名的,因此它会被显示为QQ2000b.ico,而用户会认为它是一个图标),再将木马程序改为QQ2000b.exe,此后,用户运行QQ,实际是运行了QQ木马,再由QQ木马去启动真正的QQ,这种方式实现起来要比上一种简单的多。

3、文件关联

隐蔽性:5星

应用程度:常见

通常木马程序会将自己和TXT文件或EXE文件关联,这样当你打开一个文本文件或运行一个程序时,木马也就神不知鬼不觉的启动了。

这类通过特定程序或文件启动的木马,发现比较困难,但查杀并不难。一般地,只要删除相应的文件和注册表键值即可。

特洛伊木马是一种恶意程序,它们悄悄地在宿主机器上运行,就在用户毫无察觉的情况下,让攻击者获得了远程访问和控制系统的权限。一般而言,大多数特洛伊木马都模仿一些正规的远程控制软件的功能,如Symantec的pcAnywhere,但特洛伊木马也有一些明显的特点,例如它的安装和操作都是在隐蔽之中完成。攻击者经常把特洛伊木马隐藏在一些游戏或小软件之中,诱使粗心的用户在自己的机器上运行。最常见的情况是,上当的用户要么从不正规的网站下载和运行了带恶意代码的软件,要么不小心点击了带恶意代码的邮件附件。

大多数特洛伊木马包括客户端和服务器端两个部分。攻击者利用一种称为绑定程序的工具将服务器部分绑定到某个合法软件上,诱使用户运行合法软件。只要用户一运行软件,特洛伊木马的服务器部分就在用户毫无知觉的情况下完成了安装过程。通常,特洛伊木马的服务器部分都是可以定制的,攻击者可以定制的项目一般包括:服务器运行的IP端口号,程序启动时机,如何发出调用,如何隐身,是否加密。另外,攻击者还可以设置登录服务器的密码、确定通信方式。

服务器向攻击者通知的方式可能是发送一个email,宣告自己当前已成功接管的机器;或者可能是联系某个隐藏的Internet交流通道,广播被侵占机器的IP地址;另外,当特洛伊木马的服务器部分启动之后,它还可以直接与攻击者机器上运行的客户程序通过预先定义的端口进行通信。不管特洛伊木马的服务器和客户程序如何建立联系,有一点是不变的,攻击者总是利用客户程序向服务器程序发送命令,达到操控用户机器的目的。

特洛伊木马攻击者既可以随心所欲地查看已被入侵的机器,也可以用广播方式发布命令,指示所有在他控制之下的特洛伊木马一起行动,或者向更广泛的范围传播,或者做其他危险的事情。实际上,只要用一个预先定义好的关键词,就可以让所有被入侵的机器格式化自己的硬盘,或者向另一台主机发起攻击。攻击者经常会用特洛伊木马侵占大量的机器,然后针对某一要害主机发起分布式拒绝服务攻击(Denial of Service,即DoS),当受害者觉察到网络要被异乎寻常的通信量淹没,试图找出攻击者时,他只能追踪到大批懵然不知、同样也是受害者的DSL或线缆调制解调器用户,真正的攻击者早就溜之大吉。

特洛伊木马造成的危害可能是非常惊人的,由于它具有远程控制机器以及捕获屏幕、键击、音频、视频的能力,所以其危害程度要远远超过普通的病毒和蠕虫。深入了解特洛伊木马的运行原理,在此基础上采取正确的防卫措施,只有这样才能有效减少特洛伊木马带来的危害.

相关TAG标签
上一篇:UPX
下一篇:LSASS.EXE
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站