这是一篇有关的文章,我也看不懂
原文地址:
http://www.greenstuffsoft.com/nethief/13-1.htm
http://www.greenstuffsoft.com/nethief/13-2.htm
图解:新型木马“网络神偷”介绍(二) - 独特的“反弹端口”原理
作者:木马之王
只有了解了它的工作原理,我们才能说是真正了解它,首先让我们看一看它独特的“反弹端口”原理是如何工作的。
1.概论
此类软件被统称为远程控制类软件(或黑客软件、木马软件),它们均为 C/S 结构(Client/Server,客户机/服务器)。软件分为客户端与服务端两部分,客户端即为控制端(由控制者使用),服务端为被控制端(由被控制者使用),依据服务端运行时是否会显示明显的运行标志(即对方是否知道它运行有服务端),可分为正邪两派,邪派就是传说中的黑客软件、特洛伊木马程序,是各大杀毒软件的首要目标,网络神偷当然是邪派的。
2.其它同类软件原理
服务端运行后,会在本机打开一个网络端口监听客户端的连接(时刻等待着客户端的连接),连接建立后,客户端可用这个通道向服务端发送命令并接收返回数据,即可实现远程入侵。
3.“网络神偷”软件原理
图2:入侵被防火墙拦截
如果对方装有防火墙,客户端发往服务端的连接首先会被服务端主机上的防火墙拦截,使服务端程序不能收到连接,软件不能正常工作(图2)。同样,局域网内通过代理上网的电脑,因为是多台共用代理服务器的IP地址,而本机没有独立的互联网的IP地址(只有局域网的IP地址),所以也不能正常使用。就是说传统型的同类软件不能入侵装有防火墙和在局域网内部的服务端主机。
图3:防火墙拦截不住“反弹端口”型木马网络神偷
但往往是道高一尺、魔高一丈,不知哪位高人分析了防火墙的特性后发现:防火墙对于连入的连接往往会进行非常严格的过滤,但是对于连出的连接却疏于防范。于是,与一般的软件相反,反弹端口型软件的服务端(被控制端)主动连接客户端(控制端)(图3),为了隐蔽起见,客户端的监听端口一般开在80(提供HTTP服务的端口),这样,即使用户使用端口扫描软件检查自己的端口,发现的也是类似 TCP UserIP:1026 ControllerIP:80 ESTABLISHED 的情况,稍微疏忽一点你就会以为是自己在浏览网页(防火墙也会这么认为的)。看到这里,有人会问:既然不能直接与服务端通信,那如何告诉服务端何时开始连接自己呢?答案是:通过主页空间上的文件实现的,当客户端想与服务端建立连接时,它首先登录到FTP服务器,写主页空间上面的一个文件,并打开端口监听,等待服务端的连接,服务端定期用HTTP协议读取这个文件的内容,当发现是客户端让自己开始连接时,就主动连接,如此就可完成连接工作。
网络神偷用的就是这种“反弹端口”原理,可以穿过防火墙,甚至还能入侵局域网内部的电脑。据本人所知,在同类软件中,网络神偷是唯一使用这种方法的!
4.网络神偷的服务端上线通知原理
互联网如此之大,覆盖全球,我们如何标识并找到上面的任何一台电脑呢?答案是:IP地址,每台连网电脑都会被分配一个IP地址,这个IP地址是全球唯一的,就象你家的门牌号码,别人可以根据这个找到你。同样,IP地址分配是有规律的,可以根据IP地址分配表查出相应的地理位置(网络神偷内置IP地址分配表)。
现在大多数互联网用户是拨号上网的,拨号上网的IP地址是由ISP(互联网接入服务提供商,例如163、169)动态分配的。两台电脑想要连接就必须要知道对方的IP地址,就象想去你家串门就必须知道你的住址。因此,服务端如何把自己的IP地址告诉客户端就成了一个大问题,也就是服务端上线通知。
现在最常用的方法是Email通知,例如:冰河、Netspy、聪明基因、广外女生、网络公牛、Protoss、Way(无 赖 小 子)等木马用的都是这种方法,即服务端上网后,发送自己的IP地址到事先指定的邮箱,客户端使用者只要去收信就行了。这种方面虽然最常用,但有很大不足,首先Email的实时性得不到保证,时慢时快,这与发信服务器的线路质量有很大关系。其次,现在越来越多的发信服务器设了“发信认证”功能,发信也要邮箱的密码(原来只有收信才要),这就给服务端发信增加了困难,服务端不带密码无法发送,带密码则有可能被别人破出来。
图4:网络神偷先进的“服务端上线通知功能”
网络神偷用的是另一种更先进的方法:UDP通知,客户端上网后,会将自己的IP地址写到主页空间的指定文件里,服务端定期读取这个文件的内容,就可得到客户端的IP地址,并将自己的一些其它信息(主机名、IP地址、上线时间等等)用UDP协议发送给客户端。客户端接收后,将数据解释并显示在“服务端在线列表”里,服务端情况一目了然(图4)。可能有人会担心:主页空间上的文件谁都可以访问(就象浏览网页),自己的IP地址会不会让别人看到?这个问题作者当然已经想到,所有可能被别人看到的数据(包括主页空间上的)都已经加密了,就算别人拿到了也没用。而且数据加密密码是由用户自行设置的,就连软件作者也无法破解。