第16卷第2期 北京电子科技学院学报 2008年6月 Vo1.16 No 2 Journal of Beijing Elrctronin Science and Technology Institute Jun.20o8 ICMP反弹式木马技术的研究与实现 冯雁 赵鲲 刘芳 (1.北京电子科技学院,北京:100070) 摘要:ICMP反弹式木马技术是目前新兴的木马技术之一。该技术采用ICMP协议,由木马服务器端发送ICMP请求,木马客 户端进行ICMP响应,具有很好的隐蔽性和较好的防火墙穿越能力。本文主要是对ICMP反弹式木马技术进行研究和分析, 并实现了一款ICMP反弹式木马。 关键词:木马;ICMP;反弹 中图分类号:TN922 文献标实码:A 文章编号:1672—464x(2008)02—0001—03 Research and Implementation on Technologies of ICMP Recall Trojan Horse Feng Yan Zhao Kun Liu Fang (1.Beijing Electronic and Science Technology Institute,Beijing 100070,CHINA) Abstract:ICMP recall Trojan technology is one of the new Trojan technologies.This technology uses ICMP,by which the Trojan server send the request and the Trojan client responsed.So ICMP recall Trojna conceals well and can traversal through many ifre・ walls.The main task of this paper is to research and analysis ICMP recall Trojan technology,and relaized an ICMP recall Trojan by use of the technology. Key words:Trojan Horse;ICMP;Recall 1.概述¨ J TCP、UDP协议不同,ICMP协议中并没有端口字段,即ICMP 数据报文的处理不是通过端口而是通过系统内核或进程直 木马全称特洛伊木马(Trojan Horse/Trojan),其名称源 接进行。这样,若木马服务器端和木马客户端的通信采用 于古希腊神话中的特洛伊木马记。木马一般伪装成合法程 序植入系统中,对系统安全构成威胁。完整的木马程序一般 ICMP协议,则木马服务器端便不用开放任何端口。 由两个部份组成:一个是服务器(被控制端)程序,一个是客 ICMP协议的一个典型而且常用的应用便是Ping的过 户端(控制端)程序。黑客主要利用控制端连接到服务器端 程。ICMP木马服务器和客户端的通信过程其实就是一个 来实现控制目标主机(服务器端所在主机)的目的,从而执行 Ping的过程。 用户不知道或不期望的行为。 2.2反弹式木马技术 木马的隐蔽性是木马的首要特征,是指木马的设计者为 前面已经提到,传统木马的服务器端通常都是利用一个 了防止木马服务器端被发现,会采用多种技术(如捆绑技术、 TCP端口来监听控制端的连接(控制端主动连接服务器端)。 一加壳技术、DLL远程注入技术等木马隐藏技术)来进行隐藏, 旦控制端认证通过,攻击者便可以开始对服务器端进行非 这样即使木马服务器端所在主机被发现感染了木马,也很难 法控制(操作)。但木马服务器和客户端之间的这种通信方 确定其具体位置。 式的隐蔽性很弱:一是因为用于监听的端1:1很容易被发现; 木马隐藏技术是木马的关键技术之一,直接决定了木马 二是因为如果木马的服务器端安装了防火墙,则防火墙会对 的生存能力。ICMP(Internet Control Message Protoco1)反弹式 木马服务器和客户端的这种通信连接报警。 木马技术便是木马隐藏技术的一种。 基于上述原因,出现了反弹式木马技术。该技术利用木 2.ICMP反弹式木马技术【3 ,5J 马服务器端主动向控制端发送连接请求。这样,木马服务器 就不用监听控制端的连接请求;而且,由于一般防火墙并不 2.1 ICMP木马技术 会对数据包的传出(从内至外)进行,所以木马服务器端 传统的木马技术中,木马服务器端和客户端之间都是通 的防火墙也不会报警。 过建立TCP连接来进行命令和数据传输的,这样,木马服务 2.3 ICMP反弹式木马技术 器端在等待木马客户端连接和执行客户端命令的过程中,始 ICMP反弹式木马技术便是将ICMP木马技术和反弹式 终需要打开一个端口。一些常用的端口扫描工具(如xs. 木马技术结合的一种木马隐藏技术。 can)可以很容易发现这些端口。因此,检查计算机是否感染 ICMP反弹式木马采用ICMP协议,由木马服务器端发 木马的常用途径之一便是查看计算机开放的可疑端口。 送ICMP请求,木马控制端进行响应,如图2—1所示。从图 ICMP木马技术便是为了摆脱端口的束缚而出现的。与 中可以看出,ICMP的ECHO请求(ICMP—ECHO)是由木马的 收稿日期:2008.03.31 ・2・ 北京电子科技学院学报 2008拄 服务器端(被控制端)发出的 并由木马的客户端(控制端) 进行响应(ICMP_ECHOREPLY)并携带控制指令。即木马服 务器端将自己伪装成一个Ping进程,这样系统就会将ICMP— ECHOREPLY(Ping请求的响应)的监听、处理权交给木马服 务器进程,一旦事先约定好的ICMP—ECHOREPLY包出现 (可以通过判断包大小、ICMP—SEQ等特征),木马服务器就 会接收、分析并从ICMP报文中解析出命令和数据。 燕 l发IC 一E 0请求 咿  ̄IcwPEC控HO制R捎EP惑LY圊执J内 .嵌,_ 图3—2 解码模块流程 图2—1 ICMP反弹式木马通信方式 一在收到ICMP报文后,怎样判断是否该报文就是木马服 务器端和客户端之间通信所用的ICMP报文呢?这就需要 由于该木马技术的通信方式与传统木马技术的通信方 式是相反的,即由服务器端发送ICMP请求,使得木马穿透 防火墙的能力大大增强。而且由于这种通信的数据处理是 由系统内核或进程进行的,所以不需要开放端口进行通信, 具有很高的隐蔽性。 个解码模块,用来分析接受到的ICMP报文并把将报文数 据解析成相应的木马控制指令发送给控制模块,具体流程图 如图3—2所示。 既然是木马,当然少不了控制功能。木马的控制代码大 都是在服务器端实现的,ICMP反弹式木马也不例外。木马 服务器端主要是通过对收到的ICMP报文的i—code字段进 行判断,从而进行各种控制操作,其主要控制功能如图3—3 3. ICMP反弹式木马技术实现 现了一款ICMP反弹式木马。下面将分别介绍该木马服务 器和客户端的实现。 基于前面的分析,本文在Windows 2000/XP/2003下实 所示。3.1月k务器的实现 根据实现的功能不同,ICMP木马服务器可以分为通信 模块、解码模块和控制功能模块三部分。 通信模块用来发送ICMP请求,同时监听ICMP报文,检 测是否有客户端的消息到达本机。由于是服务器端,为了实 现反向通信,以达到更好的隐蔽性,报文类型(i_type)字段填 充为ICMP_ECHO,即伪装发送Ping请求。整个通信模块的 处理流程如图3—1所示。 图3—3木马控制功能 3.2客户端的实现 由于控制代码是在木马服务器端实现的,所以木马客户 端只需要实现将控制指令发送给木马服务器。而且由于木 马服务器端发送的是ICMP—ECHO报文,所以客户端需要发 送ICMP_ECHOREPLY报文来进行响应,即将整个过程伪装 成正常的Ping过程。 同样,根据实现功能的不同,该ICMP反弹式木马客户 端可分为通信模块和控制指令转换模块两部分。 图3—1通信模块流程 由于ICMP协议的特性,所以木马客户端的通信模块与 服务器端的通信模块的功能是完全相同的,唯一不同的就是 第l6卷 冯雁 赵鲲刘芳 ICMP反弹式木马技术的研究与实现 ・3・ 将i—type结构填充为ICMP~ECHOREPLY而不是ICMP— ECHO。整个通信模块的处理流程如图3—4所示。 表3—1木马通信隐蔽性测试 4.小结 图3—4客户端通信模块流程 怎样让用户想执行的操作转变为不同的ICMP数据报 发送给服务器端执行呢?这就需要一个控制指令转换模块 了。在这个模块里,会不断地获取用户的控制操作,然后转 换成对应的数据报,由通信模块发送出去。转换模块的处理 流程如图3—5所示。 图3—5控制指令转换模块流程 3.3测试 在用户没有配置ICMP的相关规则的前提下,ICMP木 作者简介:马可以突破大部分的个人网络防火墙,进行隐蔽通信,具体 }测试结果如表3—1所示。 目前,木马隐藏技术主要体现在木马进程隐藏、代码隐 藏、通信隐藏等方面,而ICMP反弹式木马技术主要是隐蔽 木马的通信消息和通信端口。 只有揭开了木马的神秘面纱,让木马隐藏技术不再神 秘,才能及时发现并清除木马,促进网络防御技术的发展。 参考文献 [1]张新宇,卿斯汉,马恒太等.特洛伊木马隐藏技术研究. 通信学报,2004.7 [2]张建华.剖析特洛伊木马的隐藏技术.水利电力机械, 2Oo4.12 [3]凌晨,郭继斌.透析木马程序的新技术.开创新世纪的 通信技术一一第七届全国青年通信学术会议论文集,2001 [4]LUO Hong,MU De-jun,DAI Guan—zhong等.Research on Communication Techniques for Port Recall Trojan Horse.微 电子学与计算机,2006.2 [5]庄颖杰.新型木马技术的研究与分析.计算机工程, 2()04.】2  ̄-(1979一),女,北京电子科技学院讲师。主要研究方向: 网络安全、网络多媒体等。