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

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

缺陷编号:wooyun-2013-035257

漏洞标题:豌豆荚边界应用缺陷导致1200万用户数据告急(云端相册 通讯录 短信备份)

相关厂商:豌豆荚

漏洞作者: 猪猪侠

提交时间:2013-08-25 15:38

修复时间:2013-10-09 15:38

公开时间:2013-10-09 15:38

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-08-25: 细节已通知厂商并且等待厂商处理中
2013-08-25: 厂商已经确认,细节仅向厂商公开
2013-09-04: 细节向核心白帽子及相关领域专家公开
2013-09-14: 细节向普通白帽子公开
2013-09-24: 细节向实习白帽子公开
2013-10-09: 细节向公众公开

简要描述:

上一个漏洞讲了如何获取用户的COOKIE来浏览用户的数据
本漏洞主要介绍如何利用上个漏洞的细节,直接全面ROOT豌豆荚内网所有服务器的细节
最终成功实现可浏览1200万注册用户中的任意豌豆荚用户备份在云端的信息,并能通过应用推送功能,直接往用户的手机客户端植入任意安卓后门。
本报告证明了云计算,大数据这种玩意儿信息太过集中,并不安全!

详细说明:

#1 开始
WooYun: 豌豆荚主站某频道设计缺陷 可间接攻击关联系统
上篇漏洞描述 wandoujia 这个弱口令只是为了突出说明,不代表我的字典没有更多的密码破出其它用户的密码,所以补丁的时候切记不要看到弱口令就简单的把那个密码修改掉。
这里再列两个用户的密码:

ch[马赛克]ang:123456
tester:testtest


#2 getshell
利用wordpress后台自带功能获取shell,细节请看官们自己google

[/]$ uname -a
Linux app175.hy01 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[/]$ /sbin/ifconfig -a
em1 Link encap:Ethernet HWaddr 52:54:00:F1:CC:05
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:10 Base address:0xa000
em2 Link encap:Ethernet HWaddr 52:54:00:F1:CC:06
inet addr:10.0.25.108 Bcast:10.0.25.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:48282976 errors:0 dropped:0 overruns:0 frame:0
TX packets:39910793 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30070983217 (28.0 GiB) TX bytes:89248609390 (83.1 GiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3024455 errors:0 dropped:0 overruns:0 frame:0
TX packets:3024455 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7671500625 (7.1 GiB) TX bytes:7671500625 (7.1 GiB)
[/]$ last -10
work pts/0 10.0.11.11 Thu Aug 22 11:20 - 11:21 (00:01)
work pts/0 10.0.11.11 Wed Aug 21 20:32 - 20:57 (00:24)
work pts/0 10.0.11.11 Wed Aug 21 16:32 - 17:02 (00:30)
work pts/1 10.0.11.11 Wed Aug 21 01:16 - 01:17 (00:00)
op pts/0 10.0.11.11 Wed Aug 21 01:08 - 01:32 (00:23)
work pts/1 10.0.11.11 Mon Aug 19 14:30 - 14:59 (00:28)
op pts/0 10.0.11.11 Mon Aug 19 13:27 - 18:19 (04:51)
op pts/0 10.0.11.11 Mon Aug 19 11:24 - 12:58 (01:33)
work pts/0 10.0.11.17 Mon Aug 19 11:15 - 11:16 (00:01)
op pts/0 10.0.11.11 Mon Aug 19 08:38 - 09:08 (00:29)
wtmp begins Thu Aug 15 21:01:37 2013


#3 拿到shell后的内网扩张

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wd_blog');
/** MySQL database username */
define('DB_USER', 'wd_blog');
/** MySQL database password */
define('DB_PASSWORD', 'wandouji***234');
/** MySQL hostname */
define('DB_HOST', '10.*.**.38');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


~! 而且这个数据连接用户几乎可以连接到内网所有的mysql服务器,wandouji***234是个通用的密码,权限还特别大,下面看看数据(可直接替换官方APK的下载地址,植入后门)

wandoujia_app_download_url.jpg


#4 说了内网使用通用密码后,还有服务器配置上的缺陷, suoders 设置为NOPASSWD,无需提权即可拥有root权限,替换某些系统服务,截获到root或者其他用户的密钥,整个内网就透明了。

[/]$ id
uid=501(work) gid=501(work) groups=501(work),10(wheel),502(sshusers)
[/]$ sudo id
uid=0(root) gid=0(root) groups=0(root),10(wheel),502(sshusers)
[/]$ sudo crontab -l
# HEADER: This file was autogenerated at Thu Aug 15 21:02:21 +0800 2013 by puppet.
# HEADER: While it can still be managed manually, it is definitely not recommended.
# HEADER: Note particularly that the comments starting with 'Puppet Name' should
# HEADER: not be deleted, as doing so could cause duplicate cron jobs.
# Puppet Name: puppet
1,31 * * * * /usr/bin/puppet agent --onetime --no-daemonize --server=puppet.corp.wandoujia.com> /dev/null 2>&1
[/]$ sudo tail /root/.bash_history
#1377088572
ll -rhlt
#1377088578
ll wp-a
#1377088579
ps -ef
#1377088583
ps -ef |grep nginx
#1377088586
ll -rhlt
[/]$ sudo cat /etc/sudoers
## Allows members of the users group to mount and unmount the
## cdrom as root
# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
## Allows members of the users group to shutdown this system
# %users localhost=/sbin/shutdown -h now
## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d
work ALL = NOPASSWD: /etc/init.d/nginx *


#5 直接去找account用户服务器
通过获取到的密钥,直接登录app86.hy01.wandoujia.com (10.0.23.40)用户信息服务器,发现一个account-api.war的包,直接解开找到用户信息数据库连接信息。

<!-- 数据源配置,使用应用内的DBCP数据库连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.**.*.***/new_account?useUnicode=true&amp;characterEncoding=utf-8" />
<property name="username" value="account" />
<property name="password" value="accoun******1" />

漏洞证明:

#6 接触用户数据
查询wandoujia.com的WHOIS信息,得知创始人邮箱为: [email protected]
http://whois.chinaz.com/wandoujia.com
~! new_account

select password,salt,email from account where email = '[email protected]'
a10b76bad8b0fcb******26894dce98b,6303,[email protected]


后面直接用某个@wandoujia.com的用户测试访问云端数据。
#7 用户数据大泄露
~! 云相册

wandoujia_云相册.jpg


~! 云短信

wandoujia_云短信.jpg


~! 云推送应用

wandoujia_在线推送.jpg


~! 云通讯录,找到豌豆荚创始人手机号

wandoujia_云通讯录.jpg


修复方案:

#1 云的东西很集中,并不安全。
#2 不要只是看到表面的现象,就觉得问题不严重。
#3 安全是一个整体,保证安全不在于强大的地方有多强大,而在于真正薄弱的地方在哪里。
#4 补丁不要只补在表面,应该更深入的思考防护策略。

版权声明:转载请注明来源 猪猪侠@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2013-08-25 16:23

厂商回复:

确实是很严重的漏洞,感谢爆料~

最新状态:

2013-10-15:本漏洞已经于 8.26 日凌晨修复,谢谢大家的关注。