蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

admin 2017年4月8日02:50:22评论405 views字数 270阅读0分54秒阅读模式
摘要

2016-03-29: 积极联系厂商并且等待厂商认领中,细节不对外公开
2016-05-13: 厂商已经主动忽略漏洞,细节向公众公开

漏洞概要 关注数(44) 关注此漏洞

缺陷编号: WooYun-2016-190292

漏洞标题: 蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

相关厂商: 蓝犀牛

漏洞作者: 路人甲

提交时间: 2016-03-29 10:32

公开时间: 2016-05-13 10:40

漏洞类型: 系统/服务运维配置不当

危害等级: 高

自评Rank: 20

漏洞状态: 未联系到厂商或者厂商积极忽略

漏洞来源:www.wooyun.org ,如有疑问或需要帮助请联系

Tags标签: 安全意识不足 默认配置不当 webserver服务配置不当 安全意识不足

16人收藏


漏洞详情

披露状态:

2016-03-29: 积极联系厂商并且等待厂商认领中,细节不对外公开
2016-05-13: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

用心写漏洞详情~
拿到主站shell + 测试站shell + 线上数据库~
顺便欢迎新厂商~

详细说明:

公司地址:

code 区域
http://lanxiniu.com/

公司简介:

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

漏洞描述:

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

漏洞证明:

漏洞发现过程

信息收集

利用theHarvester 或 lijiejie的 subDomainsBrute收集域名和IP信息

命令

code 区域
python subDomainsBrute.py lanxiniu.com
python theHarvester.py -d lanxiniu.com -b all

结果汇总

code 区域
- test.lanxiniu.com             115.29.34.206
- img02.lanxiniu.com 123.57.91.42
- pop.lanxiniu.com 211.150.82.7, 211.150.82.8
- imap.lanxiniu.com 211.150.84.8
- smtp.lanxiniu.com 211.150.65.49, 211.150.65.22, 211.150.65.81
- dr.lanxiniu.com 123.57.91.42
- bms.lanxiniu.com 123.57.44.131
- www.lanxiniu.com 112.126.74.238

这里注意到有一个test的测试站点,可能会有突破口

code 区域
test.lanxiniu.com

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

对对应的ip 115.29.34.206 进行端口扫描

code 区域
nmap -p 1-65535 -T4 -A -v 112.126.74.238

发现运行了很多服务,比如ssh、mysql、redis、svn server和百来个nginx web服务器,这里列出一些重要的

code 区域
PORT      STATE SERVICE   VERSION
22/tcp open ssh OpenSSH 5.3 (protocol 2.0)
3306/tcp open mysql MySQL 5.1.66-log
3690/tcp open svnserve Subversion
6379/tcp open redis Redis key-value store
7084/tcp open http nginx 1.2.9
8094/tcp open http nginx 1.2.9
...
20052/tcp open http nginx 1.2.9
...

看到redis 和 ssh服务器,首先想到redis写public key到/root/.ssh/authorized_keys,然后用private key登录

下一个redis desktop manager或 安装redis 用cli连接,执行

code 区域
test.lanxixiu.com:0>config set dir /root/.ssh/
ERR Changing directory: Permission denied

发现redis并不是以root用户运行的,pass掉

因为服务器上还运行着很多web服务,我们试试看能不能redis写个shell,但是得需要知道web目录

接着试了几个,发现访问下面这个地址直接报错

code 区域
http://115.29.34.206:7084/

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

得到web目录地址

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

0

redis写shell,因为是测试环境,所以执行了flushall,sorry~

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

1

访问

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

2

写入成功

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

当前用户:

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

3

因为运行了ssh,查看下能不能远程登录

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

4

发现可以,写一个public key到 /alidata1/search/.ssh/authorized_keys 里,key如下

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

5

成功远程登录~

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

6

查看下.bashhistory,里面有svn帐号密码

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

7

因为前面发现外网开了svn server,下个TortoiseSVN,尝试连接

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

8

报了个

code 区域
北京蓝犀牛信息技术有限公司是一家提供同城直送服务的互联网公司,用技术手段为客户提供便捷的运输体验,
客户可以在线下单立即用车,城区2个小时内送达;
同时我们有严格的司机审核标准及培训认证机制使得整个服务得到保证;按照公里数计费模式让价格更实惠并可提前预知费用。
蓝犀牛的团队主要由阿里巴巴、百度、中国移动、亚马逊等资深员工组成,在这里大家都喜欢高效,自动性强,创新的互联网文化,
在这里大家拒绝平庸,人人平等,并享受工作带来的乐趣。

