当前位置:WooYun >> 漏洞信息

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

缺陷编号:wooyun-2015-0121016

漏洞标题:记一次成功的漫游人人网内部网络至主站沦陷(人人/56网用户告急)

相关厂商:人人网

漏洞作者: 蓝冰

提交时间:2015-06-17 08:29

修复时间:2015-08-01 09:50

公开时间:2015-08-01 09:50

漏洞类型:成功的入侵事件

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-17: 细节已通知厂商并且等待厂商处理中
2015-06-17: 厂商已经确认,细节仅向厂商公开
2015-06-27: 细节向核心白帽子及相关领域专家公开
2015-07-07: 细节向普通白帽子公开
2015-07-17: 细节向实习白帽子公开
2015-08-01: 细节向公众公开

简要描述:

总结这次渗透测试就是 信息收集和撞库
审核求赐一道闪电
PS:未动一丝数据 勿查水表

详细说明:

0x00
内网入口点
首先发现一个人人开放平台文档系统
http://wiki.dev.renren.com
通过翻找链接,找到一处用户名泄露的页面
http://wiki.dev.renren.com/wiki/Special:Listusers

屏幕快照 2015-06-12 19.26.17.png


看用户名命名方式,可猜测出这些用户是人人网员工的用户名
接着通过扫描子域名发现一个排期系统.
http://bb.renren.com/
发现没有验证码可以进行暴力破解
用户名是邮箱地址, 人人的邮箱后缀是 @renren-inc.com
通过在开放平台得到的用户名 将两者拼接进行弱口令暴力破解
成功爆出密码为 123456的用户
进入系统后发现权限是管理员
接着在后台发现了一处上传点 完全无过滤可上传一个JSP木马

屏幕快照 2015-06-12 19.30.14.png


然后菜刀连接

屏幕快照 2015-06-12 19.31.48.png


处于内网,而且是root权限
然后在服务器翻找数据库,找到两枚

屏幕快照 2015-06-12 19.40.16.png


屏幕快照 2015-06-12 19.40.29.png


泄漏人人内部员工邮箱,由于密码是salt md5加密 不进行破解 利用此服务器跳进内网
其中 10.22.198.16 数据库貌似是一个运维的,里面存有40多个数据库账号密码经测试可登录
里面含有人人活动的一些数据.数据量大
0x01
进入内网
利用reGeorg代理进内网
首先把tunnel.jsp代理脚本放到网站服务器上
然后连接过去

屏幕快照 2015-06-12 19.46.56.png


接着用一些socks代理软件连接本地2333端口就可以了
至此内网漫游准备就绪
0x02
内网漫游
经过人人漫游者前辈们的教训,为了防止被T没有立马开扫,首先去乌云收集一些人人内网的一些信息
WooYun: 一次失败的漫游人人内网

屏幕快照 2015-06-12 19.51.19.png


#1
拿到了一些内网的应用,那么先从这些应用开刀
但这些应用
meeting.renren-inc.com
we.renren-inc.com
都跳转到了一个统一认证平台
https://passport.renren-inc.com/
由于有次数限制导致爆破不了,既然如此只能乖乖找漏洞
很幸运的在密码找回处发现一个SQL注入

屏幕快照 2015-06-12 19.55.10.png


支持union查询
通过注入找到两个比较重要的表
sysuser 用户密码表(md5加密)
logonlog 登录历史表 里面存有base64编码的密码 也就是说可以看到任意员工的密码的变换过程
有助于后续的撞库攻击

屏幕快照 2015-06-12 20.02.50.png


从库中破了 sysadmin2这个用户的密码 进行登录

屏幕快照 2015-06-12 20.05.18.png


OA系统,管理员权限

屏幕快照 2015-06-12 20.06.28.png


屏幕快照 2015-06-12 20.06.57.png


会议室预定系统

屏幕快照 2015-06-12 20.08.10.png


资产管理系统

