代码编织梦想

 0.0 前言

 

概述

 播报

特洛伊木马(简称木马)是隐藏在系统中的用以完成未授权功能的非法程序,是黑客常用的一种攻击工具,它伪装成合法程序,植入系统,对计算机网络安全构成严重威胁。区别于其他恶意代码,木马不以感染其它程序为目的,一般也不使用网络进行主动复制传播。 

特洛伊木马是基于C/S(客户/服务器)结构的远程控制程序,是一类隐藏在合法程序中的恶意代码,这些代码或者执行恶意行为,或者为非授权访问系统的特权功能而提供后门。通常,使用木马的过程大致分两步首先,把木马的服务器端程序通过网络远程植入受控机器,然后通过安装程序或者启动机制使木马程序在受控的机器内运行。一旦木马成功植入,就形成了基于C/S结构的控制架构体系,服务端程序位于受控机器端,客户端程序位于控制机器端。

发展

 播报

自从世界上出现第1个木马程序(1986年的PC-Write木马),木马已经经历了5个发展阶段。 

第1阶段:木马在互联网初期出现,以窃取网络密码为主要任务。

第2阶段:木马开始利用C/S架构,进行远程控制和监视。但是由于植入木马的目标计算机会打开某些端口,所以能够被轻易发现。

第3阶段:木马在网络连接上进行了改变,它的特征是利用ICMP通信协议伪装自己,部分还利用欺骗技术达到被动连接的目的,这样就可以防止被安全软件查杀。

第4阶段:木马利用嵌入内核的方法,例如通过插入DLL线程、挂接PSAPI、伪装线程等。

第5阶段:木马充分利用了病毒相关技术,针对互联网和计算机操作系统的缺点和不足,渗透到目标计算机或网络中,以达到控制目标的目的,而且可以实现自动激活的目的,使用户和安全软件更难发现。

原理

特洛伊木马本质上就是一种客户/服务器模式的网络程序,其工作原理是一台主机提供服务器作为服务器端,另一台主机接受服务作为客户端。服务器端的程序通常会开启一个预设的连接端口进行监听,当客户端向服务器端的这一连接端口提出连接请求时,服务器端上的相应程序就会自动执行,来回复客户端的请求,并提供其请求的服务。对于特洛伊木马来说,功能端程序安装在被攻击的主机上,它也是木马大部分功能的实现端,木马对被攻击主机的所有控制功能也都集中在服务器端。木马的控制端程序通常安装在攻击者的主机上,用于控制功能端,向功能端发出各种命令,使得功能端程序按照攻击者意图实现各种远程控制功能。特洛伊木马在几年与反病毒软件、防火墙等防御工具的不断较量中,技术越来越进步,攻击模式也从最早的传统攻击模式升级成为由传统攻击模式、反弹攻击模式和第三方中介攻击模式混合的方式。所谓的传统攻击模式就是前面说到的由服务端打开端口,等待连接:客户端首先发出连接请求与服务端建立连接;然后实施攻击,这种攻击模式出现的比较早,使用的也最为普遍,现有的大多数木马都是采用的是这种攻击模式。随着人们安全意识的不断提高,很多计算机安装有防火墙,由于防火墙默认的规则都是禁止由外向内发起的连接,导致传统攻击模式不能成功,于是特洛伊木马进化出新的木马攻击模式即反弹攻击模式。这种攻击模式先由客户端使用合法的报文激活服务端,然后由服务端主动连接客户端,形成防火墙不禁止的由内而外连接,进而开始攻击,这种攻击模式称为反弹攻击模式。又因为有些攻击方仅仅需要传递很少的控制信息,攻击者为了更好的隐藏自己,防止木马被发现了以后自己受到追查所进化出来的一种攻击模式。通过服务器端和客户端不直接进行连接而是通过电子邮件服务器或者攻击者控制的肉鸡作为中介进行信息交互,客户端将控制进行发送到第三方中介上,服务器端定期到第三方中介获取控制信息,并将窃取的信息放到第三方中介上,由客户端自己来取。

