发新话题
打印

深信服上网行为管理系统权限绕过

深信服上网行为管理系统权限绕过

漏洞概要
缺陷编号:        WooYun-2012-11367
漏洞标题:        深信服上网行为管理系统权限绕过
相关厂商:        深信服
漏洞作者:        an1k3r
提交时间:        2012-08-26 14:04
公开时间:        2012-10-10 14:05
漏洞类型:        网络设计缺陷/逻辑错误
危害等级:        中
自评Rank:        10
漏洞状态:        厂商已经确认
漏洞来源:        http://www.wooyun.org
Tags标签:      webserver服务配置不当 目录遍历 应用敏感信息泄漏 渗透测试思路 运维管理不当 内部敏感信息泄漏 深信服 管理员密码泄漏

漏洞详情披露状态:
2012-08-26:        细节已通知厂商并且等待厂商处理中
2012-08-26:        厂商已经确认,细节仅向厂商公开
2012-09-05:        细节向核心白帽子及相关领域专家公开
2012-09-15:        细节向普通白帽子公开
2012-09-25:        细节向实习白帽子公开
2012-10-10:        细节向公众公开

简要描述:深信服上网行为管理系统及广域网优化网关权限绕过,另外还包括VPN的一个漏洞。
详细说明:本来在找常见的web漏洞,但是呢,无意间去看了一下apahce的配置文件。

code 区域#    Alias /manual/ "/virus/apache/apache/htdocs/manual/"
#    <Directory "/virus/apache/apache/htdocs/manual">
#        Options Indexes FollowSymlinks -MultiViews -Indexes
#        AllowOverride None
#        Order allow,deny
#        Allow from all
#    </Directory>
    Alias /file/ "/"


看到这里汗了一下~ 最后一行的意思是把系统根目录设置为file别名。 0.0 刚开始不太相信,以为是前面哪位大牛留的后门,但后来经过分析文件修改时间及其它版本的几个设备,推测应该不是。

然后呢,就是这样了。能直接访问shadow,说明是root权限。





但现在只是拿到了系统的shadow文件,只能暴力破解。所以我们需要先找到后台维护的密码。

路径为:http://58.251.x.x:85/file/etc/updatemepasswd







用后台维护软件连上去之后,用OD添加新的用户就可以了。

命令是:

code 区域useradd -u 0 -o -g root -G root -d /tmp root4 -p "cryptpass"



这样就添加了一个root4的账户,-p参数后的字符串必须是加密后的,这样写入shadow文件里后才能登录系统。







WEB前台的密码是保存在ctrluser.ini文件里的,貌似用了sha1加密(具体不清楚,加密菜鸟一枚)。不过我们既然拿到root权限了,就直接将之替换为已知明文的密文即可。







保存配置文件后,可以成功登录系统。







目前测试有漏洞的上网行为管理系统的版本为


code 区域AC2.0 http://125.33.*.*:85
AC2.1 http://115.238.*.*:85
AC3.5 http://60.2.*.*:85
部分的AC4.01 http://58.251.*.*:85

以及广域网优化产品的


code 区域WANACC 6.0SP3 http://222.143.*.*:85
WANACC 7.0SP1 http://58.251.*.*:85


好了,接下来是VPN的简单绕过,不过有版本和其它一些限制。问题出在备份机制和BOA(类似于Apache的服务)的配置文件上。

先说VPN的备份机制。在WEB管理界面里点击备份配置后,系统会将一些配置文件和带有用户信息的数据库加密并导出为一个bcf文件,类似于sangfor_all_20120825.bcf这样的格式。

密码是不知道的,到这里应该没什么问题。但是呢,备份后系统会在stmp目录下保存一份没有经过加密的文件。

我们再来看下BOA的配置文件是怎么写的。


code 区域# Aliases: Aliases one path to another.
# Example: Alias /path1/bar /path2/foo

#Alias /doc /usr/doc
Alias /stmp /stmp

# ScriptAlias: Maps a virtual path to a directory for serving scripts
# Example: ScriptAlias /htbin/ /www/htbin/



看到这里大家应该都知道了吧,是的,还是别名的问题,系统把stmp目录放在web目录下了。这样只要做过备份的系统,我们都可以就可以直接下载备份文件,不需要验证。







将下载下来的cfgbk文件解压即可。

解压后的db目录里有数据库的备份文件,数据库使用sqlite,里面保存了用户名,密码等信息。







这样对只使用密码验证一种方式的用户来说,就可以直接连VPN了。







所以呢,绕过权限需要满足的条件有

1. 做过系统备份

2. 目前测试有漏洞的版本为


code 区域VPN 4.12
VPN 4.21
VPN 4.30

其实还有其它的系统如SC4.2、WANACC 7.0 SP1都有该漏洞,建议厂商自查一下。


漏洞证明:在详细说明里了。

另外,俺觉得把一些东西放在系统出厂之前做,比在实施环节要好。毕竟从研发层面把控也就是从源头把控,实施环节有太多不确定的因素,如客户或渠道因素等。

这就比如一个网站有SQL注入漏洞,想的不是如果去修补这个漏洞,而是防火墙,WAF,IPS一股脑的往上堆,最后可能还是会被攻击。

好了,俺只是在这里瞎掰,不用听俺的哈~ >.<

修复方案:修改Apache,BOA配置文件及备份机制。

另外,请提醒文中提到几个公司,其中几个有弱口令。

版权声明:转载请注明来源 an1k3r@乌云
漏洞回应
厂商回应:危害等级:中
漏洞Rank:13
确认时间:2012-08-26 14:05
厂商回复:
最新状态:2012-08-31:感谢您的意见,我们确认后的情况如下:以上漏洞为已知漏洞,针对以上问题深信服已经发放过补丁包、自动升级包进行修正。出现以上情况应该是没有打上相应的补丁包或者没有自动升级导致的,建议用户尽快更新到最新版本。

原文:http://www.wooyun.org/bugs/wooyun-2012-011367

[ 本帖最后由 linda 于 2016-2-3 18:47 编辑 ]

TOP

发新话题