远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

admin 2015年6月23日01:13:13评论357 views字数 237阅读0分47秒阅读模式
摘要

2014-09-24: 细节已通知厂商并且等待厂商处理中
2014-09-25: 厂商已经确认,细节仅向厂商公开
2014-09-28: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-11-19: 细节向核心白帽子及相关领域专家公开
2014-11-29: 细节向普通白帽子公开
2014-12-09: 细节向实习白帽子公开
2014-12-23: 细节向公众公开

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

缺陷编号: WooYun-2014-77219

漏洞标题: 远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等 远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

相关厂商: 腾讯

漏洞作者: 学习乌云

提交时间: 2014-09-24 21:13

公开时间: 2014-12-23 21:14

漏洞类型: 用户敏感数据泄漏

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

10人收藏


漏洞详情

披露状态:

2014-09-24: 细节已通知厂商并且等待厂商处理中
2014-09-25: 厂商已经确认,细节仅向厂商公开
2014-09-28: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-11-19: 细节向核心白帽子及相关领域专家公开
2014-11-29: 细节向普通白帽子公开
2014-12-09: 细节向实习白帽子公开
2014-12-23: 细节向公众公开

简要描述:

昨晚刚拿到新iphone6,开开心心的,晚上随便测试了下,居然发现QQ iphone版一个很好用的远程漏洞。 犹豫了先报腾讯还是乌云,没经验,按学术圈的思维就还是先提交到TSRC了。没想到他们居然只给rank 6的分数(还是从5 argue上来的)。 报漏洞最怕的就是自己的发现得不到应有的认同,所以不要他们的任何奖励,就希望到乌云这让大家看看。以后腾讯的漏洞也只通过乌云报! 大家等公开看看严不严重吧,比如能不能进去别人QQ。

详细说明:

在iphone 6(最新版iOS8)上测试,未越狱版本。昨天的最新版QQ。

如下图所示,基本攻击流程是这样的:一个假想攻击者发来一个文件(它可以从任意终端发,比如PC),我作为受害者下载打开后就会导致我的iphone QQ里的内部隐私文件被远程偷走。整个流程很简单合理,不需要其他额外的交互操作了。

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

可以看到Cookies.binarycookies可以被偷走。当然,更多其他的内部隐私文件一样可以偷,造成更严重的后果(下面的漏洞证明里我会再详细写)。

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

当然也可作为UXSS来使用

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

他们说光alert还不行,还得demo真正可以远程偷文件。所以我就真的去做了,如下图,红色标记的就是头20字节的文件内容(服务器访问日志里)

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

漏洞证明:

偷Cookie文件的PoC如下:

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

偷其他文件的话,只要改var aim那边的相对路径就可以了。

接下来,我们看看到底有那些隐私文件可被利用吧。iOS8似乎不方便连电脑调试,所以我拿我的ipad看看里面有啥文件。下图展示的是token.txt(之后其他文件就不再一一截图了,只给出文件名和里面的内容)

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

1. 这个token.txt里是这样一段字符串,<b3c7d044 ed8c0042 57c8cf44 ea25faec 25c2ba6a 83f0e95b 054b6c95 aa496076>,你说它是什么呢 远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

2. WtloginConf里有更多好东西,如下图:

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

比如其中的wtlogin_config_file有上次登录时间啊之类的,最关键的是里面有当前登录QQ号和它的UserPwdSig

code 区域
<key>WtloginUserPwdSig</key>
<dict>
<key>QQ号(隐去)</key>
<data>
z8K6WWJbGWYjXRDu+9YnI1/KZF1xN1DFo8NBHqNw4JwQNuVURwbItlEwtKBZ
lr7J9ILF隐去一些Aq+e/uPAqbJ1U/5mPS
+8Zoo隐去一些ZGzs7ICCOwyXFG12tiY4
yE8XsnURpT4lKSM5THzPUFY=
</data>

3. 上面的contents文件夹里保存了该台设备里登录过QQ号的隐私信息:

code 区域
$ ls
DiscussGroup QQFriendListManager coredataDB.sqlite
QQ.db QQHistoryList.plist groupMaxSeqDic.plist
QQFriendList.plist blacklist.list strangerlist.list

可以看到好友列表、聊天记录啊等等。比如QQ.db里就有很多东东

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

config.db这里面的

远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等

其他的文件就懒得一一列了。

怎么进入别人的QQ(其实上面该有的信息都有了,进入别人的QQ还那么重要吗,主要不也就是再做进一步欺诈吗)?有几种可行的方法(限于时间关系,我就不去demo了):

1)设个代理,分析QQ在之前已经输过密码的情况下是拿什么作为登录凭证的,token存放在哪个文件。我估计很可能是上面几个信息中的一个。

2)把目标用户的文件都偷走(或者只偷其中重要文件),然后存放或替换掉自己iphone QQ里的数据文件夹。估计腾讯没防御这种copy-paste攻击的。

