代理服务器为大家解决了很多问题,比如阻挡黑客攻击和局域网共享上网等。本文我们要讨论一个出在代理服务器上的漏洞,希望各位网管能够给予一定的关注。为了揭示这个隐藏的“阴谋”,让我们清楚知道自己的代理服务器是否存在这一漏洞,下面将模拟黑客对这个漏洞的攻击行为,以便大家采取相应的安全措施。


一、代理软件漏洞


  CCProxy因其设置简单和使用方便等特点,成为国内最受欢迎的代理服务器软件。它不但支持常见的HTTP和SOCKS代理,而且还支持FTP和Telnet这类不常用的代理。它还可以控制用户代理上网的权限,设置访问代理服务器的用户名和密码,功能非常强大。


  这款优秀的代理软件最近爆出一个溢出漏洞,攻击者可以通过该漏洞直接获得代理服务器的控制权。该漏洞涉及的CCProxy版本为目前非常普及的6.0版,以及这之前的所有版本。


软件资料
软件名称:CCProxy
软件版本:6.0
授权方式:共享软件
软件大小:820KB
下载地址:http://www2.skycn.com/soft/1058.html


二、探测CCProxy代理服务


  要利用上述漏洞控制代理服务器,当然得先确定目标代理服务器是否安装的是CCProxy (图1)。

图1CCProxy支持多种协议代理

 因为所有代理服务器软件的SOCKS代理服务端口默认都是“1080”,所以我们可以通过它来查找代理服务器,进而确认服务器是否安装CCProxy。经过测试,发现如下探测方法比较实用可靠。


1.扫描


  利用端口扫描器Superscan扫描指定网段中是否有开放了“1080”端口的主机。打开Superscan,先在“all ports from”一栏中设置扫描的端口范围为“1080~1080”,再在目标IP范围内填写需要扫描的IP地址段。单击“Start”按钮进行扫描,很快就会发现扫描的IP地址段中所有开放了“1080”端口的主机(图2)。下面挑选一台主机来确认一下它是否安装了CCProxy的代理服务器。

图2开放指定端口的主机都以绿色小钩标记


2.探测


  CCProxy在默认安装情况下,会将“23”作为Telnet服务的代理端口,“2121”做为FTP服务的代理端口。我们只需要在这些端口上进行信息探测,就可以发现目标主机是不是CCProxy代理服务器。


  打开CMD命令行窗口,用Telnet连接目标主机,其命令格式为:
  Telnet 目标IP 端口(如“Telnet 127.0.0.1 23”)


  如果目标代理服务器是处于CCProxy的免密码状态(即未曾设置代理用户名和密码),那么就会出现Banner信息“CCProxy telnet server ready”;如果目标代理服务器是处于CCProxy的密码状态(即设置过代理用户名和密码),那么就会提示输入用户名(随便输入几个字符后会出现错误提示“User Invalid”)。这些信息都是CCProxy代理软件特有的提示信息,这样就可以很容易地确定目标代理服务器是否安装了CCProxy(图3)。

图3CCProxy的两种运行模式

三、攻击CCProxy代理服务


  利用上述方法确认目标为安装了CCProxy的代理服务器,那么下面就开始利用CCProxy的溢出攻击工具进行溢出。从网上下载回来的CCProxy的溢出攻击工具叫“ccpx.exe”。在CMD命令行中打开它,可以看到帮助命令:
  Usage: ccproxyexp.exe [target_port]


  这其中“target_ip”是指目标主机的IP地址,“target_port”是CCProxy的主端口,默认情况下是“808”。
根据参数输入攻击命令后提示:
  本主机IP是否与目标主机IP在同一个网段?[y/n]y
  [+] connecting to 127.0.0.1:808
  [+] send magic buffer...
  [+] connecting to CMD shell port...
  Microsoft Windows 2000 [Version 5.00.2195]
  (C) 版权所有 1985-2000 Microsoft Corp.
  C:\winnt\system32
  现在溢出成功,获得此代理服务器的控制权(图4)。

图4溢出成功拿到服务器控制权