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