修复方案:

建议参考dropbox iOS版怎么处理file的,它做的很好。

如有不当之处,敬请原谅。我希望这个case得到合理的认可,然后不想花费时间了(我今天就没干别的事情了。。)。因为乌云的报告流程简单了当,也可以得到大家的监督。谢谢。

版权声明:转载请注明来源 学习乌云@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2014-09-25 10:35

厂商回复:

非常感谢您的报告,问题已着手处理,感谢大家对腾讯业务安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无


漏洞评价:

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

漏洞评价(少于3人评价):

登陆后才能进行评分

100%

0%

0%

0%

0%


评价

  1. 2014-09-24 21:48 | 猪猪侠 远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等 ( 核心白帽子 | Rank:5372 漏洞数:415 | 你都有那么多超级棒棒糖了,还要自由干吗?)

    1

    顶楼主。

  2. 2014-09-24 22:50 | 学习乌云 ( 实习白帽子 | Rank:95 漏洞数:14 | 学习ing...)

    0

    @腾讯 QQ国际版也有类似问题。已测试验证 https://itunes.apple.com/cn/app/qq-guo-ji-ban/id710380093?mt=8

  3. 2014-09-24 22:51 | 学习乌云 ( 实习白帽子 | Rank:95 漏洞数:14 | 学习ing...)

    0

    @猪猪侠 膜拜大牛!

  4. 2014-09-25 11:37 | 7z1 ( 普通白帽子 | Rank:126 漏洞数:18 | 黑客:探险家、网络中的幽灵、用技术捍卫正...)

    0

    这个很刁。。。

  5. 2014-09-25 12:52 | Guardian ( 实习白帽子 | Rank:96 漏洞数:20 | I'm from the Internet and be here to hel...)

    0

    @学习乌云 ~

  6. 2014-09-25 14:28 | 学习乌云 ( 实习白帽子 | Rank:95 漏洞数:14 | 学习ing...)

    1

    @猪猪侠 看了一下你以前分析腾讯的帖子,看来这里拿到的那个token就是ClientKEY。貌似还要突破他们的IP限制。但是移动端的特点是IP很可能经常变,不知道他们这点在移动端会有啥新的特性。可能再绑定手机号或者IMEI码,但是这两点都可以伪造(一种情况是写在配置文件,改配置文件即可;如果它每次都runtime验证,也可以通过API拦截来伪造)。不过倒是需要增加个额外成本。

  7. 2014-09-25 14:37 | 猪猪侠 远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等 ( 核心白帽子 | Rank:5372 漏洞数:415 | 你都有那么多超级棒棒糖了,还要自由干吗?)

    0

    @学习乌云 获取ClientKEY的影响非常大,我还有几个能突破IP限制的接口,哈哈。

  8. 2014-09-25 14:44 | 学习乌云 ( 实习白帽子 | Rank:95 漏洞数:14 | 学习ing...)

    0

    @猪猪侠 我是在想它的ClientKEY登录机制在移动端会不会有啥新的特性?有空要搭个代理来测试下。 因为以前没了解过这块,所以你以前的帖子对我很有帮助,谢谢。

  9. 2014-09-28 10:03 | Sogili ( 普通白帽子 | Rank:142 漏洞数:29 )

    1

    大概确认是哪个feature了.

  10. 2014-09-29 15:53 | px1624 ( 普通白帽子 | Rank:1171 漏洞数:207 | px1624)

    1

    @Sogili !!看来你手里一堆好东西啊!

  11. 2014-09-30 16:14 | 猪猪侠 远程偷取QQ iphone版内部隐私文件,含一大波信息如token、UserPwdSig、好友列表、聊天记录等 ( 核心白帽子 | Rank:5372 漏洞数:415 | 你都有那么多超级棒棒糖了,还要自由干吗?)

    0

    @学习乌云 看了下iphone手机版QQ,认证过程使用的SID,http://mc.vip.qq.com/?platform=2&_bid=138&sid=ATO8x6o1X6Geml,SID没有任何IP限制!

  12. 2014-10-15 14:50 | sec_jtn ( 普通白帽子 | Rank:134 漏洞数:56 | 本想无耻的刷rank,最后发现是我想太多了。...)

    0

    你为何这么吊

  13. 2014-12-23 23:47 | 黑吃黑 ( 普通白帽子 | Rank:165 漏洞数:32 | 不是因为看到了希望才去努力,而是努力了才...)

    1

    @猪猪侠 你们都是坏银啊

  14. 2014-12-27 01:18 | 你大爷在此 百无禁忌 ( 路人 | Rank:18 漏洞数:9 | 迎风尿三丈 顺风八十米)

    1

    我看到两个坏蛋在密谋 这是要干坏事的节奏啊 带上我 就不举报你们

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