1. 简单百科
  2. 木马

木马

木马全称为特洛伊木马,英文叫做“Trojan house”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。在计算机安全领域,特洛伊木马是指附着在应用程序中或者单独存在的一些恶意程序,它可以利用网络远程响应网络另一端的控制程序的控制命令,实现对感染木马程序的计算机的控制,或者窃取感染木马程序的计算机上的机密资料。

一般的木马都有客户端和服务器端两个执行程序,其中客户端是用于攻击者远程控制植入木马的机器,服务器端程序即是特洛伊木马程序。由于特洛伊木马程序能够在计算机管理员未发觉的情况下开放系统权限、泄漏用户信息、甚至窃取整个计算机管理使用权限,使得它成为了黑客们最为常用的工具之一。

发展沿革

名称来源

“ 特洛伊木马 ” 简称 “ 木马 ”,英文名为trojan horse,名称来源于《荷马史诗》中的一个故事,希腊大军围攻特洛伊城,久久无法攻下,后让士兵藏匿于巨大的木马中,混于城中,最后焚屠特洛伊城。后世称这只大木马为“特洛伊木马”。人们之所以用特洛伊木马来命名这种远程控制软件,是因为它攻击的欺骗性和希腊人的手法相同。黑客们往往把木马的服务端程序伪装成美丽的事物,然后诱使你上当受骗,从而控制你的机器。

木马诞生

1971年11月3日的第一版《UNIX程序员手册》的System calls, part 1部分,已经提出了关于“Trojan horse”的字样。在系统呼叫-第一部分中关于更改文件所有者是这样描述的,在设置-用户-ID位打开的情况下,不得更改文件的所有者,否则可能会创建能够滥用其他文件的特洛伊木马。

世界上第一个被广泛承认的计算机木马是出现在1986年的PC-Write木马。它伪装成共享软件PC-Write的2.72版本(事实上,编写PC-Write的Quicksoft公司从未发行过2.72版本),一旦用户信以为真运行该木马程序,那么后果就是文件分配表(FAT)被抹掉,HDD被格式化,所有的数据被删除。

发展阶段

木马程序产生初期,当时的计算机使用者多为技术人员,使用的系统则多为unix,因此当时的木马以内核级木马为主。随着科技的发展和应用,WIBNDOWS系统和传输控制协议/网际协议网络逐步成熟并获取到更大市场,因此木马也呈现出向应用级过渡特征,主要寄端口通信的客户端/服务器程序中。但是随着反病毒各种技术的逐步成熟,木马病毒也呈现出越来越隐蔽的特征,典型的客户端/服务器结构明显已经不能满足入侵要求,现在的入侵过程中,客户端通常不再与服务端直接通信,而是借由代理控制服务端进行数据的发送和接受。木马发送端为确保自身的安全并且实现反跟踪和更为隐蔽的攻击,由代理将把控命令按照约定的格式写入到指定的公共服务器上,并且由服务端自动将该服务器上的命令进行读取执行,同样服务端也会按约定把窃取的数据自动上传到指定的某个公共服务器上,代理定期查询该服务器上的数据并接收,最终实现攻击。

木马在网络技术和编程技术快速发展的同时,也在不断完善和提高自身的隐蔽性等功能,已经经历了5个发展阶段。

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

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

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

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

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

工作原理

技术基础

计算机领域中木马程序是一种未经授权的程序,它包含在一段正常的程序中,这个未经授权的程序提供了一些用户不知道的功能,其目的是不需要管理员的准许就可获得系统使用权。木马利用自身所具有的植入功能,依附其他具有传播能力的病毒之上,或者通过入侵后植入等多种途径,进驻目标机器,搜集其中的各种敏感信息,并通过网络与外界通信,发回所搜集到的各种敏感信息,接受植入者指令,完成其他各种操作,如修改指定文件、格式化HDD等。

工作原理

特洛伊木马本质上就是一种客户/服务器模式的网络程序,其工作原理是一台主机提供服务器(服务器端),另一台主机接受服务 (客户端)。当服务器端在目标计算机上被执行后,木马打开一个默认的端口进行监听,当客户机向服务端提出连接请求,服务器上的相应程序就会自动运行来应答客户机的请求,服务器端程序与客户端建立连接后,由客户端发出指令,服务器在计算机中执行这些指令,并将数据传送到客户端,以达到控制主机的目的。

关键技术

木马程序的工作过程包含了木马程序的伪装、隐藏、启动、通信以及攻击等。

伪装技术:木马程序的伪装技术主要有以下几种方法:修改图标、捆绑于正常文件中、显示出错信息、自我销毁、更改文件名。

