关于QQ读取浏览器历史记录的复现及分析
2021-01-21 18:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:100 收藏

前天有一个小朋友跑过来问我,雨老师,发生什么事了,我一看哦,原来是前几天,有人在v2ex和看雪上发表了QQ会读取chrom浏览器历史记录的文章引起了大家的广泛讨论,本人本着实事求是的原则准备自己复现一下看一看是否有这么回事,毕竟我的历史记录那可真是不堪入目,万一被TX的人读取到了我怕他们产生心理阴影,废话不多说开搞。

使用Process Monitor来监控QQ和chrom浏览器的互动,先来设置上规则。

果真如原文章所说,在登录QQ十分钟以后,QQ开始了读取Chrome浏览器历史记录。

QQ不可能只和google过不去,我们去掉一条规则,添加新的规则

果然是这样的,QQ:我不是针对谁,我只想说在座的各位我都想读,我大意了哈,原来是QQ遍历了Appdata\Local\下的所有文件夹,然后拼接上User Data\Default\History去读取历史记录。User Data\Default\History是谷歌系浏览器默认的历史记录存放位置。

我们使用X32Dbg 附加QQ进程通过字符串搜索找到关键位置,进行分析。

发现在模块apputil.dll中。

在目录中找到文件,打开IDA进行分析。

但是这里遇到一个问题,我本机QQ的AppUtil.dll中并找不到相关位置,然后我使用了网上下载的一个AppUtil.dll,感兴趣的可以从这里下载。https://file.qwqdanchun.com/Temp/AppUtil.dll
关键位置就在.text段的510EFB98位置。

下面咱们来分析一下他到底干了什么。
前边读取内容部分的分析如下。
先拼接字符串路径,读取各种 User Data\Default\History 文件,读到了就复制到Temp目录下的temphis.db。

下面就是筛选一下读取的URL链接然后进行了一些操作(但是并没有传送回TX服务器,都是在用户本地完成的)。最后删除了temphis.db

因为最后删除了temphis.db然后再结合后来的腾讯的道歉,感觉是我们误会了TX,接着往下分析

因为读取历史记录是在另一个线程读取的,我们跳转到读取历史记录函数的外层函数来分析,这里判断了DomainName是不是tencent.com或者是否存在SNGPERF,如果条件满足那么v2=1

那么下面如果v2=1就不会读取历史记录,如果不是TX内部环境就开线程读取历史记录。??????我TM直接好家伙

读取了URL后,计算URL的md5,比几个固定的md5值比较。

如果md5匹配,会解析url分析&后面的参数,然后继续把这个参数做md5计算,和一些md5比较,匹配存入一块内存。
有人使用脚本跑出来的MD5值内容。可以看到淘宝、天猫、京东等电商

分析到这里个人觉得真相应该大白了,但是还是不知道那个判断SNGPERF是什么,百度google也没有什么结果,就先到这里吧。

腾讯在事情发生的第一时间也发布了道歉。。

而且最新版的QQ已经把问题解决了删除了相关代码。所以这种事情大家没有必要过于担心。

https://bbs.pediy.com/thread-265359.htm
https://mp.weixin.qq.com/s/y9U2p-qnuG6jm61lERtQjQ

E

N

D

Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NTA4OTI5NA==&mid=2247490861&idx=1&sn=7e32b28119835afbcb109ac1973fa5b1&chksm=ce5e3f4cf929b65ada50df04a1293d1e41bf5806dfb978a6a68b1d0730a4d537e7a79032c496#rd
如有侵权请联系:admin#unsafe.sh