危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20612646

浅议端口复用技术

大家好,我是危险漫步。大家都知道,电脑要和外接网络进行连接,必须通过特定的端口才行。在传统印象中,通过一个端口只能开辟一条网络连接。但是,实际情况却不仅如此,使用端口复用技术,就可以通过一个端口开辟多条连接通道。端口复用是指允许多个程序在共用一个端口,当客户端向该端口发送连接请求时,服务器端后对该请求作出判断,然后把网络数据发送给相应的程序。当然,在电脑中存在6万多个可以利用的端口,端口复用技术似乎用处不大,但实际上在某些场合,端口复用技术还是有着重要的用途。例如在局域网中,通常利用防火墙和外网分隔,但是防火墙不可能关闭所有网络端口,只要在防火墙上开启了特定的端口,就可以利用端口复用技术轻松穿越防火墙的“束缚”。另外,现在一些后门程序也都采用了这以技术,打造隐蔽入侵的目的,因为我们很有必要了解端口复用技术,达到知己知彼的目的。这里我们就以WxhShell为例,从实战的角度了解端口复用技术。

WxhShell是一个小巧的远程控制程序,可以轻松实现端口复用。当然,该程序对于采用独占方式的端口无法实现绑定操作(例如Windows XP中的135、445等端口),对于其它端口基本上都可以实现多重绑定。在服务器上的CMD窗口执行"wxhshell.exe”,之后程序没有任何回显信息,但是WxhShell已经在系统中运行了。在Wndows的任务管理器中可以看到其“身影”,当然您可以直接在其中关掉该进程,WxhShell默认开启的网络端口号是5000。在客户端我们使用监听工具“nc.exe”与之建立连接。例如在客户端的CMD窗口中执行命令"nc 61.54.56.120 5000”,就可以和服务器建立连接,这里的“61.54.56.120”为服务器的IP。在弹出的“Please Input Your Password”栏中输入密码(默认为“xuhuanlingzhe”),之后弹出“#>”命令提示符,表示已经和服务器建立了网络连接。在其中输入“?”,可以列出WxhShell所有命令参数。其中的“i”命令表示在服务器上安装远程控制程序,在Windows 2003/XP来说,会在系统中创建系统服务项目,达到自动启动的目的。“r”命令表示在服务器上卸载远程控制模块,“p”命令显示远程模块所在的路径,"b”命夸表示重新启动服务器,“d”命令表示关闭服务器,“s”命令表示获得服务器上的一个Shell环境,“x”命令表示退出连接,“q”命令也表示退出远程连接,同时中止服务-器上WxhShell的运行。在这里我们直接输入“i”命令,在服务器上安装远程控制模块。接着输入“s”命令,获得一个远程Shell环境,在其中我们可以远程执行各种命令了。当远程连接建立完成后,WxhShell允许同时最大连接数为100。

说明了wxhshell.的使用方法,之后我们分析如何利用WxhShell实现端口复用。其实操作的方法很简单,在服务器上执行“wxhshell.exe”命令时,需要使用““wxhshell+需要复用的端口号”的方式,例如在服务器上启动了IIS服务,该服务使用到了80端口,如果需要在服务器上复用80端口,则在CMD执行命令“wxhshell 80”即可。然后就可以按照上述方法,在客户端和服务器端建立连接了,例如在客户端的CMD窗口中输入“nc 61.54.56.120”,就可以和服务器上的80端口建立网络连接,进而执行安装远程控制模块,创建Shell环境等操作了。当然,当使用WxhShell通过服务器上的80端口远程遥控服务器时,对服务器上运行的IIS服务毫无影响,这样,我们的遥控操作就可以轻松穿越防火墙的阻隔了,因为防火墙在一般情况下,是不会关闭80等常用端口的。这样就实现了IIS和WxhShell共同绑定80端口的操作,此时在CMD窗口中执行命令“netstat-an”,查看系统当前的端口占用情况,就会发现80端口的确被同时占用。值得说明的是,当与复用的端口正常绑定的程序突然退出病重启时,会出现系统出错的情况。例如本例中,当IIS服务突然退出并重启时,就会出现“地址已经使用”的提示,造成IIS无法使用的情况。这就是端口复用技术的薄弱之处,此时必须退出并终止WxhShell,才可以正常启动IIS等常用的程序。

相关推荐