基于ICMP的木马通信技术研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20第09 年1 期2 月
微 处 理 机
M ICROPROCESSORS
No. 1
Feb. , 2009
基于 ICMP的木马通信技术研究
林小进 ,钱 江
(南京工业大学信息科学与工程学院 ,南京 210009)
摘 要 :首先介绍了传统的木马工作原理 ,然后对现有的几种木马通信技术进行了分析介绍 , 最后提出了基于 ICM P协议的通信技术 。它不仅能够实现隐蔽通道 ,而且能穿越防火墙 ,大大提高 了木马两端间通信的成功率 。
载 w insock库 ,第 2 步创建 ICM P 原始套接字 ,第 3
1期
林小进等 :基于 ICM P的木马通信技术研究
·83·
步设置 ICM P包的目的地址 ,第 4 步将木马的控制 命令和数据写入 ICM P数据包中 ,第 5 步向服务端 发送 ICM P 数 据包 , 第 6 步接 收从服 务端 返 回 的 ICM P数据包 ,从中获取被控制机器的相关信息 ,之 后再转入第 4步循环进行 。
类型 (0或 8) 代码 (0)
——— 校验和
↑
标识符
序号 8字节
选项数据
↓
———
图 1 ICM P回显请求和回显应答报文格式
其数据结构定义如下 : Typedef struct icmp _hdr { unsigned char icmp _type; / /消息类型 unsigned char icmp _code; / /代码 unsigned short icmp _checksum; / /16位校验和 unsigned short icmp _id; / /识别号 (通常设置为进 程 ID ) unsigned short icmp _sequence; / /序列号 unsigned long icmp _tim estamp; / /时间戳 } IcmpHead;
关键词 :木马 ;通信技术 ; ICM P协议 中图分类号 : TP309. 5 文献标识码 : A 文章编号 : 1002 - 2279 (2009) 01 - 0081 - 03
R e se a rch o n the Comm un ica tio n Te chno lo gy o f Tro ja n Ho rse
防火墙通常不会拦截 ICM P协议的报文 。在这里提
出一种基于 ICM P协议在木马客户端与服务器端之
Leabharlann Baidu
间进行通信的技术 。它既可实现反向连接 ,又可实 现隐蔽通道 。该技术通过修改 ICM P_ECHOREPLY
包的包头结构 ,在其中的选项数据域中填写木马的
控制命令和数据 。因为 ICM P包是由系统内核或进
其中 ICM P包类型为 echo rep ly,代码为 0,进程 号为当时木马服务器端程序的进程号 ,初始化的校 验和为 0,序列号为 0。向选项数据域中填入木马的 控制命令与数据信息 ,计算校验和并将其重新填入 , 设置时间戳 ,重新设置它的序列号 ,之后即可发送数 据包 。
校验和域在自定义的 ICM P报文中具有重要的 作用 ,可用来检验数据包在网络传输中是否出差错 , 其计算方法为 :将数据以字为单位累加到一个双字 中 ,如果数据长度为奇数 ,最后一个字节将被扩展到 字 ,累加的结果是一个双字 ,最后将这个双字的高 16bit和低 16bit相加后取反 ,便得到了校验和 。
4 隐蔽通道技术
隐蔽通道是指能让木马进程以违反系统安全策 略的方式传递消息的信息通道 。如果在网络上通信 双方之间建立起一个隐蔽通道 ,它会使得木马的客 户端程序与服务端程序之间可进行任意信息的交 流 。在 TCP / IP协议中有很多协议设计上不是非常 的安全 ,如 TCP, ICM P 等 ,可以被用来建立隐蔽通 道 。隐蔽通道还具有穿越防火墙的特点 ,极大地提 高了双方通信的成功率 。
术研究 (英文 ) [ J ]. 微电子学与计算机 , 2006, 23 ( 2) :
193 - 197. [ 2 ] 张新宇 ,卿斯汉 ,马恒太. 特洛伊木马隐藏技术研究
[ J ]. 通信学报 , 2004, 25 (7) : 153 - 159. [ 3 ] 夏耐 ,林志强 ,茅兵 ,等. 隐蔽通道发现技术综述 [ J ].
手段 ,木马的开发技术也变得更加专业化 。本文介 绍了木马的工作原理及各种通信技术 ,目的是能够 对木马通信技术有更深层次的了解 ,以有效保护计 算机和内部网络免受木马的侵害 。知已知彼 ,方能 百战百胜 。希望此研究能对木马防杀提供一丝帮
助。
参考文献 : [ 1 ] 罗红 ,慕德俊 ,戴冠中 ,等. 端口反弹型木马的通信技
加载 winsock库
↓
创建 ICMP原始套接字
→↓
| |
接收客户端的 ICMP包并 进行相应处理
|
|
↓
| 读取服务端相关信息写入
| |
ICM P数据包中
|
↓
| |
向客户端发送 ICMP包
| |
图 2 服务端
木马客户端程序的工作流程如图 3 所示 ,第 1 步加
2 正向连接技术
该连接指木马的服务端程序监听 ,客户端进行 主动连接的一种通信技术 。服务端首先在目标机器 上开放一个 TCP (或 UDP) 端口 , 并在此端口上监 听 ,然后等待客户端连接 ,在对客户端的连接认证之
后 ,客户端即可与服务端通讯 ,对服务端进行控制操 作 。由于目前防火墙技术的广泛应用 ,客户端对服 务端的连接容易被防火墙发现并报警 。因此该技术 通常为早期木马所采用 。
Key words: Trojan horse; Comm unication technology; ICM P
1 引 言
木马 ,全称特洛伊木马 ,是一种基于 C / S (客户 / 服务器 )模式的计算机程序 。它常常会在用户未知 的情况下实施一些用户不期望的行为 。通常木马程 序分为两个部分 :客户端和服务器端 。客户端程序 运行在入侵者计算机上 ,服务器端则位于被入侵者 的计算机上 。木马工作原理是入侵者先将服务端程 序植入目标机器 ,再在自己机器上运行客户端程序 , 接着客户端通过网络与服务端建立起连接 ,有效连 接后入侵者就可以对目标机器进行一些远程操作 。 在此过程中建立起连接显得非常重要 ,因此有必要 对木马的通信技术进行研究 。
5 基于 ICM P的通信技术
ICM P ( Internet Control M essage Protocol) , 是因 特网控制报文协议 ,主要用来向 IP (和高层协议 )提
供网络层的差错和流量控制情况 ,返回关于网络问
题的诊断信息 。用来测试网络是否通畅的 p ing命
令就是基于该协议中的两种报文进行工作的 ,因此
B a se d o n ICM P
L IN Xiao - jin, Q IAN J iang
( S chool of Inform a tion S cience and Eng ineering, N an jing U n iversity of Technology, N an jing 210009, Ch ina)
程直接处理 ,不通过端口 ,所以就不会占用任何端
口 ,难以被发觉 。同时另一个优点在于可穿透防火
墙 ,目前大部分的防火墙会阻拦外部通向内部的连
接 ,而 ICM P _ECHOREPLY包是用来携带用户进行 p ing操作得到的返回信息 ,所以它往往不会出现在
防火墙的过滤规则中 ,因而可以顺利地穿透防火墙 ,
从而极大的提高了攻击的成功率 。
木马利用 ICM P 进行通讯首先要加载 w insock
库 ,创建 ICM P原始套接字 ,使用原始套接字可以自
已设定 ICM P数据包的格式 ,填写 ICM P数据包的信
息 , ICM P数据报文头部格式如图 1所示 。
0 7 8 15 16 31
计算机科学 , 2006, 33 (12) : 1 - 5. [ 4 ] 高光勇 ,迟乐军 ,王艳春. 联动防火墙的主机入侵检测
系统的研究 [ J ]. 微计算机信息 , 2005, 21 (7) : 66 - 68. [ 5 ] 葛秀慧 ,田浩 ,王家祯. TCP 协议中隐蔽通道的研究
[ J ]. 计算机工程与设计 , 2006, 27 (17) : 3140 - 3141. [ 6 ] M artin Karresand. Separating Trojan Horses. V iruses and
作者简介 :林小进 (1978 - ) ,男 ,江苏扬州人 ,硕士研究生 ,主研方向 :网络安全 。 收稿日期 : 2007 - 09 - 12
·82·
微 处 理 机
2009年
生 ,它采用服务端程序主动连接客户端的技术 ,再配 合以动态插入技术 ,将木马服务端进程插入系统进 程 (如 Exp lorer等 ) ,从而躲过防火墙的拦截 ,成功实 现两端通信 。
加载 winsock库
↓
创建 ICMP原始套接字
↓
设置 ICMP包目的地址
→↓
|
将木马的控制命令和数
|
据写入 ICMP头部
| |
↓
|
发送 ICMP数据包给
|
服务端
|
↓
| | |
接收服务端返回的 ICM P数据包
| |
图 3 客户端
6 结 束 语
随着计算机技术和网络技术的不断发展 ,网络 攻击事件日益增多 ,而木马越来越成为主要的攻击
Abstract: First, the working p rincip le of Trojan horse is introduced, then several p resent communication technologies of current Trojan horse are analyzed and introduced. Finally, this paper p resents a m ethod of technology based on ICM P p rotocol. This technology not only can realize the covert channel, but also can penetrate the firewall, greatly enhance communication success ratio between both sides of Trojan horse.
木马服务端程序的工作流程如图 2 所示 ,第 1 步首先加载 w insock库 ,第 2步创建 ICM P原始套接 字 ,第 3步接收客户端发来的 ICM P数据包 ,从中解 析出木马客户端发送过来的操作指令 ,并根据其中 所携带的不同操作命令 ,木马服务进程进行相对应 的操作 ,第 4步将服务端进程操作完成后的结果数 据填入 ICM P数据包后再向客户端发送 ,之后再转 入第 3步循环进行 。
Worm s - A Proposed Taxonomy of Software W eapons
[ C ]. Proceedings of the IEEE W orkshop on Information
A ssurance United States M ilitary Academy, W est Point:
3 反向连接技术
反向连接 ,顾名思义 ,与正向连接相反 ,是由客 户端程序监听 ,服务端对客户端进行主动连接的技 术 。这一技术是随着防火墙技术的出现而发展变化 的 。被入侵计算机安装了防火墙之后 ,相当于在其 和外部网络之间设了一层屏障 ,它会严格过滤外部 网络对本地计算机的连接 ,所以一旦客户端程序对 安装了防火墙的服务端计算机尝试连接 ,防火墙就 会发现并立刻报警 。但防火墙也有其弱点 ,即对内 部通往外部的连接疏于防范 。因为本地计算机如果 要上网 ,如 W EB 访问 , HTTP协议要通过 80端口进 行正常工作 ; FTP访问 , FTP协议要通过 21 端口进 行工作 。这就使得防火墙必须对这些端口上的数据 流动放行 。因此采用反向连接技术的木马就应运而
微 处 理 机
M ICROPROCESSORS
No. 1
Feb. , 2009
基于 ICMP的木马通信技术研究
林小进 ,钱 江
(南京工业大学信息科学与工程学院 ,南京 210009)
摘 要 :首先介绍了传统的木马工作原理 ,然后对现有的几种木马通信技术进行了分析介绍 , 最后提出了基于 ICM P协议的通信技术 。它不仅能够实现隐蔽通道 ,而且能穿越防火墙 ,大大提高 了木马两端间通信的成功率 。
载 w insock库 ,第 2 步创建 ICM P 原始套接字 ,第 3
1期
林小进等 :基于 ICM P的木马通信技术研究
·83·
步设置 ICM P包的目的地址 ,第 4 步将木马的控制 命令和数据写入 ICM P数据包中 ,第 5 步向服务端 发送 ICM P 数 据包 , 第 6 步接 收从服 务端 返 回 的 ICM P数据包 ,从中获取被控制机器的相关信息 ,之 后再转入第 4步循环进行 。
类型 (0或 8) 代码 (0)
——— 校验和
↑
标识符
序号 8字节
选项数据
↓
———
图 1 ICM P回显请求和回显应答报文格式
其数据结构定义如下 : Typedef struct icmp _hdr { unsigned char icmp _type; / /消息类型 unsigned char icmp _code; / /代码 unsigned short icmp _checksum; / /16位校验和 unsigned short icmp _id; / /识别号 (通常设置为进 程 ID ) unsigned short icmp _sequence; / /序列号 unsigned long icmp _tim estamp; / /时间戳 } IcmpHead;
关键词 :木马 ;通信技术 ; ICM P协议 中图分类号 : TP309. 5 文献标识码 : A 文章编号 : 1002 - 2279 (2009) 01 - 0081 - 03
R e se a rch o n the Comm un ica tio n Te chno lo gy o f Tro ja n Ho rse
防火墙通常不会拦截 ICM P协议的报文 。在这里提
出一种基于 ICM P协议在木马客户端与服务器端之
Leabharlann Baidu
间进行通信的技术 。它既可实现反向连接 ,又可实 现隐蔽通道 。该技术通过修改 ICM P_ECHOREPLY
包的包头结构 ,在其中的选项数据域中填写木马的
控制命令和数据 。因为 ICM P包是由系统内核或进
其中 ICM P包类型为 echo rep ly,代码为 0,进程 号为当时木马服务器端程序的进程号 ,初始化的校 验和为 0,序列号为 0。向选项数据域中填入木马的 控制命令与数据信息 ,计算校验和并将其重新填入 , 设置时间戳 ,重新设置它的序列号 ,之后即可发送数 据包 。
校验和域在自定义的 ICM P报文中具有重要的 作用 ,可用来检验数据包在网络传输中是否出差错 , 其计算方法为 :将数据以字为单位累加到一个双字 中 ,如果数据长度为奇数 ,最后一个字节将被扩展到 字 ,累加的结果是一个双字 ,最后将这个双字的高 16bit和低 16bit相加后取反 ,便得到了校验和 。
4 隐蔽通道技术
隐蔽通道是指能让木马进程以违反系统安全策 略的方式传递消息的信息通道 。如果在网络上通信 双方之间建立起一个隐蔽通道 ,它会使得木马的客 户端程序与服务端程序之间可进行任意信息的交 流 。在 TCP / IP协议中有很多协议设计上不是非常 的安全 ,如 TCP, ICM P 等 ,可以被用来建立隐蔽通 道 。隐蔽通道还具有穿越防火墙的特点 ,极大地提 高了双方通信的成功率 。
术研究 (英文 ) [ J ]. 微电子学与计算机 , 2006, 23 ( 2) :
193 - 197. [ 2 ] 张新宇 ,卿斯汉 ,马恒太. 特洛伊木马隐藏技术研究
[ J ]. 通信学报 , 2004, 25 (7) : 153 - 159. [ 3 ] 夏耐 ,林志强 ,茅兵 ,等. 隐蔽通道发现技术综述 [ J ].
手段 ,木马的开发技术也变得更加专业化 。本文介 绍了木马的工作原理及各种通信技术 ,目的是能够 对木马通信技术有更深层次的了解 ,以有效保护计 算机和内部网络免受木马的侵害 。知已知彼 ,方能 百战百胜 。希望此研究能对木马防杀提供一丝帮
助。
参考文献 : [ 1 ] 罗红 ,慕德俊 ,戴冠中 ,等. 端口反弹型木马的通信技
加载 winsock库
↓
创建 ICMP原始套接字
→↓
| |
接收客户端的 ICMP包并 进行相应处理
|
|
↓
| 读取服务端相关信息写入
| |
ICM P数据包中
|
↓
| |
向客户端发送 ICMP包
| |
图 2 服务端
木马客户端程序的工作流程如图 3 所示 ,第 1 步加
2 正向连接技术
该连接指木马的服务端程序监听 ,客户端进行 主动连接的一种通信技术 。服务端首先在目标机器 上开放一个 TCP (或 UDP) 端口 , 并在此端口上监 听 ,然后等待客户端连接 ,在对客户端的连接认证之
后 ,客户端即可与服务端通讯 ,对服务端进行控制操 作 。由于目前防火墙技术的广泛应用 ,客户端对服 务端的连接容易被防火墙发现并报警 。因此该技术 通常为早期木马所采用 。
Key words: Trojan horse; Comm unication technology; ICM P
1 引 言
木马 ,全称特洛伊木马 ,是一种基于 C / S (客户 / 服务器 )模式的计算机程序 。它常常会在用户未知 的情况下实施一些用户不期望的行为 。通常木马程 序分为两个部分 :客户端和服务器端 。客户端程序 运行在入侵者计算机上 ,服务器端则位于被入侵者 的计算机上 。木马工作原理是入侵者先将服务端程 序植入目标机器 ,再在自己机器上运行客户端程序 , 接着客户端通过网络与服务端建立起连接 ,有效连 接后入侵者就可以对目标机器进行一些远程操作 。 在此过程中建立起连接显得非常重要 ,因此有必要 对木马的通信技术进行研究 。
5 基于 ICM P的通信技术
ICM P ( Internet Control M essage Protocol) , 是因 特网控制报文协议 ,主要用来向 IP (和高层协议 )提
供网络层的差错和流量控制情况 ,返回关于网络问
题的诊断信息 。用来测试网络是否通畅的 p ing命
令就是基于该协议中的两种报文进行工作的 ,因此
B a se d o n ICM P
L IN Xiao - jin, Q IAN J iang
( S chool of Inform a tion S cience and Eng ineering, N an jing U n iversity of Technology, N an jing 210009, Ch ina)
程直接处理 ,不通过端口 ,所以就不会占用任何端
口 ,难以被发觉 。同时另一个优点在于可穿透防火
墙 ,目前大部分的防火墙会阻拦外部通向内部的连
接 ,而 ICM P _ECHOREPLY包是用来携带用户进行 p ing操作得到的返回信息 ,所以它往往不会出现在
防火墙的过滤规则中 ,因而可以顺利地穿透防火墙 ,
从而极大的提高了攻击的成功率 。
木马利用 ICM P 进行通讯首先要加载 w insock
库 ,创建 ICM P原始套接字 ,使用原始套接字可以自
已设定 ICM P数据包的格式 ,填写 ICM P数据包的信
息 , ICM P数据报文头部格式如图 1所示 。
0 7 8 15 16 31
计算机科学 , 2006, 33 (12) : 1 - 5. [ 4 ] 高光勇 ,迟乐军 ,王艳春. 联动防火墙的主机入侵检测
系统的研究 [ J ]. 微计算机信息 , 2005, 21 (7) : 66 - 68. [ 5 ] 葛秀慧 ,田浩 ,王家祯. TCP 协议中隐蔽通道的研究
[ J ]. 计算机工程与设计 , 2006, 27 (17) : 3140 - 3141. [ 6 ] M artin Karresand. Separating Trojan Horses. V iruses and
作者简介 :林小进 (1978 - ) ,男 ,江苏扬州人 ,硕士研究生 ,主研方向 :网络安全 。 收稿日期 : 2007 - 09 - 12
·82·
微 处 理 机
2009年
生 ,它采用服务端程序主动连接客户端的技术 ,再配 合以动态插入技术 ,将木马服务端进程插入系统进 程 (如 Exp lorer等 ) ,从而躲过防火墙的拦截 ,成功实 现两端通信 。
加载 winsock库
↓
创建 ICMP原始套接字
↓
设置 ICMP包目的地址
→↓
|
将木马的控制命令和数
|
据写入 ICMP头部
| |
↓
|
发送 ICMP数据包给
|
服务端
|
↓
| | |
接收服务端返回的 ICM P数据包
| |
图 3 客户端
6 结 束 语
随着计算机技术和网络技术的不断发展 ,网络 攻击事件日益增多 ,而木马越来越成为主要的攻击
Abstract: First, the working p rincip le of Trojan horse is introduced, then several p resent communication technologies of current Trojan horse are analyzed and introduced. Finally, this paper p resents a m ethod of technology based on ICM P p rotocol. This technology not only can realize the covert channel, but also can penetrate the firewall, greatly enhance communication success ratio between both sides of Trojan horse.
木马服务端程序的工作流程如图 2 所示 ,第 1 步首先加载 w insock库 ,第 2步创建 ICM P原始套接 字 ,第 3步接收客户端发来的 ICM P数据包 ,从中解 析出木马客户端发送过来的操作指令 ,并根据其中 所携带的不同操作命令 ,木马服务进程进行相对应 的操作 ,第 4步将服务端进程操作完成后的结果数 据填入 ICM P数据包后再向客户端发送 ,之后再转 入第 3步循环进行 。
Worm s - A Proposed Taxonomy of Software W eapons
[ C ]. Proceedings of the IEEE W orkshop on Information
A ssurance United States M ilitary Academy, W est Point:
3 反向连接技术
反向连接 ,顾名思义 ,与正向连接相反 ,是由客 户端程序监听 ,服务端对客户端进行主动连接的技 术 。这一技术是随着防火墙技术的出现而发展变化 的 。被入侵计算机安装了防火墙之后 ,相当于在其 和外部网络之间设了一层屏障 ,它会严格过滤外部 网络对本地计算机的连接 ,所以一旦客户端程序对 安装了防火墙的服务端计算机尝试连接 ,防火墙就 会发现并立刻报警 。但防火墙也有其弱点 ,即对内 部通往外部的连接疏于防范 。因为本地计算机如果 要上网 ,如 W EB 访问 , HTTP协议要通过 80端口进 行正常工作 ; FTP访问 , FTP协议要通过 21 端口进 行工作 。这就使得防火墙必须对这些端口上的数据 流动放行 。因此采用反向连接技术的木马就应运而