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

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

缺陷编号:wooyun-2014-077219

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

相关厂商:腾讯

漏洞作者: 学习乌云

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

修复时间:2014-12-23 21:14

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

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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里的内部隐私文件被远程偷走。整个流程很简单合理,不需要其他额外的交互操作了。

stealQQ_iphone1.png


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

stealQQ_iphone2.png


当然也可作为UXSS来使用

stealQQ_iphone8.png


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

stealQQ_iphone6.png

漏洞证明:

偷Cookie文件的PoC如下:

QQ_fullPoC.png

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

iphoneQQ_desktop.png


1. 这个token.txt里是这样一段字符串,<b3c7d044 ed8c0042 57c8cf44 ea25faec 25c2ba6a 83f0e95b 054b6c95 aa496076>,你说它是什么呢 :)
2. WtloginConf里有更多好东西,如下图:

WtloginConf.png

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

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


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

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

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

qqdb.jpg

config.db这里面的

configdb.jpg

其他的文件就懒得一一列了。
怎么进入别人的QQ(其实上面该有的信息都有了,进入别人的QQ还那么重要吗,主要不也就是再做进一步欺诈吗)?有几种可行的方法(限于时间关系,我就不去demo了):
1)设个代理,分析QQ在之前已经输过密码的情况下是拿什么作为登录凭证的,token存放在哪个文件。我估计很可能是上面几个信息中的一个。
2)把目标用户的文件都偷走(或者只偷其中重要文件),然后存放或替换掉自己iphone QQ里的数据文件夹。估计腾讯没防御这种copy-paste攻击的。

修复方案:

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

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

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

厂商回复:

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

最新状态:

暂无


漏洞评价:

评论

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

    顶楼主。

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

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

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

    @猪猪侠 膜拜大牛!

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

    这个很刁。。。

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

    @学习乌云 膜拜~和@猪猪侠对腾讯爱的是如此深沉~

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

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

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

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

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

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

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

    大概确认是哪个feature了.

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

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

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

    @学习乌云 看了下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,最后发现是我想太多了。...)

    你为何这么吊

  13. 2014-12-23 23:47 | 黑吃黑 ( 普通白帽子 | Rank:139 漏洞数:29 | 倚楼听风雨,淡看江湖路...)

    @猪猪侠 你们都是坏银啊

  14. 2014-12-27 01:18 | 你大爷在此 百无禁忌 ( 路人 | Rank:10 漏洞数:6 | Hello 各位小伙伴们 大家好 我是王尼玛)

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