主 页  下载中心 文章中心 在线杀毒 软件论坛
国内杀毒软件     瑞星杀毒 金山毒霸 江民杀毒 光华反病毒 更多... 木马专杀   木马杀客 木马克星 木马清道夫 AVG(原Ewido)Anti-Spyware 更多...
国外杀毒软件     卡巴斯基   诺顿   趋势 安博士 熊猫卫士  小红伞 驱逐舰 麦咖啡McAfee   NOD32   F-Secure   Dr.Web   Avast   更多...
升级补丁   瑞星升级 金山毒霸升级 江民升级 光华升级 卡巴斯基升级 诺顿升级 趋势升级 安博士升级 NOD32升级 Dr.Web升级 Avast升级
流氓软件清理     360安全卫士 瑞星卡卡   金山毒霸系统清理专家 Wopti流氓软件清除大师   恶意软件清理助手   超级兔子网络卫士 更多...
防火墙     天网 费尔 冰盾 更多... 病毒专题     熊猫烧香病毒专题 电眼间谍病毒专题 AV终结者病毒专题 灰鸽子清理     更多...
系统漏洞补丁     windowXP系统漏洞补丁 window2000系统漏洞补丁 window2003系统漏洞补丁 windowVISTA系统漏洞补丁 更多...
 您当前的位置:爱客者 -> 文章中心 -> 安全技术 -> 反木马 -> 文章内容
木马客户端与服务端隐蔽通讯解析
来源:网络 时间:2006-2-19
    现代木马的实现是建立在一种既可靠,又不易被宿主发现的通讯方案上的,本文就是对各种方案的实现方法,可靠性,安全性做了一些理论上的探讨。充分的理解木马的客户端和服务端是怎么进行隐藏的,不但可以帮助您能深刻的理解网络通信的原理,也可以更有效的做好安全防范。基于此我们编发了此文,下面我们进入正题。

    首先应该明确的是受害者的机器上运行的木马程序我们称之为服务端,控制者机器上运行的我们称之为客户端(其实对于现代的木马,已经很难说谁是客户,谁是服务了,不过我们还是继续用这种叫法)。另外虽然windows9x仍然有巨大的用户基础,但是windows9x向windows xp迁徙只是早晚问题,所以这里的讨论主要是针对nt/2000/xp平台的。

1.使用tcp协议,服务端侦听,客户端连接。

    这是最简单,最早,最广泛使用的一种通讯方案。使用过冰河或者被冰河客户端扫过的对此一定不会陌生。这种通讯方案是服务端在宿主机器上开一个tcp端口,然后等待客户端的连接,在通过对客户端的认证后,客户端就可以控制服务端了。由于是建立在tcp协议基础上,所以通讯的可靠性是得到保证的。但是通讯的安全性却很成问题。首先,使用像fport,tcpview pro这样的工具可以很容易的发现在某一端口上侦听的进程,以及进程对应的可执行文件。其次,在安装了防火墙的机器上,当客户端连接到服务端时,很容易引起防火墙报警。

2.使用tcp协议。

    客户端侦听,服务端连接。这就是所谓的反向连接技术了。为了克服服务端在某一端口上侦听易被发现这一缺点,现在服务端不再侦听端口,而是去连接客户端在侦听的某一端口。这样用一般的port scanner或者fport就发现不了服务端了。而为了更好的麻痹宿主机,客户端侦听的端口一般是21,80,23这种任何人都要访问的端口。虽然在安装了防火墙的机器上,服务端去连接客户端还是要引起防火墙报警,但是一个粗心的用户很可能会忽略“应用程序xxxxx试图访问xxx.xxx.xxx.xxx通过端口80”这样的警告。

    这种反向连接技术要解决的一个问题是,服务端如何找到客户端。由于一般客户端都是拨号上网的,没有一个固定的ip,所以客户端ip不可能硬编码在服务端程序中。当然由于拨号上网用户的ip一般都是处于一个固定的ip地址范围内,服务端也可以扫描这个范围,然后根据被扫描主机的反馈来确定是否是自己的客户端,但是服务端扫描一个ip地址范围也太。另一个方法是客户端通过一个有固定ip或者固定域名的第三方发布自己的ip,实现的方法就很多了,比如通过一个公共的邮箱,通过一个个人主页,就看你有多大的想象力。

3.使用udp协议。

    服务端侦听,客户端连接;客户端侦听,服务端连接。方法和安全性与使用tcp协议差不多。需要注意的是udp不是一个可靠的协议,所以,必须在udp协议的基础上设计一个自己的可靠的报文传递协议。