屏幕快照 2015-06-12 20.09.27.png


屏幕快照 2015-06-12 20.09.47.png


#2
接着找到一个bbs论坛dz7.2
http://bbs.renren-inc.com
存在faq.php的注入,通过注入拿到了uc_key
但是config.inc.php没有写入权限,getshell失败
随后发现该站登录也是通过统一认证平台
于是首先通过注入列出所有论坛管理员的邮箱
然后通过邮箱在利用统一认证的注入漏洞,破解出密码登录到bbs论坛
接着后台登录,利用后台xml上传一个phpwebshell
getshell成功

屏幕快照 2015-06-12 20.18.53.png


屏幕快照 2015-06-12 20.19.32.png


继续泄漏员工信息
#3
接着又找到一个dz7.2论坛
http://daxue.renren-inc.com
可惜的是faq.php文件被删
但是dz7.2还有一个投票注入,需要积分50
找到一个管理员,利用邮箱从统一认证平台登录到论坛
发布投票进行注入,但数据库中的uc_key被加密是124位的导致利用不了
都知道从前台登录后台需要重新输入一次密码,而我是直接从认证平台登录的
而且管理员密码也破解不出来,所以进不了后台
纠结了一阵,扫了一下目录发现存在test.php 是phpinfo信息,拿到网站物理路径
数据库权限是root,刚好数据库与网站是同服.直接利用load_file()读取config.inc.php的uc_key
利用uc_key成功getshell

屏幕快照 2015-06-12 20.27.52.png


数据库就不贴了,也是员工的
到这 搜集过来的内网应用基本搞定
于是无耻的接着在乌云收集人人网信息 233
WooYun: 我是如何用最简单直接的方法进入人人网的(可导致内部信息泄漏)
通过这里的信息 找到马**这个人的邮箱
利用统一认证注入漏洞 找出这个人的密码,撞库发现不对
随后查找logonlog表 发现这个人的密码变更规律 每次基本只改一位
于是挨个试过去 成功登录邮箱

屏幕快照 2015-06-12 20.43.42.png


搜索vpn没有搜出来
然后搜索密码 找到广告系统和密码
也就是上面那个乌云链接里的广告系统
登录进去发现该用户的权限是最高的

屏幕快照 2015-06-12 20.49.01.png


46652家广告,还可以对任意一个厂家广告进行管理
继续搜索邮箱
找到两个系统
http://jira.d.xiaonei.com/ jira项目平台
http://wiki.d.xiaonei.com Confluence 沟通协作平台
两个系统共用一个账号,弱口令很严重
jira

屏幕快照 2015-06-12 22.40.31.png


基本涵盖所有的项目
Confluence 沟通协作平台

屏幕快照 2015-06-12 22.41.38.png


这里面猛料太多了,各种数据库密码,服务器信息和项目信息,对之后的渗透测试给予了很大的帮助
从这个沟通协作平台搞到了一个vpn申请流程,并成功撞到了一个部门负责人的邮箱
vpn的申请需要部门负责人的抄送
登录邮箱搜索vpn,结果告诉我vpn的用户名是邮箱前缀和邮箱密码 23333333
还是不够经验
于是利用此人的邮箱账号密码成功登录vpn,之前那个代理脚本毕竟比不过vpn稳定
果断连vpn杀入内网
https://vpn.renren-inc.com/dana-na/auth/url_default/welcome.cgi?p=failed

屏幕快照 2015-06-12 23.05.48.png


利用沟通协作平台继续收集信息,并找出运维人员或者领导级的邮箱并进行撞库得到若干系统
人人运维管理系统

屏幕快照 2015-06-12 23.20.49.png


服务器资产管理系统

屏幕快照 2015-06-12 23.23.03.png


目测涵盖了人人网所有正在使用的服务器
离线数据平台

屏幕快照 2015-06-12 23.32.33.png


bugs报告平台

屏幕快照 2015-06-12 23.33.40.png


技术评级系统

