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

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

缺陷编号:wooyun-2014-066578

漏洞标题:安全诟病之一无秘网络边界可被绕过 成功进入内网

相关厂商:秘密

漏洞作者: 猪猪侠

提交时间:2014-06-28 21:11

修复时间:2014-08-12 21:12

公开时间:2014-08-12 21:12

漏洞类型:网络敏感信息泄漏

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

无觅网网络边界可被绕过 成功进入内网也就代表能够接触到大量的服务器和数据
测试过程读了一些开发历史文档,发现用户的手机号码信息是被不可逆算法加密的,就算获取到数据库,也无法还原秘密究竟是出自哪个手机号。
貌似每个手机号都对应一个固定的加密值,给所有13*,15*,18*的手机号码段生成一个固定的彩虹表(http://baike.baidu.com/view/2143893.htm),毕竟手机号资源是有限的(也就几百亿条),找出秘密出自谁手又好像不是那么难,具体实现方法有兴趣的可自行研究.

详细说明:

#1 漏洞之前
用户数据泄露一直是如今互联网世界的一个焦点,不重视或者遗忘这个教训将给各大互联网公司、企业未来的安全造成严重的威胁, 服务商和黑客之间在用户数据这个舞台上将一直进行一场旷日持久的攻防战。
#2 企业 2013 年最高的 10 个信息安全威胁是哪些?
http://www.zhihu.com/question/21596439
本次无秘网网络边界存在的安全威胁来自(A2-互联网泄密事件/撞库攻击):

以大量的用户数据为基础,利用用户相同的注册习惯(相同的用户名和密码),尝试登陆其它的网站。2011年,互联网泄密事件引爆了整个信息安全界,导致传统的用户+密码认证的方式已无法满足现有安全需求。
泄露数据包括:天涯:31,758,468条,CSDN:6,428,559条,微博:4,442,915条,人人网:4,445,047条,猫扑:2,644,726条,178:9,072,819条,嘟嘟牛:13,891,418条,7K7K:18,282,404条,Adobe:1.5亿,Cupid Media:4200万,QQ数据库:大于6亿,福布斯:100万,接近9亿多条


#3 针对已泄露的数据进行数据挖掘
获取到无秘网多个员工、开发人员的邮箱密码、LDAP密码
(提交漏洞之前已和无秘的创始人反馈了这个问题,且涉及安全问题的人员密码已修改!)

Shulin Ni <shulin@wumii.com>
Chuangang Cai <ccg@wumii.com>
De Lin <linde@wumii.com>
Wanzhu Zhou <zhouwanzhu@wumii.com>


pass_haschange_2.jpg


pass_haschange.jpg


#4 进入开发人员邮箱,发现大量敏感信息(包括OPENVPN的证书)

openvpn_mail.jpg


openvpn_连接.jpg


#5 利用获取到的证书,成功接入无秘的办公内网、服务器机房内网(证书4年了,都还有效)

.jpg


#6 发现多个内部系统
https://phabricator.wumii.net
// Phabricator 是 Facebook 內部的線上協作開發工具,无秘的源代码+数据库配置信息全在上面,可以实现留个后门接口什么的。
https://shenzhen.wumii.net/reviewboard/
// Review Board,ReviewBoard是一款基于WEB的代码审查工具,里面存在大量涉及无秘运营方面的相关信息(服务器配置、中间件配置、代码优化等等)。
admin-1.wumii.net // 秘密的后台地址
https://mimi.wumii.net/admin // 在开发的新版mimi
https://shenzhen.wumii.net/mediawiki/index.php // 内部WIKI
https://shenzhen.wumii.net/jenkins/login // 版本发布系统
等等...,这里就不列出来了

漏洞证明:

#1 数据库链接信息,带连接密码的,仅仅测试,并未有拖库行为

<property name="jdbcUrl" value="jdbc:postgresql://db-1.wumii.net:5432/simnet?stringtype=unspecified"/>
<property name="jdbcUrl" value="jdbc:postgresql://db-pgxc.wumii.net:5432/wumii?stringtype=unspecified"/>
+ <bean id="clusterDataSourceBase" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
+ <property name="user" value="wumii***"/>
+ <property name="password" value="wumii***"/>
+ <property name="maxPoolSize" value="1"/>
+ <property name="maxIdleTime" value="7200"/>


#2 LDAP,内部各种系统通用验证模式,秘密的后台管理员也是通过ldap方式来认证的
<property name="url" value="ldaps://ldap.wumii.net"/>

mysql –u simnet –p –f simnet < alter-tables2.sql


http://10.0.0.53/phpmyadmin/
http://10.0.0.53/wordpress
admin
liuqian6000


mysqldump -h 10.0.0.2 -P 3307 -u simnetro -pwumiiro --opt --skip-lock-tables simnet | mysql -h localhost -P 3306 -u root -p**** -c simnet
mqttc.username_pw_set("nagios", "na9io$")
office-cluster-3.wumii.net [10.0.0.103]


虚拟机已经迁移到服务器上了。kvm和virtualbox都不太理想,所以我们还是用vmware server。地址是
https://dev.wumii.net:8333/
因为用户验证有一些问题,我们用一个公用账号,用户名 vmware,密码 wumiivm。


@Service
public class AdCampaignService {
private AdCampaignDao adCampaignDao;
private AdStatisticsDao adStatisticsDao;
+ private AdvertisementDao advertisementDao;
+ private AdClickDao adClickDao;
+ private AdShowDao adShowDao;
@Autowired
public AdCampaignService(AdCampaignDao adCampaignDao,
- AdStatisticsDao adStatisticsDao) {
+ AdStatisticsDao adStatisticsDao,
+ AdvertisementDao advertisementDao,
+ AdClickDao adClickDao,
+ AdShowDao adShowDao) {
+
this.adCampaignDao = adCampaignDao;
this.adStatisticsDao = adStatisticsDao;
+ this.advertisementDao = advertisementDao;
+ this.adClickDao = adClickDao;
+ this.adShowDao = adShowDao;
}
public AdCampaign getAdCampaign(long adCampaignId) {
@@ -50,9 +67,33 @@
public List<AdCampaignReport> getSummaryReports(AdAccount account) {
List<AdCampaignReport> reports = new ArrayList<>();
for (AdCampaign adCampaign : adCampaignDao.getCampaigns(account)) {
- reports.add(new AdCampaignReport(adCampaign,
- adStatisticsDao.getAdStatisticses(adCampaign)));
+ List<AdStatistics> adStats = adStatisticsDao.getAdStatisticses(adCampaign);
+ Date latest = DateUtils.truncate(Util.now(), Calendar.DATE);
+
+ if (!adStats.isEmpty()) {
+ latest = Collections.max(Util.transformList(adStats, new Util.Transformer<AdStatistics, Date>() {
+ @Override
+ public Date transform(AdStatistics object) {
+ return object.getStatDate();
}
+ }));
+ // since the latest is the begin time of the last statistic day,
+ // add 1 day to get the real latest time
+ latest = DateUtils.addDays(latest, 1);
+ }
+ AdCampaignReport report = new AdCampaignReport(adCampaign, adStats);
+ List<Long> adIds = advertisementDao.getAdIds(adCampaign.getId());
+ adClickDao.completeRecentClicks(report, adIds, latest);
+ adShowDao.completeRecentShows(report, adIds, latest);
+ reports.add(report);
+ }
+
+ Collections.sort(reports, new Comparator<AdCampaignReport>() {
+ @Override
+ public int compare(AdCampaignReport o1, AdCampaignReport o2) {
+ return Long.compare(o2.getAdCampaign().getId(), o1.getAdCampaign().getId());
+ }
+ });
return reports;
}
diff -r 341c01a45079 src/main/resources-prod/spring-stage-context.xml
--- a/src/main/resources-prod/spring-stage-context.xml Tue Jun 25 20:32:09 2013 +0800
+++ b/src/main/resources-prod/spring-stage-context.xml Wed Jun 26 18:41:55 2013 +0800
@@ -46,6 +46,11 @@
<property name="jdbcUrl" value="jdbc:postgresql://db-1.wumii.net:5432/simnet?stringtype=unspecified"/>
</bean>
+ <bean id="clusterDataSource" parent="clusterDataSourceBase">
+ <property name="driverClass" value="org.postgresql.Driver"/>
+ <property name="jdbcUrl" value="jdbc:postgresql://db-pgxc.wumii.net:5432/wumii?stringtype=unspecified"/>
+ </bean>
+
<bean id="hibernateProperties" parent="hibernatePropertiesBase">
<property name="properties">
<props merge="true">
diff -r 341c01a45079 src/main/resources/spring-common.xml
--- a/src/main/resources/spring-common.xml Tue Jun 25 20:32:09 2013 +0800
+++ b/src/main/resources/spring-common.xml Wed Jun 26 18:41:55 2013 +0800
@@ -37,6 +37,13 @@
<property name="preferredTestQuery" value="SELECT 1"/>
</bean>
+ <bean id="clusterDataSourceBase" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
+ <property name="user" value="wumii***"/>
+ <property name="password" value="wumii***"/>
+ <property name="maxPoolSize" value="1"/>
+ <property name="maxIdleTime" value="7200"/>
+ </bean>
+
<bean id="hibernatePropertiesBase" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
@@ -53,6 +60,7 @@
</bean>
<bean class="com.wumii.model.DataAccessConfiguration"/>
+ <bean class="com.wumii.model.cluster.DataAccessConfiguration"/>
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldaps://ldap.wumii.net"/>


mimi1.jpg


mimi2.jpg

修复方案:

#1 这是一个安全诟病,需要持续抗争,安全意识需要培训到每个人
#2 安全是一个整体,保证安全不在于强大的地方有多强大,而在于真正薄弱的地方在哪里
#3 有敏感信息出现的地方,尽量做到密码独立唯一

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-06-29 16:30

厂商回复:

无秘技术人员在获知消息后立即联系猪猪侠,并且于30分钟内完成修复。微博消息给部分用户造成误解,目前所知数据库没有泄漏,没有用户有受到影响。同时数据库敏感信息均经过不可逆加密,只有获取了用户的手机才能确切知道秘密的发布者。无秘对信息安全非常重视,如有进一步消息将持续更新。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-06-28 21:12 | Coody 认证白帽子 ( 核心白帽子 | Rank:1565 漏洞数:189 | 不接单、不黑产;如遇接单收徒、绝非本人所...)

    前排

  2. 2014-06-28 21:12 | 泳少 ( 普通白帽子 | Rank:231 漏洞数:79 | ★ 梦想这条路踏上了,跪着也要...)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  3. 2014-06-28 21:13 | JJ Fly ( 普通白帽子 | Rank:317 漏洞数:59 | 今天播下一颗种子。)

    前排。

  4. 2014-06-28 21:13 | U神 ( 核心白帽子 | Rank:1285 漏洞数:142 | 感谢乌云,知恩不忘,其实我一直都在乌云默...)

    @Coody 再看一眼,我打屎你,这傻逼

  5. 2014-06-28 21:14 | Manning ( 普通白帽子 | Rank:559 漏洞数:78 | 就恨自己服务器太少)

    1

  6. 2014-06-28 21:16 | 健宇 ( 普通白帽子 | Rank:131 漏洞数:14 | tools kid)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  7. 2014-06-28 21:16 | Summer ( 普通白帽子 | Rank:433 漏洞数:98 | 尽自己最大的努力去完成梦想)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  8. 2014-06-28 21:18 | Coody 认证白帽子 ( 核心白帽子 | Rank:1565 漏洞数:189 | 不接单、不黑产;如遇接单收徒、绝非本人所...)

    @U神 Hey/What's up?Man

  9. 2014-06-28 21:21 | Mujj ( 实习白帽子 | Rank:58 漏洞数:4 | IDC商)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  10. 2014-06-28 21:26 | 疯子 ( 普通白帽子 | Rank:242 漏洞数:42 | 世人笑我太疯癫,我笑世人看不穿~)

    无觅 还是 无秘

  11. 2014-06-28 21:29 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)

    NB!

  12. 2014-06-28 21:32 | 齐迹 ( 核心白帽子 | Rank:784 漏洞数:100 | 一名普通的phper开发者,关注web安全。)

    已火,不忘留名

  13. 2014-06-28 21:43 | GrayTrack ( 实习白帽子 | Rank:75 漏洞数:14 | 灰色轨迹)

    diaozhatian

  14. 2014-06-28 21:47 | 猪猪侠 认证白帽子 ( 核心白帽子 | Rank:3224 漏洞数:254 | 你都有那么多超级棒棒糖了,还要自由干吗?)

    @疯子 http://wumii.org 直接域名会不会好点?

  15. 2014-06-28 21:55 | Knight ( 实习白帽子 | Rank:38 漏洞数:10 | 刚刚上洗手间,看到一个玉树临风的少年,气...)

    也就几百亿条……

  16. 2014-06-28 21:55 | 忆苦思甜 ( 实习白帽子 | Rank:65 漏洞数:25 )

    也就几百亿条

  17. 2014-06-28 22:10 | 浅兮 ( 实习白帽子 | Rank:70 漏洞数:30 )

    最近没看到猪猪侠发漏洞,原来是干大事情了!

  18. 2014-06-28 22:18 | onlycjeg ( 实习白帽子 | Rank:38 漏洞数:5 | 我就看看,我不说话.)

    漏洞标题: 安全诟病#1 无秘网络边界可被绕过 成功进入内网看来是系列的节奏;

  19. 2014-06-28 22:29 | quanxian ( 实习白帽子 | Rank:32 漏洞数:2 | This is QuanXian.)

    #1期待#2#3

  20. 2014-06-28 22:30 | Z-0ne 认证白帽子 ( 普通白帽子 | Rank:559 漏洞数:38 | 目前专注于工控安全基础研究,工业数据采集...)

    秘密无秘密

  21. 2014-06-28 23:03 | CplusHua ( 普通白帽子 | Rank:238 漏洞数:33 | 乌云奖金:-1)

    【最热门的社交应用[秘密]已正式更名为[无秘]】 果然没有秘密了~~

  22. 2014-06-28 23:10 | 1c3z ( 实习白帽子 | Rank:88 漏洞数:29 | 我读书少,你可别骗我!!!)

    还好不玩!!

  23. 2014-06-29 00:34 | loli 认证白帽子 ( 普通白帽子 | Rank:550 漏洞数:52 )

    [无秘]果然这么快就被玩坏了。。。。

  24. 2014-06-29 02:21 | 土豪 ( 路人 | Rank:16 漏洞数:6 | 我是土豪却没有5WB)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  25. 2014-06-29 08:06 | 我是小号 ( 普通白帽子 | Rank:334 漏洞数:51 | Martin)

    http://www.bianews.com/news/61/n-436261.html呃,人家网站都开始报道了

  26. 2014-06-29 09:00 | 围剿 ( 路人 | Rank:17 漏洞数:5 | Evil decimal)

    已火

  27. 2014-06-29 09:36 | 0749orz ( 路人 | Rank:3 漏洞数:4 | 厌了,烦了~~~)

    好可怕的密秘。

  28. 2014-06-29 09:51 | 袋鼠妈妈 ( 普通白帽子 | Rank:449 漏洞数:61 | 故乡的原风景.MP3)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  29. 2014-06-29 10:17 | 沦沦 ( 普通白帽子 | Rank:504 漏洞数:127 | 爱老婆,爱生活)

    你大爷的,靠又搞一个高危的。。。。

  30. 2014-06-29 10:54 | zeracker 认证白帽子 ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)

    创业团队也面临这样的风险啊! 恐怖!

  31. 2014-06-29 11:17 | 小火苗 ( 路人 | Rank:6 漏洞数:1 | 我是一只小火苗呀,春风吹又生呀...)

    微博上那个就是猪猪侠?

  32. 2014-06-29 11:35 | 我是小号 ( 普通白帽子 | Rank:334 漏洞数:51 | Martin)

    @小火苗 ringzero是的吧

  33. 2014-06-29 12:13 | 好玩么 ( 路人 | Rank:13 漏洞数:2 | 有本事,你追我啊)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  34. 2014-06-29 17:41 | 李白 ( 普通白帽子 | Rank:142 漏洞数:29 )

    无秘技术人员在获知消息后立即联系猪猪侠,并且于30分钟内完成修复。微博消息给部分用户造成误解,目前所知数据库没有泄漏,没有用户有受到影响。同时数据库敏感信息均经过不可逆加密,只有获取了用户的手机才能确切知道秘密的发布者。无秘对信息安全非常重视,如有进一步消息将持续更新。

  35. 2014-06-29 19:03 | zhxs ( 实习白帽子 | Rank:32 漏洞数:19 | Jyhack-TeaM:http://bbs.jyhack.com/)

    路过...留下脚印

  36. 2014-06-30 10:00 | 酱油党 ( 路人 | Rank:2 漏洞数:2 | 跳槽观望中)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  37. 2014-07-01 00:51 | 小火苗 ( 路人 | Rank:6 漏洞数:1 | 我是一只小火苗呀,春风吹又生呀...)

    @我是小号 恩,猪猪侠马甲?

  38. 2014-07-01 11:25 | Stardustsky ( 路人 | Rank:4 漏洞数:3 | ……)

    猪哥总是这么屌

  39. 2014-07-01 11:54 | 红蛰祭 ( 路人 | Rank:0 漏洞数:1 | 彪悍的人生不需要解释)

    也就几百亿条。

  40. 2014-07-03 16:33 | 哦哦 ( 路人 | Rank:2 漏洞数:1 | 好123,最好的导航,没有之一)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  41. 2014-07-13 20:52 | xxsec ( 路人 | Rank:4 漏洞数:6 | kali,metasploit)

    你关注的白帽子 猪猪侠 发表了漏洞 安全诟病#1 无觅网络边界可被绕过 成功进入内网

  42. 2014-07-29 17:06 | 炊烟 ( 普通白帽子 | Rank:238 漏洞数:44 | 每一天都需要努力。)

    图片服务器已挂=

  43. 2014-08-12 22:20 | 铁汉 ( 路人 | Rank:12 漏洞数:6 | 向各种大神学习之)

    也就几百亿条。

  44. 2014-08-13 08:46 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    。。。到底是谁联系的谁。

  45. 2014-10-10 22:59 | 大土豆 ( 路人 | Rank:0 漏洞数:1 | 土豆马铃薯洋芋)

    呵呵,猪猪侠确实厉害

  46. 2015-06-06 20:05 | anting ( 普通白帽子 | Rank:105 漏洞数:38 | 活到老,学到老)

    额,我在秘密耍了