隐藏技术:木马会采用各种手段来伪装隐藏以使被感染的系统表现正常。木马的隐藏技术主要分为三类:本地隐藏、通信隐藏和协同隐藏。

通信技术:木马有很多通信方法,最常见的是使用TCP、UDP协议,为了增强隐蔽性,可采用HTTP隧道技术、反弹端口技术、 ICMP协议通信,端口复用等技术进行通信。

启动技术:木马是随计算机或Windows的启动而启动并掌握一定的控制权的,主要有以下几种启动方式:随正常的程序启动而启动、隐藏在配置文件中、潜伏在Win.ini中、在System.ini中藏身、伪装成普通文件、内置到注册表中、隐形于启动组中、隐蔽在Winstart.bat中、设置在超级链接中。

结构组成

一个完整的木马系统由硬件部分,软件部分和连接部分组成。硬件部分主要由控制端、服务端和INTERNET组成。而软件部分则由控制端程序、木马程序和木马配置程序组成。连接部分则由控制端及服务端IP和控制端及木马端端口,组成。其中客户端是攻击者远程控制终端的程序,服务端程序则是木马程序。 当木马的服务端程序成功入侵到目标计算机系统上并运行以后,攻击者就可以使用客户端程序与服务端建立连接,并进一步控制被入侵的计算机系统。

连接方式

攻击者利用木马对目标主机(攻击者)的控制,需要通过控制端和服务器端的连接来实现。常见的木马连接方式有正向端口连接、反弹端口连接和“反弹+代理”连接三种方式。

正向端口连接:正向连接方式是由控制端主动连接服务器端,即由控制端向服务器端发出建立连接请求,从而建立双方的连接。为了内网的安全,通常防火墙会对进入系统内部的数据过滤,允许内网连接外网,屏蔽外网向内网的连接请求。这种安全策略下,正向连接方式会被防火墙屏蔽,不能实现“控制器”和“服务器”的连通。面对防火墙的阻断,为了保障连通,木马技术又出现了新的连接方式,由木马的“服务器”主动连接“控制器”,即端口反弹连接方式。

端口反弹连接:端口反弹连接方式是由“服务器”主动向“控制器”发出连接请求。这种方式可以有效的绕过防护墙,例如有名的中国木马:灰鸽子。然而,反弹连接方式,要在配置“服务器”时,提前设置好“服务器”要连接的IP地址和端口号,也就是“控制器”所在电脑的Ip地址和等待连接的端口。一旦“控制器”所在电脑IP地址发生变化,“服务器”和“控制器”的连接就会失败,因此,这种端口反弹连接方式的木马想要种植成功,要求攻击方的要有固定的IP地址和待连接端口。

“反弹+代理”连接:为了解决动态IP的问题,又出现了新的木马连接技术,利用“反弹+代理”方式实现“控制器”和“服务器”的连接。代理的主要作用是保持并实时更新“控制器”的IP地址和端口号,如图3,“服务器”在发起连接请求时,通过询问代理服务器,获得“控制器”的IP地址和端口号,然后与“控制器”建立连接。这里的代理服务器通常是已经被攻击者控制的电脑。这种连接方式利用代理服务器,一方面解决了控制端IP动态变化的无法连接的问题,另一方面有效的隐藏了攻击者的IP的地址,减小了攻击者被发现的几率。

传播方式

网站挂马:网站“挂马”是计算机用户感染木马最常见的途径之一,黑客通过在网站上“挂马”使网页浏览者感染“网页木马”。网络恶意者利用浏览器或浏览器的外挂程序(目标通常是IE浏览器和ActiveX程序)的漏洞,在网页中夹带木马程序,制作出恶意的木马网页,或者利用系统漏洞,通过构造出特殊代码的网页,发布到网站上;网络用户在浏览该网页时,木马程序、病毒、密码盗取等恶意程序会随网页一并下载到用户机器,并在后台运行木马程序,造成系统溢出并打开某个端口,被网络恶意者连接控制整台机器。可见网页木马的实质并不是木马程序或病毒本身,而应该称为网页木马“种植器”。

邮件附件:控制端将木马程序伪装后以附件的形式夹在邮件中发送出去,收信人只要打开附件系统就会感染木马。

软件下载:一些非正式的网站以提供软件下载的名义,将木马捆绑在软件安装程序上,程序下载后只要一运行,木马就会自动安装。

即时通讯软件:例如通过QQ的“文件传送”功能,发送一张名为“我的照片”的带毒图片,用户在不知情的状况下打开图片就会感染木马。

基本特征

隐蔽性:隐蔽性是木马最主要的基本特性,是木马这种攻击手段得以生存和发挥作用的必备条件。木马程序只有在攻击目标系统中存在下来而不被发现,木马才能发挥其强大的攻击力。

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