4.解决防火墙问题。

    无论是服务端被动侦听,还是服务端主动连接,在服务端和客户端试图建立连接时都会引起防火墙得报警。毕竟粗心得用户不会很多,所以,解决防火墙报警是服务端必须要解决的一个问题。一种方法是代码注入,服务端将自己注入到一个可以合法的与外界进行网络通讯的进程(比如 ie, icq, oicq, telnted, ftpd, iis等)的地址空间中,然后或者可以以一个新线程的形式运行,或者只是修改宿主进程,截获宿主进程的网络系统调用(winsock)。后者的实现可能要麻烦一些。如果是以新线程的形式运行,那么然后或者可以被动侦听,或者可以主动连接。

    无论哪种情况都不会引起防火墙的报警(当然不是百分之百不会引起防火墙报警)。但要注意的是如果是被动侦听的话,比如寄生在ie内,用fport会发现ie在某一个端口侦听,这有可能会引起细心的用户的警觉。所以比较好得方法是在新线程内去主动连接客户端,而且连的是客户端的80端口;如果是寄生在oicq内,何不连接客户端的8000端口。使用代码注入需要服务端具有若干特权,考虑到一般用户都是以admin身份启动nt的,这应该不是一个问题(如果服务端是作为一个service启动的话,就更没问题了)。

5.服务端主动连接时客户端ip的公布问题。

    使用第三方公布客户端ip不是一种可靠的方法。比如如果是通过一个个人主页发布客户端ip的话,一旦由于种种原因,这个个人主页被主页提供商取消的话,服务端就找不到客户端了。而这种个人主页被主页提供商取消的可能性是很大的。同时客户端也要冒暴露自己的ip的风险。所以更好的方法是客户端通过某种方法主动告诉服务端自己的ip和端口,然后服务端来连接。这样可以保证最大的可靠性,安全性和灵活性。

    服务端怎么收到客户端的通知呢?一种方法是我们截获其他进程收到的tcp数据或者udp包,然后分析截获的数据,从中确定是否客户端发来了一个报告其ip的数据片断。另一种方法是使用raw socket来收听echo reply类型的icmp包,在icmp数据包的数据去就包含了客户端ip。而对于普通用户来说,由于要上网浏览,这样的icmp包是很少过滤掉的。

6.用icmp来通讯。

    既然客户端可以通过发一个icmp(echo reply)来告诉服务端它的ip,那为什么不把所有服务端和客户端的通讯都建立在icmp的基础上呢?服务端向客户端发icmp(echo request),客户端向服务端发icmp(echo reply),然后可以在icmp基础上建立一个自己的可靠数据报通讯协议。如果不怕烦的话,还可以建立一个tcp over icmp。由于一般的用户这两类icmp包都是设为无警告放行的,这种方法的隐秘性还是很强的。

7. 用自定义的协议来通讯。

    我们知道ip头的协议字段指定了这个ip包承载得数据的协议,比如tcp,udp,icmp等等。我们完全可以把这个字段设为我们自己定义的值(>80),定义自己的通讯协议。不过估计这种ip包将会被所有的防火墙过滤掉。

   

8.关于服务器上的木马的通讯隐藏。

    前面所说都是针对个人用户(大部分都是拨号用户,包括modem、isdn、adsl、fttx+la、cable modem)。对这类机器来说,一般都没有开什么服务,而且一般都使用了个人防火墙,同时icmp echo reply/request都是放行的,所有才有我们上述的各种方案。而对于服务器来说,至少要开http服务,同时,又一般位于专门的防火墙之后。这个专门的防火墙很可能过滤掉除类型为tcp,且目的端口为80的ip包之外的所有的ip包,更不要说各类icmp包了。向下的方案通不过,我们可以试试向上的方案。一种方法就是注射到iis服务的进程空间中,然后在iis接受到木马客户端的请求前来个预处理,在iis将数据发给木马客户端时来个后处理,不过我不知道怎么实现,不知哪为高手知道。

    另一种方法就是写一个isapi ap,这样,木马客户端发个 "http://xxx.xxx.xxx.xxx/backdoor.dll?cmd=dir+c:\"请求来发命令了。当然,一切信息都是加密得。rpc除了rpc over smb,rpc over tcp等等外,还有一个rpc over http,事实上qq的http代理就是他自己定义的一个rpc over http,至少qq自己是这么叫的。现在,我们也来了个rpc over http。

    通讯隐藏技术只是木马隐藏诸技术中得一部分,但也是最重要的一部分。因为他不但要保护木马,还要保护木马得控制者,所以不管是木马编写者,还是防火墙编写者,都应该对这一部分给于足够的重视。

