木马隐藏技术分析

2016-12-31 09:31
移动信息 2016年9期
关键词:钩子服务端木马

代 铨



木马隐藏技术分析

代 铨

中国石油大学,山东 青岛 264000

首先介绍了木马的原理和特征,然后对木马所实现的功能做了简单的介绍,最后从木马的文件隐藏,进程隐藏和通信隐藏三个方面着重进行了分析。

木马;木马隐藏;通信隐藏

引言

木马,是一种通过潜入对方电脑进非法操作的计算机成程序,是目前黑客惯用的一种攻击手段,和一般的恶意软件不同,木马不主动进行自我复制和传播,破坏其他程序,然而,木马的潜伏性是超前的,为了看起来和正常程序一样,在进入系统之前,对自身的程序进行了伪装,使被感染的系统看起来一切正常,从而严重威胁计算机网络安全[1]。

1 木马的原理和特征

一个完整的木马程序包含两部分内容,服务端和控制端,服务端程序是通过远程计算机网络植入对方电脑,而黑客通过客户端进入运行了服务端的受控电脑,通常运行了服务端的计算机会生成一个类似于系统文件的进程,此时端口被暗中打开,电脑中保存的各类数据(比如QQ密码,网络游戏密码等)会向控制端进行发送,黑客也可以通过这些暗中打开的端口进入目标电脑,此时,电脑中更多的隐私将会遭受更大的泄露。

木马一般具有以下特征:

(1)隐藏性,隐藏性是木马的最显著特征,比如,改写进程名称使其和系统文件高度相似,隐藏在任务管理器中的进程,减少程序大小,减少暗中打开端口的流量。

(2)自动运行性,可以随电脑启动而启动,比如潜入启动配置文件win.ini,winstart。Bat等,有的也可嵌入正常软件,随软件的运行而启动。

(3)欺骗性:木马为了防止被发现,通常伪装成为系统中本身存在的文件,比武将文件名中的“O”改为“0”,“1改为I”等容易混淆是非的字符,或者有的系统中本身的文件名也可被木马直接套用,只不过是保存在不同的系统路径下,另外,有的木马将自己改装成为ZIP压缩文件,当用户解压时,直接运行。四、自我恢复性。目前大多数木马程序的功能模块已不是单一的组件构成,而是自动复制到电脑其他路径做备份,在子木马或者主木马被删除时,都可以再自动生成[2]。

2 木马的功能

木马的作用不仅限于窃取密码,对文件进行操作。一个功能强大的木马程序,一旦潜入计算机系统,黑客对于受控计算机的操作就如同和自己自己的一样。木马的功能主要分为以下几个方面:

窃取密码。这是早期木马最根本的一个功能,大多数木马具有键盘按键记录功能,一旦木马植入计算机,任何输入键盘的密码将很容易被窃取,然而并没有鼠标记录功能,所以,通过鼠标适当的造作来改变击键顺序可以有效的防止密码泄露。此外,木马程序也可以记录其他的明文以及缓存Cache记录。

远程监控。攻击者可以对目标电脑进行屏幕图像截取,从而监控目标系统的操作,当需要时,还能通过输入指令,对受控计算机的鼠标和键盘进行操作。早年的“灰鸽子”就有远程视频监控的功能,并且还可以对语音进行监听和发送[3]。

修改注册表。被植入服务端的电脑,其注册表的信息,主键、子键等可以被控制端任意的修改,删除,新建等,就像操作自己的电脑一样。

系统操作。这项功能不但可以控制服务端的键盘、鼠标等基本操作,还可以断开服务端的网络连接,关闭或者重启操作系统,甚至发送信息,以此来达到控制目的。

3 木马的隐藏技术

木马为了规避杀毒软件,防止被发现,增加生命周期,通常在进入系统后会以各种方法隐藏其行踪,木马的隐藏能力直接决定了木马的攻击效果。主要分为三种方式:文件隐藏、进程隐藏、通信隐藏。

3.1 文件隐藏

文件隐藏是指木马程序通过伪装目标磁盘文件,让用户在表面上难以辨别出木马程序,通常的文件隐藏方法如下:

(1)嵌入宿主文件。采用此方法的木马主要是嵌入到系统文件中,当启动系统时,木马随即启动,有的也是捆绑到某个应用程序中,当此程序被用户使用时,木马也跟随启动。除此之外,目前嵌入在压缩文件ZIP中的木马也比较常见,解压文件的同时,木马程序也被释放运行了[4]。

(2)修改文件属性。木马程序一般会把自身的文件类型设置为隐藏,并且只读。这样做的目的主要是防止用户发现,并且保证自身的文件内容不会被修改。很多木马会把文件释放到windows或者windowssystem32等系统目录下,而且会修改此文件的生成日期,以此来迷惑用户。

(3)文件替换。也叫DLL技术,是木马程序发展的一种比较新的技术产物。这种技术的精髓所在是将系统原来的DLL替换为木马DLL,将原来的DLL修改并保存为其他名称,并且过滤进程对此系统DLL函数的调用,对于正常的调用,木马DLL直接转发给原来的系统DLL,当接到特殊的调用时,木马DLL就行行相关的操作。如图1-1所示。这种木马既没有增加新的系统文件,没有创建新的进程,也没有打开新的端口,因此其隐蔽性是极强的,为长期隐藏在电脑中奠定了很好基础。