欺骗性:木马常常将自己伪装成一般的文件或系统和程序的ICON(例如win,dll,sys等),防止被用户或安全软件发现和查杀。

顽固性:当木马被发现后,是否容易被清除代表了木马的顽固性程度。很多QQ恶龙被发现后,尽管采取了不同措施仍然不能完全将其清除,一定条件下仍然能够完成一些操作,这种木马就具有很强的顽固性。

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

类型分类

密码发送型:密码发送型木马通过对目标机器的植入,能对目标主体所保存的密码进行搜索,然后发送给攻击者。该木马对密码的搜索一是通过对目标机器主体以文件形式保存的密码进行;二是对Windows提供的密码记忆功能进行。由于密码发送型的木马在制作上较为简单,成为了木马中较为流行的一种。

键盘记录型:键盘记录型木马主要的目的是记录目标计算机的键盘活动并将记录存储在文件中发送至目的地。这类木马通常情况下是随着系统的运行而启动的,且对用户键盘使用记录分为在线和离线两种方式。

远程访问型 :最广泛的是远程访问型木马,只需有人运行了服务端程序 ,如果客户知道了服务端的IP地址,就可以实现远程控制。

Dos攻击型:Dos攻击型木马最突出的特征就是传染性。它的攻击性不是表现在对一台目标机器的攻击上,而是攻击者能利用Dos攻击来形成传染攻击,从而对网络构成威胁。

代理型:代理型木马是通过给被控制的肉鸡种上代理木马,让其变成攻击者发动攻击的跳板。通过代理木马,攻击者可以在匿名的情况下使用 lnet、ICQ、IRC等程序 ,从而隐蔽自己的踪迹。

FTP型和反弹端口型:FTP型木马主要的目的是控制FTP主机,获取管理员权限,窃取信息。反弹端口木马则是利用反弹端口原理逃过防火墙拦截的木马,如Hack、Huigezi。

多媒体型:多媒体型木马的功能有截取屏幕,捕捉摄像头数据等。木马获取多媒体信息后,实时的传送给控制者,“情人2000”就是这种木马。

木马应用

木马以高权限安装或运行的方式与恶意控制器进行交互,以实现其目的。木马程序会扫描网络上的计算机,找到安装木马的任何用户,然后进行控制。有些木马利用老版本的Internet Explorer和Google Chrome Frame的安全漏洞,使用主机的计算机作为一个匿名代理有效地隐藏互联网使用。木马的第一代往往在主机的网页浏览历史留下痕迹,而木马的后代可以更有效地“掩盖”行踪。Sub7几个版本已广泛流传于美国和欧洲,成为这类木马分布最广泛的例子。

德语国家,间谍软件有时也被称为govware。govware通常是用来从目标计算机拦截通信的木马软件。由于黑客僵尸网络的普及和允许作者违反用户隐私的广告服务的可用性,木马变得越来越普遍。据BitDefender2009年1~6月的一项调查显示,“木马型流氓软件正在上升,占全球恶意软件的83%。”而且,特洛伊木马与植物病原线虫有密切的关系,因为它们随着蠕虫的传播而传播。

防范措施

及时查杀

用户通过专业的杀毒软件或者下载一些专门的木马查杀工具,定期查杀。用户要及时更新杀毒软件的查杀引擎和病毒库,及时获知新流行木马的信息,掌握其预防和查杀方法。

及时检测

查系统自启动:系统自启动的有三种方式:一是系统启动配置文件,如ini系统配置文件和程序启动组等。二是注册表,木马常常在系统注册表的启动项中增加键值,以实现其自动加载的目的。三是系统服务,木马还会将自己伪装成windows服务添加到系统中,有的还直接伪装成系统正常的进程服务。

查系统开放端口:用户可以通过一些命令程序查看电脑开放端口,如系统自带的Netstat命令,FPORT程序等。还可以通过现在的安全防护软件,这些软件一般都集成了端口查看功能,如腾讯电脑管家360安全卫士等。

查网络通讯:有一些木马是利用ICMP协议来与远程控制端进行通讯的,可以通过监听网络通讯来发现。

提高安全意识

对于企业用户,应加强网络管理,关闭不必要的端口和应用。加强用户安全意识教育,如不要执行任何来历不明的软件;不要轻易打开不熟悉的邮件;不要随便下载软件、视频文件等。

参考资料

可气复无奈 从《特洛伊》谈木马病毒的由来.新浪科技.2024-01-11

Unix Programmer's Manual November 3, 1971.UNIX程序员手册.2024-01-17