结构

一个完整的木马系统由硬件部分、软件部分和具体的连接部分组成。

1、硬件部分。建立木马连接所必须的硬件实体分为控制端、服务端和Internet。

2、软件部分。实现远程控制所必须的软件程序,包括控制端程序、木马程序、潜入服务端内部和木马配置程序。 

3、具体连接部分。包括控制端端口和木马端口及网络地址。

特点

1、隐蔽性。

特洛伊木马的隐蔽性是其最重要的特征,如果一种特洛伊木马不能很好地隐藏在目标计算机或网络中就会被用户或安全软件发现和查杀,也就无法生存下去了。

2、自动运行性。

特洛伊木马必须是自动启动和运行的程序,因此其采取的方法可能是嵌入在启动配置文件或者注册表中。 

3、欺骗性。

特洛伊木马要想不被用户或安全软件发现和查杀,常常将自己伪装成一般的文件或系统和程序的图标,其名字往往伪装成一般的文件或程序名字,例如 win、dll、sys 等。 

4、顽固性。

特洛伊木马一旦被发现就会面临被清除的危险,此时部分特洛伊木马能够在用户或安全软件查杀的过程中潜伏下来而不被清除掉。

5、易植入性。

特洛伊木马实现其控制或监视目的的前提是能渗透进入目标计算机,所以特洛伊木马必须具备神不知鬼不觉地进入目标计算机的能力。

通过上面对木马特性的分析,可以看到特洛伊木马非常强调隐蔽能力和感染能力,其已经将蠕虫病毒的技术吸收了进来。

功能

只要在本地计算机上能操作的功能,目前的木马基本上都能实现。木马的控制端可以像本地用户一样操作远程计算机。木马的功能可以概括为以下内容。

1、窃取用户文件。

特洛伊木马在目标计算机中潜伏,当遇到感兴趣的文件时就会将相关文件传输给提前设定的目的地而不会被用户发现。 

2、接受木马释放者的指令。

特洛伊木马一旦感染互联网中的服务器就会窃取较高权限,随意地控制和监视通过该服务器的数据和账户。

3、篡改文件和数据。

根据指令对系统文件和数据进行修改,使目标计算机的数据和文件产生错误,导致作出错误的决策。

4、删除文件和数据。

将目标计算机操作系统中的文件和数据随意地删除。

5、施放病毒。

激活潜伏在目标计算机操系统中的病毒,或将病毒下载至目标计算机系统,使其感染。

6、使系统自毁。

包括改变时钟频率,使芯片热崩溃而损坏,造成系统瘫痪等。

种类

1、破坏型

唯一的功能就是破坏并且删除文件,可以自动的删除电脑上的DLL、INI、EXE等重要文件。 

2、密码发送型

木马病毒

可以找到隐藏密码并把它们发送到指定的信箱。有人喜欢把自己的各种密码以文件的形式存放在计算机中,认为这样方便;还有人喜欢用WINDOWS提供的密码记忆功能,这样就可以不必每次都输入密码了。许多黑客软件可以寻找到这些文件,把它们送到黑客手中。也有些黑客软件长期潜伏,记录操作者的键盘操作,从中寻找有用的密码。 

3、远程访问

最广泛的是特洛伊木马,只需有人运行了服务端程序,如果客户知道了服务端的IP地址,就可以实现远程控制。以下的程序可以实现观察"受害者"正在干什么,当然这个程序完全可以用在正道上的,比如监视学生机的操作。 

4、键盘记录木马

这种特洛伊木马是非常简单的。它们只做一件事情,就是记录受害者的键盘敲击并且在LOG文件里查找密码。这种特洛伊木马随着Windows的启动而启动。它们有在线和离线记录这样的选项,顾名思义,它们分别记录你在线和离线状态下敲击键盘时的按键情况。也就是说你按过什么按键,下木马的人都知道,从这些按键中他很容易就会得到你的密码等有用信息,甚至是你的信用卡账号哦!当然,对于这种类型的木马,邮件发送功能也是必不可少的。 

