由灰鸽子木马看木马技术
第18卷 第5期 2003年10月 天 中 学 刊 Journal of Tianzhong Vol.18 No.5
Oct.2003
由灰鸽子木马看木马技术
董华亭1,郑光远2,刘传领3
(1. 驻马店师范高等专科学校,河南 驻马店 463000;2. 商丘师范学院,河南 商丘 476000;
3. 商丘职业技术学院,河南 商丘 476000)
摘 要:介绍了灰鸽子(辐射版)木马的工作原理,给出了这类木马的发现和清除方法. 关键词:木马;黑客;反弹端口;客户/服务器模式;远程控制;端口扫描 中图分类号:TP393.08
文献标识码:B
文章编号:1006-5261(2003) 05-0052-02
随着计算机网络的发展,网络安全问题显得日益重要.黑客的入侵对网络安全造成了极大威胁.木马技术是黑客入侵的主要手段之一,一旦这类被称为“特洛伊木马”的黑客程序被植入用户计算机,就如同《木马屠城记》中的木马一般,与黑客里应外合,可以对计算机随心所欲地进行破坏. 1 普通木马的工作原理
木马是一种通过端口进行通信的网络客户(Client ) /服务(Server ) 程序,具有强大的远程控制功能.普通木马在Server 端运行后,会在本机打开一个特定的端口(通常为7626或8255)并监听Client 端的连接.“牧马人”通过其计算机上的Client 端程序,主动去连接Server 端计算机的特定端口进行登录,并发出控制命令,进而取得对计算机的控制权限,可以任意查看或删改Server 端文件,操作Server 端的注册表,获取Server 端的系统信息,窃取口令等,就如同访问他自己的计算机一样方便.其工作过程可用面向对象的语言实现如下.
Server 端:
Trojan_Server.LocalPort = 7626 /打开一个特定端口7626
Trojan_Server.Listen /监听Client 端的连接 Client 端:
Trojan_Client.RemoteHost = RemoteIP /设远端地址为Server 端IP 地址 Trojan_Client.RemotePort = 7626
/设远程端口为Server 端程序起动的特定端口 Trojan_Client.Connect /连接Server 端计算机
收稿日期:2003-06-30
一旦Server 端接到Client 端的连接请求ConnectionRequest 就接受连接.
Private Sub Trojan_Server_ConnectionRequest (ByV al requestID As Long) Trojan_Server.Accept requestID End Sub
Client 端用Trojan_Client.SendData发送命令,而Server 端在Trojan_Server_DataArrive事件中接受并执行命令(如修改注册表、删除文件等) .如果Client 断开连接,则Server 端关闭连接并重新监听端口:
Private Sub Trojan_Server_Close() Trojan_Server.Close /关闭连接 Trojan_Server.Listen /再次监听 End Sub
说明:程序中的Trojan_Server和Trojan_Client为Winsock 控件.
2 灰鸽子(辐射版)木马的工作原理
普通的木马在Server 端运行后,通过邮件和ICQ 等方式发出信息,通知入侵者自己所在主机的IP 地址,同时在本机打开一个网络端口监听Client 端的连接(时刻等待着Client 端的连接).收到信息后,入侵者再运行Client 端程序向Server 的这一端口提出连接请求(Connect Request),Server 上的守护进程就会自动运行,来应答Client 的请求.
目前,大部分防火墙往往能对连入的连接和非法端口的IP 包进行非常严格的过滤,非法连接被拦在墙外,从Client 端主动连接的木马,很难穿过防
作者简介:董华亭(1976− ),男,河南上蔡人,驻马店师专物理系助教.
董华亭,郑光远,刘传领:由灰鸽子木马看木马技术 ・53・
火墙.与一般的软件相反,灰鸽子(辐射版)木马是把Client 端的信息存于有固定IP 的第三方FTPServer 上,Server 端从FTPServer 上取得信息后计算出Client 端的IP 和端口,然后主动连接Client 端,这种技术就是“反弹端口型技术”.另外,网络神偷的Server 端与Client 端是用合法端口进行通信,把数据包附在像HTTP 或FTP 的报文中,这就是黑客们所谓的“隧道”技术.灰鸽子(辐射版)木马的工作过程如下:
Server 端: Trojan_Server.RemoteHost = RemoteIP
/设远端地址为从指定FTP 服务器取得的Client 端IP 地址
Trojan_Server.RemotePort = RemotePort
/设远程端口为Client 端程序起动的特定端口,如80,21等
Trojan_Server.Connect /连接Client 端计算机 Client 端:
Trojan_Client.LocalPort = LocalPort
/打开一个特定的网络端口,如80,21等 一旦Client 端接到Server 端的连接请求ConnectionRequest ,就接受连接:
Private Sub Trojan_Client_ConnectionRequest (ByV al requestID As Long) Trojan_Client.Accept requestID End Sub
Trojan_ Client.Listen /监听Client 端的连接 Client 端用Trojan_Client.SendData发送命令,而Server 在Trojan_Server_DataArrive事件中接受并执行命令.如果Client 断开连接,则Server 端关闭连接:
Private Sub Trojan_Server_Close() Trojan_Server.Close /关闭连接 End Sub
之后,每隔一段时间Server 端就会向Client 发一个连接请求:
Trojan_ Server.Connect /连接Client 端计算机 目前,大部分防火墙对于连入的连接往往会进行非常严格的过滤,但对于连出的连接却疏于防范.像这种采用“反弹端口”和“隧道”技术的木马,Client 端的监听端口是防火墙信任的端口(如
提供HTTP 服务的80端口或提供FTP 服务的21端口),把所有要传送的数据全部封装到合法的报文里进行传送,防火墙就不会拦截.反弹端口型木马不但可以穿过防火墙,而且可以通过HTTP ,SOCKS4/5代理,甚至还能访问局域网内部,如采用NAT 透明代理和HTTP 的GET 型代理的局域网. 3 查杀灰鸽子(辐射版)木马的方法
对是不是中了反弹端口型木马,我们可以做如下检查:①关掉所有的网络连接程序(如IE ,FTP 服务等),转入命令行状态,用netstat -a 命令查看网络连接、路由表和网络接口的信息,如发现类似“TCP local address:1026 foreign address:HTTP ESTABLISHED ”的信息,则有可能中了木马.②用网络监视软件(如sniffer ,IParmor 等)查看所怀疑的端口是否被侦听,如发现怀疑的端口被侦听,则有可能中了木马.
清除灰鸽子(辐射版)木马的方法是先删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,HKEY_LOCAL_MA- CHINE\SOFTWARE\Microsoft\Windows\CurrentVer-sion\RunServices和HKEY_CURRENT_USER\SOF- TWARE\Microsoft\Windows\CurrentVersion\Run这3个注册表启动项中的可疑键值(键名是在生成服务端时由用户设置的);然后检查是不是有木马程序与EXE 关联,如果有,则将注册表项HKEY_ CLASSES_ROOT\exefile\shell\open\command改为默认值"%1" %*;最后,重启计算机,删除系统目录C:\Windows\System中的服务端程序(文件名是由用户设置的) .
木马程序的入侵手段在不断地发生变化,防范木马的方法也应不断变化.加强计算机网络安全意识,是预防木马的关键.
参考文献:
[1] 杨守君.黑客技术与网络安全[M].北京:中国对外翻
译出版公司,2000.194−221.
[2] 程秉辉,John Hwake.黑客任务实战——攻略篇[M].北
京:北京希望出版社,2002.151−342.
[3] 余伟建,严忠军.防守反击——黑客攻击手段分析与防
范[M].北京:人民邮电出版社,2001.132−164.
〔责任编辑 张继金〕