代理软件漏洞

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

  一、代理软件漏洞

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

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

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

  二、探测CCProxy代理服务器

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

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

  1.扫描

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

 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。

  三、攻击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
  现在溢出成功,获得此代理服务器的控制权

 四、破解代理用户密码

  虽然已成功利用溢出进入代理服务器,但是我们还需获得CCProxy代理服务器的代理用户名和密码。

  CCProxy将用户名和密码保存在安装目录的“AccInfo.ini”文件中。我们在溢出命令行中转到CCProxy的安装目录输入命令“type AccInfo.ini”就可以看到该文件的格式如下:
  [System]
  UserCount=1
  AuthModel=1
  AuthType=2
  TimeScheduleCount=0
  WebFilterCount=0
  [User001]
  UserName=satelli
  Password=943948951950951951951
  MACAddress=
  IPAddressLow=0.0.0.0
  IPAddressHigh=0.0.0.0
  ServiceMask=254
  MaxConn=-1
  BandWidth=-1
  WebFilter=-1
  TimeSchedule=-1
  EnableUserPassword=1
  EnableIPAddress=0
  EnableMACAddress=0

  这其中的“UserName= satelli”字段是指代理用户名为“satelli”,而“Password=943948951950951951951”字段是指代理用户名的密码(呈加密状态)。我们怎样才能获得原文密码呢?请继续往下看。

  先将刚才查看的密码文件内容复制下来保存为AccInfo.ini,然后在本机中安装一个CCProxy,不需要做任何设置,最后将AccInfo.ini复制到其安装目录中。这样打开本地的CCProxy,进入“账号”面板会发现未经过设置的验证方式已经变为“用户/密码”模式,而下面的状态栏中显示用户为“satelli”。查看一下这个账号的状态,会发现密码以“*”号显示。通过“星号查看器”将密码还原即得到此代理用户的明文密码为“820100”。

  得到了账号和密码,下面来测试下是否能正常使用。这里以QQ代理设置为例,进入QQ参数设置的“代理设置”面板中,选择“SOCKS 5代理服务器”。先在“服务器”一栏输入目标代理服务器的IP地址,再在用户名和密码处填写刚才得到的账号和密码,然后单击“测试”,很快显示信息“代理服务器工作正常”,说明成功获得代理权(图6)。

  利用这个漏洞,攻击者可以为自己找到大量的免费代理服务器。身为网管的你如果不重视它,自己的服务器就难免成为别人的跳板,甚至可能失去对服务器的控制权。

  编后语:其实避免这类攻击的办法除了升级CCProxy的版本以外,还可以将里面所有的默认端口修改为不常见的端口。这样就避开了这类大规模的扫描查找行为,从而在一定程度上避免服务器遭受攻击!

转载于:https://www.cnblogs.com/hzuIT/articles/477040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值