5、Dos攻击木马

随着DoS攻击越来越广泛的应用,被用作DoS攻击的木马也越来越流行起来。当你入侵了一台机器,给他种上DoS攻击木马,那么日后这台计算机就成为你DoS攻击的最得力助手了。所以,这种木马的危害不是体现在被感染计算机上,而是体现在攻击者可以利用它来攻击一台又一台计算机,给网络造成很大的伤害和带来损失。

还有一种类似DoS的木马叫做邮件炸弹木马,一旦机器被感染,木马就会随机生成各种各样主题的信件,对特定的邮箱不停地发送邮件,一直到对方瘫痪、不能接受邮件为止。

6、代理木马

黑客在入侵的同时掩盖自己的足迹,谨防别人发现自己的身份是非常重要的,因此,给被控制的肉鸡种上代理木马,让其变成攻击者发动攻击的跳板就是代理木马最重要的任务。

7、FTP木马

这种木马可能是最简单和古老的木马了,它的唯一功能就是打开21端口,等待用户连接。新FTP木马还加上了密码功能,这样,只有攻击者本人才知道正确的密码,从而进入对方计算机。 [4] 

8、程序杀手木马

上面的木马功能虽然形形色色,不过到了对方机器上要发挥自己的作用,还要过防木马软件这一关才行。程序杀手木马的功能就是关闭对方机器上运行的这类程序,让其他的木马更好地发挥作用。 [4] 

9、反弹端口型木马

木马是木马开发者在分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般开在80,即使用户使用扫描软件检查自己的端口,稍微疏忽一点,你就会以为是自己在浏览网页。 [4] 

隐藏方式

1、在任务栏里隐藏

这是最基本的隐藏方式。如果在windows的任务栏里出现一个莫名其妙的图标,大家都会明白是怎么回事。要实现在任务栏中隐藏在编程时是很容易实现的。 [5] 

2、在任务管理器里隐藏

查看正在运行的进程最简单的方法就是按下Ctrl+Alt+Del时出现的任务管理器。如果你按下Ctrl+Alt+Del后可以看见一个木马程序在运行,那么这肯定不是什么好木马。所以,木马会千方百计地伪装自己,使自己不出现在任务管理器里。木马发现把自己设为 "系统服务“就可以轻松地骗过去。

3、端口

一台机器有65536个端口,你会注意这么多端口么?而木马就很注意你的端口。如果你稍微留意一下,不难发现,大多数木马使用的端口在1024以上,而且呈越来越大的趋势。当然也有占用1024以下端口的木马,但这些端口是常用端口,占用这些端口可能会造成系统不正常,这样的话,木马就会很容易暴露。 

4、隐藏通讯

隐藏通讯也是木马经常采用的手段之一。任何木马运行后都要和攻击者进行通讯连接,或者通过即时连接,如攻击者通过客户端直接接入被植入木马的主机;或者通过间接通讯,如通过电子邮件的方式。木马把侵入主机的敏感信息送给攻击者。大部分木马一般在占领主机后会在1024以上不易发现的高端口上驻留,有一些木马会选择一些常用的端口,如80、23,有一种非常先进的木马还可以做到在占领80HTTP端口后,收到正常的HTTP请求仍然把它交与Web服务器处理,只有收到一些特殊约定的数据包后,才调用木马程序

5、协同隐藏

顾名思义,协同隐藏就是指一组木马之间互相协作,实现更强的隐藏能力。Harold Thimbleby  等人提出了木马程序的模型框架。这种框架从宏观整体上摆脱了传统隐藏技术的单一性,得到了不断的发展。其后,梅登华等人将多代理技术与木马技术结合,提出了基于多代理的木马技术;康治平等人在木马协同隐藏模型的基础上提出了基于多线程和多对多的结构。

伪装方法

1、修改图标

木马服务端所用的图标也是有讲究的,木马经常故意伪装成了XT.HTML等你可能认为对系统没有多少危害的文件图标,这样很容易诱惑你把它打开。

2、捆绑文件