屏幕快照 2015-06-12 23.35.00.png


这里猛料貌似也挺多
PE系统(业务更新展示,修改报警)

屏幕快照 2015-06-12 23.38.12.png


Ganglia中的导航页,包含了外网各系统的链接

屏幕快照 2015-06-12 23.39.52.png


zabbix监控系统
弱口令 admin/zabbix

屏幕快照 2015-06-12 23.46.02.png


屏幕快照 2015-06-12 23.53.08.png


服务器很多
可反弹一个shell
至于 zabbix agent能不能执行 没测试过 这玩意成功几率有点低......
随手捡到一个,windows3389权限,貌似是网关?

屏幕快照 2015-06-12 23.57.38.png


0x03
终极目标-人人主站
之前通过翻找协作平台发现人人网用svn托管所有项目代码
于是在协作平台搜索加翻找 找出主工程也就是主站的svn地址
并在邮箱找到这么一个信息

屏幕快照 2015-06-16 22.30.05.png


由此可见每周都会进行一次代码更新,于是想到这么个思路
找出主工程开发人员 并拿到svn权限,然后在svn留一个webshell
这样等周三代码更新到线上环境后 主站也就随之沦陷了
首先从协作平台找到一份表格 从中获取了负责主工程的一些名单
利用此名单 继续撞库 进入邮箱 但是没找到有关svn的密码信息
通过之前的邮箱信息收集 猜测 svn的用户名是邮箱前缀 密码是Kerberos认证的密码
但是 Kerberos 的初始密码是通过手机发送的
于是利用统一认证平台注入,找出密码变更规律猜测出svn 密码

屏幕快照 2015-06-16 22.36.11.png


然后留了一个 比较隐蔽的webshell
之后就是漫长的等待了
等待的同时继续信息搜集 在jira项目平台找到这么一个信息

屏幕快照 2015-06-16 22.41.06.png


这个ip地址也是指向的人人主站 并且可以正常登录
然后周一的时候发现svn里的代码已经更新了
等到周二 去试了下主站有没有更新结果没有,但10.4.22.51这个ip上更新了
然后试了下 有没有带回webshell 结果报500错误 果然带来了
PS:其实10.4.22.51相当于主站了有外网ip.另上图已说明从10.4.22.51获取上线,所以默认解析的主站ip沦陷是早晚的事,写该文的日期为周二,常规是周三会更新到线上环境

屏幕快照 2015-06-16 22.50.54.png


接着就是找数据库链接了,但翻了几个小时也没找到 netstat -an |grep 3306 是有连接的
但就是找不到,于是在该服务器上执行tcpdump 然后登录一次主站,结束抓包

屏幕快照 2015-06-16 18.43.19.png


在数据包中找到了用户名和明文密码

屏幕快照 2015-06-16 18.42.27.png


把tcpdump数据包导入到wireshark中 发现是从10.3.16.222 返回了 数据库连接URL信息(ICEP协议是什么鬼…….)
然后顺利连接数据库(数据库太多了….找出用户库也是一个苦力活啊)

屏幕快照 2015-06-16 22.50.34.png


人人手机注册用户千万

屏幕快照 2015-06-16 22.39.25.png


人人+56 总计数亿(人人手机用户也包括在这里)
从数据库中找到了我12年注册的人人账号,密码破解出来正是我当时设置的密码
人人网的肯定可以登录 至于56网被卖了具体不知道什么情况 但测试了几个56的均可登录,库应该还是比较新的

屏幕快照 2015-06-16 23.39.46.png

屏幕快照 2015-06-16 23.40.42.png


漏洞证明:

已证明

修复方案:

统一认证平台出漏洞往往是很致命的...
还有就是弱口令问题
把漏洞补完,并要求全体员工统一更换密码

版权声明:转载请注明来源 蓝冰@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-06-17 09:48

厂商回复:

非常感谢,我们尽快处理!

最新状态:

暂无