相关新闻
快刀斩断死神木马的第三只手2007/5/7
禁止其他程序暗中发送邮件2007/4/29
快速关闭端口防止病毒与黑客入侵2007/4/8
腾讯QQ密码防盗十大建议2007/3/29
[泡泡堂]帐号被盗的十个原因2007/3/23
 
    其它相关新闻
·学习从系统中删除病毒
·吃透木马运行原理把它扼杀
·McAfee杀毒软件高级设置技巧五招
·隐藏文件看不到?中毒了!
·360安全卫士推出集三重防护理念
·使用杀毒软件应该注意什么
·CA发布声明:我的杀毒软件漏洞很大
    最新新闻
·磁碟机病毒的十大罪行
·病毒预警:光华反病毒资讯(7月16日-7月22日)
·病毒预警:光华反病毒资讯(7月9日-7月15日)
·用Regsvr32命令解决系统疑难杂症
·Windows的DLL文件原理与修改方法
·如何隐藏硬盘分区
·攻防全面分析 常用九种攻击方法
·卡巴再次误报 将注册表判为木马
·英特尔酷睿2存在安全缺陷
    相关软件下载
·AVG(原Ewido)Anti-Spyware最新完整病毒库更新(2008.06.02)-Anti-Spyware升级包
·AVG(原Ewido)Anti-Spyware每日增量病毒库更新(2008.06.02)-Anti-Spyware升级包
·Windows木马清道夫2008 V11.01.875
·木马克星通用最新病毒库(2008.01.21)
·木马克星2008最新病毒库(2008.01.21)
·木马克星(iparmor) V2008.0101
·木马杀客最新离线升级包v6.0(18.18.35)-本升级包与木马杀客官方合作<最新离线升级包第一更新点>
·木马杀客 2007 Final(18.18.34) 绿色版
·Windows 木马清道夫 2006 V9.8_绿色注册可升级版
·更多相关杀毒软件
  [本站导航]  
瑞星  瑞星杀毒软件瑞星升级包 瑞星杀毒瑞星2007 瑞星在线杀毒瑞星杀毒软件下载瑞星升级
卡巴斯基  卡巴斯基下载卡巴斯基6.0卡巴斯基杀毒软件卡巴斯基7.0卡巴斯基病毒库卡巴斯基升级包
江民  江民杀毒软件江民杀毒江民2007江民杀毒软件下载江民升级包江民升级江民离线升级包
金山毒霸  金山毒霸2007下载金山毒霸下载金山毒霸2007升级包金山毒霸升级金山毒霸杀毒软件
诺顿  诺顿杀毒软件诺顿杀毒诺顿病毒库诺顿企业版诺顿升级包诺顿升级诺顿下载
小红伞AntiVir  德国小红伞小红伞下载小红伞中文小红伞杀毒软件小红伞汉化Avira AntiVir
麦咖啡McAfee  麦咖啡杀毒软件麦咖啡升级包麦咖啡8.0麦咖啡企业版麦咖啡8.5mcafee virusscan
NOD32  nod32升级nod32升级服务器nod32下载nod32 2.7nod32升级idnod32更新nod32升级包
F-Secure  F-secure杀毒软件f-secure anti-virusF-secure汉化版F-secure注册机F-secure2007
Dr.Web  dr.web keydr.web cureitdr.web注册码dr.web汉化dr.web病毒库大蜘蛛大蜘蛛杀毒软件
Avast  avast注册码 序列号avast antivirusavast杀毒软件avast中文版avast 升级avast升级包
木马专杀  木马杀客木马克星AVG Ewido Anti-SpywareAVG Ewido Anti-Spyware升级包 更新
防火墙  瑞星防火墙天网防火墙arp防火墙瑞星个人防火墙江民防火墙防火墙下载风云防火墙
流氓软件清理  瑞星卡卡360安全卫士Wopti流氓软件清除大师奇虎360安全卫士360安全卫士绿色版
推荐软件  Firefox火狐浏览器浏览器Picasa照片处理软件非主流图片制作软件非主流照片制作
关于本站 - 广告合作 - 联系我们 - 下载声明 - 网站地图 - RSS2.0 - 合作伙伴:爱客宝
Copyright©1998 - 2007 爱客者 All Rights Reserved

粤ICP备07006801号