这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷地进入了系统。被捆绑的文件一般是可执行文件 (即EXE、COM一类的文件)。 [5] 

3、出错显示

有一定木马知识的人部知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序。木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框 (这当然是假的),错误内容可自由定义,大多会定制成一些诸如 "文件已破坏,无法打开!"之类的信息,当服务端用户信以为真时,木马却悄悄侵人了系统。 

4、自我销毁

这项功能是为了弥补木马的一个缺陷。我们知道,当服务端用户打开含有木马的文件后,木马会将自己拷贝到Windows的系统文件夹中(C:\windows或C:\windows\system目录下),一般来说,源木马文件和系统文件夹中的木马文件的大小是一样的 (捆绑文件的木马除外),那么,中了木马的朋友只要在收到的信件和下载的软件中找到源木马文件,然后根据源木马的大小去系统文件夹找相同大小的文件,判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,源木马文件自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下,就很难删除木马了。

防范策略

1、不执行来历不明的软件

大部分木马病毒都是通过绑定在其他的软件中来实现传播的,一旦运行了该软件就会被除数感染。因此,一般推荐去一些信誉较高的站点下载应用软件,并且在安装软件之前一定要用反病毒软件检查一下,确定无毒后再使用。

2、不随便打开邮件附件

绝大部分木马病毒都是通过邮件来传递,而且有的还会连环扩散,因此对邮件附件的运行尤其需要注意。 

3、重新选择新的客户端软件

很多木马病毒主要感染的是Outlook和OutlookExpress的邮件客户端软件。如果选用其他的邮件软件,受木马病毒攻击的可能性就会减小。另外通过Web方式访问邮箱也可以减小感染木马的概率。

4、尽量少用或不用共享文件夹

如果非因工作需要,尽量少用或不用共享文件夹,注意千万不要将系统目录设置成共享。多渠道地拒绝木马程序的传播。

5、实时监控

运用已有的木马查杀工具进行实时监控是最好的途径,同时也需要不断升级更新木马程序及杀毒软件,并安装防火墙等软件工具,让自己计算机做到相对高的安全性。

感染后措施

1、所有的账号和密码都要马上更改,例如拨号连接、ICQ、mIRC、FTP、你的个人站点、免费邮箱等等,凡是需要密码的地方,你都要把密码尽快改过来。

2、删掉所有你硬盘上原来没有的东西。 

3、检查一次硬盘上是否有病毒存在。

4、如果条件允许、重装系统或是拷贝数据后直接换掉硬盘。

木马清除

删除木马时,首先要将网络断开,再用相应的方法来删除它。

1、通过木马的客户端程序删除

在win.ini或system.ini的文件中找到可疑文件判断木马的名字和版本,然后在网络上找到相应的客户端程序,下载并运行该程序,在客户程序对应位置填入本地算机地址端口号,就可以与木马程序建立连接,再由客户端的删除木马服务器的功能来删除木马。 

2、手工删除

用Msconfig打开系统配置实用程序,对Win.ini、system.ini和启动项目进行编辑,屏蔽掉非法启动项。用regedit打开注册表编辑器,对注册表进行编辑,先由上面的方法找到木马的程序名,再在整个注册表中搜索,并删除所有木马项目。由查找到的木马程序注册项,分析木马文件在硬盘中的位置,然后再进行删除。重新启动以后再用上面各种检测木马的方法对系统进行检查,以确保木马确实被删除。 

3、工具删除

上面二种方法对于非专业人员来说操作起来并不容易,但现在已有许多非常好的木马专杀工具,大家可以根据自己需要下载或购买使用.利用工具删除,可以免除烦琐的操作,完全由软件程序自行完成。 

发展趋势

1、木马将会更加隐蔽。目前,能够查杀特洛伊木马的安全软件日益增多,对特洛伊木马的隐蔽性提出了挑战。特洛伊木马如果想生存下来就必须更加重视隐蔽性。

2、木马将会具有即时通讯能力。互联网中动态网络地址的使用日益增多,在这种情况下特洛伊木马可能无法将信息传输到提前设定的传输目的地。因此,特洛伊木马必须与传输目的地建立即时通讯线路。 