9

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

搜了下是svn server配置的问题,导致无法访问

再看了下bash_history,找到一个可以访问的路径

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

0

源码到手了

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

接着在nginx部署的web项目下翻了翻,在 /alidata1/search/nginx/html/fangjingchao/tools/bi_count.py 找到了线上数据库帐号密码

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

1

但是是在内网,试了下能ping通,命令行连接试试

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

2

成功连上

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

因为测试服务器开了ssh服务,外网可以通过ssh通道直接连接线上数据库。

176张表,user用户量72w+,剩下就不贴了

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

3

这里我们成功使用redis,在测试服务器中写入了webshell,那么试一试能不能用同一个方法拿下主站?

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

4

公网telnet 112.126.74.238 6379,发现未开放redis服务

但因测试环境有redis服务,这里猜测应该是端口没有对外网开放。

想过去,测试环境和线上环境应该在同一个内网网段或者能互相访问

测试服务器上执行 telnet 112.126.74.238 6379

duang~

连上了

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

5

那么现在就差一个web目录了

在找到线上数据库密码的地方又翻了翻,在文件

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

6

找到主站个地址

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

7

直接访问

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

8

报错了

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

找到路径

code 区域
1. 公网测试服务器配置不当,同时运行redis和大量web服务,且redis未授权访问,web服务页面报错泄露web目录,利用redis可写webshell。
2. web服务运行用户可远程ssh登录,拿完webshell后,写入public key,可直接远程登录服务器。
3. 测试服务器上运行svn server,可获取源码,代码中包含线上数据库帐号密码,可通过测试服务器ssh通道,直接连接线上数据库
4. 可通过测试服务器连接线上服务器redis服务(内网),从svn代码 或 www站 phpinfo 可获取web目录,写入webshell
等等

9

不过主站也有phpinfo

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

好了,再来一遍~,因为是线上数据,所以这次不flushall,但是文件会很大

code 区域
python subDomainsBrute.py lanxiniu.com
python theHarvester.py -d lanxiniu.com -b all

0

访问 http://lanxiniu.com/wooyuntest.php

蓝犀牛配置不当导致getshell可获取源码与用户/司机/订单信息(组合漏洞利用案例)

连上后,重新建了一个文件,不然访问太慢

code 区域
python subDomainsBrute.py lanxiniu.com
python theHarvester.py -d lanxiniu.com -b all

1

OK,到这里,主站、线上数据库和测试站都已经搞定了,剩下的就不继续~收工

修复方案:

1. redis禁止外网访问

2. 测试环境最好别放外面

3. 要不来一发乌云众测?

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:20 (WooYun评价)


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):

登陆后才能进行评分


评价

  1. 2016-04-28 11:21 | ddy ( 实习白帽子 | Rank:45 漏洞数:17 | 其实第一次要我挖洞我是拒绝的。因为,你不...)

    0

    这个漏洞的洞主很贴心地在漏洞说明中先对漏洞来了个整体说明,让审核还没开始往下审就先对漏洞有了个大概了解。在之后的漏洞证明中洋洋洒洒地写了老长,从漏洞的发现到每一步的思路都清晰地描述了一遍,这样的分享精神着实应该称赞一下。另外,组合漏洞有时会让一个小洞变得更有意思喔。

  2. 2016-04-28 11:22 | ddy ( 实习白帽子 | Rank:45 漏洞数:17 | 其实第一次要我挖洞我是拒绝的。因为,你不...)

    0

    +.+好想看http://zone.wooyun.org/content/26834

  3. 2016-04-28 12:00 | sysALong ( 普通白帽子 | Rank:464 漏洞数:100 | 在我们黑龙江这噶哒,就没有什么事是【撸串...)

    0

    @ddy 拖拖的问句你咋知道?

  4. 2016-04-28 13:59 | ddy ( 实习白帽子 | Rank:45 漏洞数:17 | 其实第一次要我挖洞我是拒绝的。因为,你不...)

    0

    @sysALong 你猜,猜到我就告诉你

  5. 2016-04-28 14:01 | sysALong ( 普通白帽子 | Rank:464 漏洞数:100 | 在我们黑龙江这噶哒,就没有什么事是【撸串...)

    0

    @ddy http://zone.wooyun.org/content/26834 知道呐。。。。

  6. 2016-04-29 15:04 | 北京加双筷子科技有限公司(乌云厂商)

    0

    request.php cc

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin