词条信息

admin
admin
超级管理员
词条创建者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> 安全防护    电脑木马   

木马客户端与服务端隐蔽通讯

标签: 木马

顶[0] 发表评论(0) 编辑词条

    现代木马的实现是建立在一种既可靠,又不易被宿主发现的通讯方案上的,本文就是对各种方案的实现方法,可靠性,安全性做了一些理论上的探讨。充分的理解木马的客户端和服务端是怎么进行隐藏的,不但可以帮助您能深刻的理解网络通信的原理,也可以更有效的做好安全防范。基于此我们编发了此文,下面我们进入正题。

  首先应该明确的是受害者的机器上运行的木马程序我们称之为服务端,控制者机器上运行的我们称之为客户端(其实对于现代的木马,已经很难说谁是客户,谁是服务了,不过我们还是继续用这种叫法)。另外虽然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启动的话,就更没问题了)。

 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇什么是独立显卡?
下一篇电脑病毒有哪几种类型

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>