3、木马将会具有自我更新能力。为了应对不断更新的反木马安全软件,特洛伊木马也必须能够具有自我更新的能力。 

4、木马将会继续融合蠕虫和病毒的部分技术,增强自身传播和生存能力。  

转载于特洛伊木马(计算机木马程序)_百度百科

揭穿病毒和木马的隐藏手段_hit_zoe的博客-爱代码爱编程

  病毒和木马的隐藏手段   一. 无处可寻的病毒   曾经有一个朋友在一家公司担任计算机维护员的工作,有天主任把他找去维修一台出现异常的计算机,这台计算机上什么程序都未运行,可是机内安装的卡巴斯基杀毒软件却在不停的提示在系统目录发现特洛伊木马程序,而后自动进行查杀,可是刚查杀完毕就又跳出了同样的提示,一旦断开网络连接,这个现象

你真的了解特洛伊木马吗!_miaozk2006的博客-爱代码爱编程

特洛伊木马是一种非常危险的恶性程序,它无休止的窃取用户的信息,从而给用户造成了巨大的损失。这篇我们从特洛伊木马的原理、技术以及防御与清除方面给大家进行洛伊木马的全方位的介绍,让大家了解什么是特洛伊木马,同时提高对特洛伊木马的防范意识……     什么是特洛伊木马? “特洛伊木马”(tr

特洛伊木马_孤君的博客-爱代码爱编程

特洛伊木马(Trojan Horse) 是一种与远程计算机之间建立起连接,使远程计算机能够通过网络控制用户计算机系统并且可能造成用户的信息损失、系统损坏甚至瘫痪的程序。 木马的组成 硬件:控制端、服务端、Interne

剖析特洛伊木马(转)-爱代码爱编程

剖析特洛伊木马(转)[@more@]特洛伊木马(以下简称木马),英文叫做“Trojanhorse”,其名称取自希腊神话的特洛伊木马记,它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹;所谓非授权性

黑客知识之你真的知道特洛伊木马吗(转)-爱代码爱编程

黑客知识之你真的知道特洛伊木马吗(转)[@more@]  特洛伊木马是一种非常危险的恶性程序,它无休止的窃取用户的信息,从而给用户造成了巨大的损失。本期专题我们从特洛伊木马的原理、技术以及防御与清除方面给大家进行全方位的介绍,让大家了解特洛伊木马,同时提高对特洛伊木马的防范意识……   什么是特洛伊木马?   “特洛伊木马”(troj

特洛伊木马大揭密(转)-爱代码爱编程

特洛伊木马大揭密(转)[@more@]     特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记,它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点:所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马

网络安全之特洛伊木马的攻防战略(转)-爱代码爱编程

说起 网络 安全,我想确实是一个难题,因为 网络 的确不安全,那麽到底怎麽不安全呢?这也是一两句话难以说清楚,现在我只谈一谈简单的木马攻防战术.木马程序用“瞒天过海”或“披着羊皮的狼”之类的词来形容这类程序一点也不为过,直截了当的说法是木马有两个程序,一个是服务器程序,一个是控制器程序,当你的 电脑 运行了服务器程序后,客人就可以使用控制

木马的原理:解析危险的特洛伊木马恶意程序(转)-爱代码爱编程

一位客户的PC出现了奇怪的症状,速度变慢,CD-ROM托盘毫无规律地进进出出,从来没有见过的错误信息,屏幕图像翻转,等等。我切断了他的Internet连接,然后按照对付恶意软件的标准步骤执行检查,终于找出了罪魁祸祝毫礁鲈冻谭梦侍芈逡聊韭怼??桓鍪荂ult of the Dead Cow臭名昭著的Back Orifice,还有一个是不太常见的The T

软考备考----数字签名、特洛伊木马、音频信号范围、著作权法-爱代码爱编程

数字签名(Digital Signature)技术是不对称加密算法的典型应用。 数字签名的应用过程是:数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”;数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份