图1-1 特洛伊DLL示意图

3.2 进程隐藏

打开任务管理器,查看是否有可疑的进程,这是检查木马程序最简单直接的方法,木马程序经过更新换代,此种方法已经不能有效的阻止木马入侵了,进程隐藏就是防止用户通过这种软件发现木马的存在,增加了木马的生存周期。

最简单的进程隐藏方式就是把木马程序的文件名改为和系统高度相似的名称,比如Exp1orer.exe,利用数字“1”和字母“I”和特别相像,SVCH0ST.EXE,利用数字 “0”和字母“o”的相似性,来迷惑用户。在计算机系统内,由于存在很多个SVCHOST.EXE进程,因此这种改写也增加了迷惑性。然而,对经验丰富的用户使用此种招式就很难发挥其功效了,当前主流的更高一级的技术主要分为以下两种:API钩子技术和DLL技术。

(1)API钩子(HOOK)技术。API钩子,也称API HOOK技术,此技术可以让任务管理器等进程软件不显示木马程序的进程列表,然而木马程序却真实存在于系统之中。所以它所实现的进程隐藏属于伪隐藏。API(application programming interface)是Windows提供的应用编程接口,其作用是应用程序可以对系统进行操控。钩子(hook)实际上是处理消息的一段程序,当被HOOK的某一事件(比如API函数调用),一旦接受到特定的指令,那么进行HOOK的程序就会取得此条指令的控制权,可以任意修改,转发,或者结束指令。一般而言,钩子服务器(负责钩子钩子驱动器的植入和卸载,一般为EXE文件)和钩子驱动器(负责具体的API调用拦截和操作,一般为DLL文件)组成了API HOOK[5]。

(2)DLL嵌入技术。如果,木马程序直接不产生进程,那么用户想要找出破绽就非常困难了,DLL技术正是采用了这种手段,并且达到了真正的进程隐藏, DLL不独立运行,而是加载在某个进程的线程当中,所以在进程列表中,并不会发现木马DLL,而是显示那个进程,通过Rundll32.exe来运行DLL是最简单的方法,但是很容易被发现。更高端一点的则是利用木马DLL替换系统本来的DLL,当函数转发器收到正常的调用时,依然会转发给原来的DLL,当只有收到特定消息时,才会进行拦截。DLL嵌入技术脱离了木马监听端口的老旧模式,最大的优点在于,通过端口监视的方法进行查杀,因为新的端口并没有被打开。并且通过一般的杀毒软件扫描文件的形式也并不能有效的清除,因为并没有产生新的文件。这种方法几乎没有征兆,所以其隐蔽性是极高的。

3.3 通信隐藏

木马的通信隐藏方法有以下2种:

(1)端口隐藏。一般来讲,木马植入主机后,会选择1024等高端口上驻留,也有部分木马采用端口复用技术,选择常用端口,比如80端口来进行通信,并不打开新的端口,当收到正常的HTTP请求时,仍然交于web服务器处理,只有当收到约定的数据包时,才调用木马。(2)反向连接技术。这种技术的突破点在于利用了防火墙的一个破绽,防火墙主要是对于进入主机的文件或者链接进行严格的过滤,但是对于主机主动向外界的链接却几乎不进行过滤,和普通的木马不同,反弹端口型木马采用的采用的是反向链接的编程方法,即:服务器端(被控制端)采用主动端口,客户端(控制端)采用的是被动端口,被植入反弹木马服务器端的计算机定时检测控制端的上线情况,一旦发现控制端上线,立即弹出端口连接控制端打开的端口,这种连接还能突破内网与外部建立连接。

4 结束语

随着计算机网络技术的发展,网络安全已经成为人们不得不考虑的一个因素,木马植入手段多样化以及比较强的隐蔽性,对计算机系统的危害性随之提升,在此背景下,本文对木马的隐藏技术进行了深入分析,将有助于采用有效的方式来减少木马的危害。

[1]蔺聪,黑丽霞.木马的植入与隐藏技术分析[J].信息安全与通信保密,2008(7):53-55.

[2]王晓燕.计算机病毒传播模型及检测研究[D].武汉:华中师范大学,2011.

[3]蔡洪民等.特洛伊木马攻击分析与检测技术研究[J].计算机安全,2007(4):53-56.

[4]盖凌云等.木马隐蔽技术分析及检测[J].中国现代教育装备,2007(5):77-79.

[5]周宇晓.网络木马病毒的防范探讨[J].科技信息,2008(35):12-15.

Analysis of Trojan horse hiding technology

Dai Quan

China University of Petroleum,Shandong Qingdao 264000

The Principles and features of Trojans is discussed first in the text,and the function of Trojans is also descrbed,Finally Trojan file hiding, process hiding and communications hiding are focused on this three aspects of the hidden analyzed.

Trojans;Trojan hiding;Communication Hiding

TP393.08

A

1009-6434(2016)09-0037-03

代铨(1990—),男,汉族,籍贯为山东省青岛市,当前职务为集团客户中心,当前职称为助理工程师,学历本科,研究方向为电子与通信工程。

猜你喜欢
钩子服务端木马
小木马
骑木马
不拴钩子的线也能把冰块钓起来吗?
小木马
谁和谁好
新时期《移动Web服务端开发》课程教学改革的研究
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
幸福的一家
精钩子