黄药师 [原创]“心跳助手”磨灭巧妙,”双生花”暗刷木马家眷借尸还阳
近期,金山毒霸安全实验室通过“捕风”胁迫感知系统的监控数据,跟踪发现一款名为“心跳助手”的安卓手游模拟器软件磨灭流量暗刷类病毒。比拟至极的是,病毒宿主进度被同期镶嵌两套流量暗刷插件黄药师,经过病毒特征同源性分析,咱们证据这两套木马插件辩别是”JsCtrl”和”正经衣”两大暗刷病毒家眷的最新变种,正如据说中的”双生花”,一株二艳,并蒂双花,在合并个枝蔓上相生相杀,是以咱们将本次爆发传播的流量暗刷木马定名为”双生花”家眷。
”双生花”暗刷病毒家眷包含的两套插件是十足不同的完结机制,其早期变种的传播也莫得太多的交叉点。从咱们的监控数据看,其中的”JsCtrl”变种通过JS剧本下载刷量模块到土产货内存加载施行,主要针对野心为58同城、百度糯米、百度的告白履行和SEO排行优化;另外一款“正经衣”变种通过多层的内存模块加载开释后,愚弄内嵌的浏览器内核和松鼠剧本引擎squirrel来操作加载模拟点击,主要针对野心为爱奇艺、优酷、PPTV等主流视频站点,通过暗刷视频播放量从各大视频平台赚取告白本体分红。
两大暗刷木马家眷同期藏身”心跳助手”这款平时软件完结”借尸还阳”,天然”双生花”暗刷木马的互助传播内幕当今尚不十足明晰,但从某种角度来看,这应该算得上一次变相的软件供应链挫折,从” Putty后门事件”、”XcodeGhost开导器用沾污”到”Xshell后门”, 软件供应链挫折案例日出不穷,官方软件是否确切信得过,正规软件身份的瑕瑜领域也越来越迂缓,以本次”双生花”暗刷病毒家眷的传播为例,凭据咱们的监控数据回溯,本次传播挫折从18年4月初开动出现,早期变种只包含”JsCtrl”变种,到1.1.18版块开动加入”正经衣”最新变种。凭借正规软件外壳,磨灭性极强,通过内存加载和剧本机制完结全程无落地文献挫折,在国内多家安全软件的眼皮下,本次”双生花”家眷的传播挫折时刻跨度已接近半年。
另外,”流量暗刷”这种挫折行径一直皆是黑产流量变现的迫切渠说念时期之一,失实流量也在互联网的各个行业渠说念皆能看到身影,关于居品营业、业务安全的摧折影响之重已无需多言。关于居品厂商而言,这么的模拟流量暗刷挫折基本上圆善模拟了用户的操作过程,从做事端进行灵验飞舞识别十分穷困,安全计策会被频频绕过,从咱们的监控数据看,近期针对各大告白平台、资讯平台、视频平台的流量挫折愈发泛滥,咱们也十分接待爱奇艺、优酷、PPTV、58同城、百度糯米等受影响厂商与咱们酌量(暖和咱们的官方微信号” yucunsafe”回答即可),共同处治此类业务安全问题。当今,金山毒霸复旧羁系和查杀该病毒。
正文 1、主模块分析病毒模块加载和施行流如下图所示:
做事进度Xintiao_Service.exe(签名:Beijing Shouyou Duanxiang TechnologyCo., Ltd.;版块号:1.1.18.4486)以参数“daemon=1”启动将下载解密施行JS剧本,通过剧本去下载和施行刷量插件1;以参数“daemon=2”或“module1”启动将下载解密加载刷量插件2(正经衣变种);
2、刷量插件1 1、Xintiao_Service.exe以参数daemon=1启动将走访麇集hxxp://mnq2.xintiao365.com/tj?times**p=&id=下载加密的JS剧本并解密施行,在剧本中完成后续模块的下载施行;
剧本引擎通过MSScriptControl.ScriptControl添加对象模子checkstate,使得剧本不错施行自界说的对象设施。
checkstate的设施界说如下图所示,其中HashCls是调用CalcHash.dll的导出函数CalcHash解密并内存加载PE模块;
2、JS剧本整理后的剧本如下:主邀功能是检测调试分析进度,检测不到则上报并下载施行刷量插件;
检测checkstate的全局变量xc和xy采取加载test_vmok.dll省略phantomjs.exe;其中phantomjs.exe的下载麇集是hxxps://c.wecheng99.com/cfg.db,test_vmok.dll的下载麇集是hxxps://c.wecheng99.com/ver_cfg.db;
下载完成后文献保存到%TEMP%\WinRAR\ac71bf8b-XXX.db(XXX是文献大小);并调用checkstate.HashCls插足CalcHash.dll的导出函数HashCls进行解密加载。
剧本施行过程中会写如下注册表标记:
[HKCU\Software\Microsoft\kccloud]
start:现时时刻
ac71bf8b-XXX.db:”123”
[HKCU\Software\Microsoft\Wisp]
cfg:加密后的URL “hxxp://k.biubiang.com:8124/apifour/getlink”
[HKLM\Software\WinRAR]
state:加密后的URL” hxxps://c.wecheng99.com/phantomjs.js”
3、test_vmok.dlltest_vmok.dll在dllmain中走访麇集hxxp://k.biubiang.com:8124/apifour/getlink获取刷量建树,本体和表情如下:
其中script是刷量剧本麇集,url_list是被刷量的网页麇集;通过添加参数host_id=%d不错获取对应的建树。然后下载script剧本文献,走访url_list中的麇集并在页面中插入施行script剧本进行刷量。
4、phantomjs.jsphantomjs.exe加载后会读取注册表[HKLM\Software\WinRAR]下的值state,解密得到麇集hxxps://c.wecheng99.com/phantomjs.js;然后下载并施行主控剧本;
loop函数最初走访hxxp://47.105.34.235:8125/apithird/getlink获取刷量建树json数据,然后领悟json并下载刷量剧本;
getscript()下载刷量剧本并建立定时器checkkeyword,checkkeyword()领悟枢纽词并走访刷量野心页面;
viewpage先判断TEMP目次下是否存在uag36.dat,不存在则走访麇集hxxp://182.92.228.27/cache.php?f=uag下载然后建立定时器viewpage;
如果存在uag36.dat,则解密该文献得到剧本并施行,本体如下:
然后调用initpage()加载页面,在onLoadFinished()设施中施行刷量剧本;
5、刷量分析test_vmok的建树麇集为hxxp://k.biubiang.com:8124/apifour/getlink,小泽玛利亚快播主要刷58同城告白及部分视频告白;phantomjs的建树麇集为hxxp://47.105.34.235:8125/apithird/getlink,主要刷58同城、百度糯米、百度的搜索排行优化。
1、通过遍历host_id赢得test_vmok统共刷量建树:
一共37个建树,24个不同的刷量剧本麇集,url_list大部分是58同城的告白、部分视频播放页;url_list中的麇集操作如下:
2、通过遍历host_id赢得phantomjs统共刷量建树:
一共67个建树,17个不同的刷量剧本麇集,43个不同的url_list;url_list大部分是58同城房产的移动端页面、部分是百度糯米移动端页面;
3、以test_vmok的告白刷量剧本为例:
每个刷量剧本大同小异,前边大部分代码是换取的,如获取环境信息、禁用部分API、领悟网页iframe获取麇集、点击麇集等;
主函数主淌若建立定时器__baseload,施行中枢的刷量功能;
__baseload()领悟页面元素,分多个要领建立定时器模拟点击告白完成刷量;每个要领的具体行径凭据野心网页上要刷的告白制定;
3、刷量插件21、Xintiao_Service.exe以参数module1启动将下载hxxp://t.meixinpic.com/cnzz/paras.dat,RC4解密出InProc.dll模块后径直内存加载并调用导出函数Load插足后续经由;
2、InProc.dll1、 Load函数先进行反调试检测,通过检测则陆续解密和加载内置dll,不然收尾:
A. 调试器检测:
存在开关文献C:\Wabj**_yyyy_mm_dd.ya!则不进行检测,yyyy_mm_dd为日历表情;不然排列进度检测是否存在如下调试分析进度;
B. 造谣机检测:
1. 通过MAC地址特征判断Vmware造谣机;
2. 通过检测进度vmtoolsd.exe或wmacthlp.exe,判断Vmware造谣机;
C. IP地址地舆位置检测:
凭据IP地址获取地舆位置,判断是否在北京、上海、深圳、珠海四个城市;
2、 通过反调试检测后,异或0xAB解密内置InProcStub.dll;创建并挂起傀儡进度svchost.exe,注入InProcStub.dll,调用其88号导出函数ForkTask;
3、 临了创建线程上报数据:
最初走访dh.alyun.cn获取加密的建树麇集,解密后如下:
并将加密的建树麇集保存到注册表[HKCU\Software\Microsoft\WindowsScript\Settings\Domains]-[data]下,后续使用该注册表值行为建树麇集;
再查找包含inproc的建树麇集,不存在则使用默许麇集pz.nidie.net/mm3/up/inproc.php;临了汇集本机信息生成如下url上报:
pz.nidie.net/mm3/up/inproc.php?sid=554&d=d940d7b321915b1dc46a69d7b14bafbae611b456678223167a8e0a06ccf6133931c73fa7ca698025aa9e7f6ca60c07f8344b79f90704e7b71ab5d458eee6080709db80a53fcd8dd8f3364f465c8c27;
其中参数d是数据“packid=554&mid=888&sid=88&x64=0&sysver=5.1.2600&mac=00-0C-29-C5-B5-0E&daystat=1”的RC4加密字符串(发送央求加密key= “$GiveMe$”,继承数据解密key=” GiveMe$!”,下同);
3、InProcStub.dll1、 InProcStub的导出函数ForkTask先解密内置模块innerfunc.dll黄药师,通过shellcode加载并调用其888号导出函数QueryFunctions得到接口;
2、 然后调用接口的第29个函数,经由插足innerfunc.dll;
4、innerfunc.dll1、 创建线程,走访麇集pz.nidie.net/mm2/up/?sid=554&d=d11780e578d3104d83637f;其中参数d是“x64=0&ver=0”RC4加密后的字符串;复返加密的建树信息,RC4解密后如下(key=” GiveMe$!”):
2、 领悟复返的建树信息,凭据系统版块下载对应的良友模块;
3、 RC4解密并加载良友模块remote_stub.dll,并调用其导出函数:
4、 将下载的加密模块写入注册表[HKLM\Software\Tencent\bugReport\QQ\<packid>]-[cache32]保存,下次先读取注册表数据解密加载,失败再从头下载;
5、remote_stub.dll1、 导出函数RemoteModInit最初判断现时进度名是否为explorer.exe、svchost.exe、test_remote_stub.exe;是则创建线程进行后续行径,不然径直复返;
2、 在线程中走访底下麇集获取建树:pz.nidie.net/mm3/up/modup.php?sid=554&d=d940d7b321915b1dc46a69d7b14bafb2f85afb4133d6384a23d1014499bf1e2e64c67ae5922b9b63fddc273be20102f0680428f20704ecea38fbdb51f3880d6966dc94b839dec4fbbf680b620edd79821db7d8eb417671c27ff8aa0f6739a9ab09d0af;其中参数d是数据“packid=554&mid=0&sid=0&daystat=0&x64=0&sysver=5.1.2600&mac=00-0C-29-C5-B5-0E&loc=XX省XX市”的RC4加密字符串;
复返建树数据RC4解密后如下:
3、 凭据建树下载刷量模块stub和刷量剧本config;而况保存到注册表[HKEY_CURRENT_USER\Software\Tencent\QQ\Mods]下;下次将从注册表中读取,读取失败再从头下载;
4、 stub和config解密后是zip压缩文献,其中stub解压后是刷量模块:autoie32.dll、autoie64.dll;config解压后是.nut表情的剧本文献;
5、 然后加载autoie32.dll,并调用导出函数QueryNotifyInterfaceEx赢得接口,临了调用接口施行刷量剧本;
6、刷量分析刷量模块内置圆善的浏览器内核并集成松鼠剧本引擎squirrel 3.1版,(一种近似lua的加强版剧本话语,官网www.squirrel-lang.org);通过剧本舍弃完结网页告白和视频点击刷量;
各剧本功能诠释如下:
剧本文献名 主邀功能 2124dh.nut 2124导航刷量 2345.nut 2345导航刷量 cnzz.nut cnzz统计 infostream.nut 学问屋刷量 iqiyisite.nut 爱奇艺视频和告白刷量 pptv.nut pptv剧集视频刷量 pptv_site.nut pptv网站自媒体视频刷量 soulady.nut 搜女郎刷量 youku.nut 优酷视频和告白刷量 inproc.nut 无具体功能 outproc.nut 任务舍弃剧本 multiproc.nut 多任务舍弃剧本剧本完结了网页事件回调函数,通过建立定时器来领悟网页元素,获取视频或告白的麇集并进行模拟点击走访,完结刷量。
以优酷为例,剧本youku.nut完结了对应的视频刷量机制。针对刷量过程中走访的各页面皆界说了单独的类来处理网页事件。
1、 最初main函数先破除cookies随和存数据,再新建entrywindow类,调用navigate设施走访URL;
2、 entrywindow 袭取引擎内置浏览器类ieutil.browser,通过重载事件回调拿获网页事件并建立定时器模拟点击行径;当调用navigate加载网页完结时触发onDocumentComplete或onNavigateComplete事件,建立定时器init;
3、 init定时器设施如下:通过领悟网页元素得到视频的URL,并建立线程定时器visitVideo走访视频播放页进行刷量;
4、 visitVideo定时器设施如下:新建类youkuwin,调用navigate设施走访视频URL;并重叠建立visitVideo定时器走访合并个视频直到maxVisit次;
5、 youkuwin相似袭取引擎内置浏览器类ieutil.browser;当网页加载完结时触发onDocumentComplete或onNavigateComplete事件,建立定时器init模拟点击播放页告白;当触发onNewWindow事件时,调用adwin类navigate设施走访弹窗告白;
6、 定时器init又创建2个定时器scroll和toclose;scroll定时器改革网页点击播放视频、暂停视频、点击告白完成刷量;toclose则关闭网页收尾该视频麇集的刷量。
模拟点击的告白如下:
7、针对弹窗告白的adwin类和minshowwindow类的完结和上头近似,不再赘述;
其他网站的刷量机制同理,具体完结细梗概有不同,也不再赘述。
7、刷量麇集整理优酷
叨剧柴可夫(视频播放数:415万,粉丝数:11.4万,视频数:97)
hxxps://i.youku.com/i/UMTY3MzMxMzUwMA==/videos
PPTV
咖妃说文娱(播放量:3316.8万,粉丝量:1.33万,视频数:72)
hxxp://pgc.pptv.com/upgc/?username=k3CVbpRplmhoY5+SZ21jaWlplm9n#video
老烟斗鬼故事hxxp://pgc.pptv.com/upgc/?username=k3CUap1gnG9mZJySZ21ibmpooms=#video
叨剧柴可夫
hxxp://pgc.pptv.com/upgc/?username=mm6WbJpik2loYA==#video
校长说
hxxp://pgc.pptv.com/upgc/?username=k2iWbZVlmGtoYQ==#video
陆续密室
hxxp://v.pptv.com/show/pibDNS7MZiaccqqBA.html?rcc_id=2018052032
开封府
hxxp://v.pptv.com/show/t9TPTJ785iaSHBW0.html?&rcc_id=2018072098
爱奇艺
《闺蜜说》第一季
hxxp://www.iqiyi.com/u/1187952588/v
咖妃说文娱
hxxp://www.iqiyi.com/u/2459940611/v
校长说
hxxp://www.iqiyi.com/u/1458122074/v
蜗牛看西游88
hxxp://www.iqiyi.com/u/1333649153/v
女魔头驾到频说念
hxxp://www.iqiyi.com/u/1433074399/v
减脂熟习营
hxxp://www.iqiyi.com/u/1446769852/v
快看电影
hxxp://www.iqiyi.com/u/2023137129/v
家有宝宝视频
hxxp://www.iqiyi.com/u/2492080645/v
欢快上班狗
hxxp://www.iqiyi.com/u/1231160129/v
星云视点
hxxp://www.iqiyi.com/u/1241481140/v
新快看好书
hxxp://www.iqiyi.com/u/1304751490/v
Friday剑玉俱乐部
hxxp://www.iqiyi.com/u/1351112050/v
其他
搜女郎
hxxp://www.soulady.net/
QQ头像
hxxps://www.qqtouxiang.com
学问屋
hxxp://www.zhishiwu.com
2345导航
hxxp://www.2345.com/?39006
2124导航
hxxp://www.2124.cn
cnzz统计:
hxxp://t.meixinpic.com/cnzz/6.html
统计麇集:hxxp://www.cnzz.com/stat/website.php?web_id=1260947146
hxxp://t.meixinpic.com/cnzz/3.html
统计麇集:hxxp://www.cnzz.com/stat/website.php?web_id=1261868857
附录IOC:136A821EDE570CAC1AAA7E0CEC411EB1
0F7F48867EF568A42DDF5AC646B0E157
8076BC98C013F93B1DCA34901DE8D19E
hxxp://mnq2.xintiao365.com/tj?times**p=&id=
hxxps://c.wecheng99.com/ver_cfg.db
hxxps://c.wecheng99.com/cfg.db
hxxps://c.wecheng99.com/phantomjs.js
hxxp://182.92.228.27/cache.php?f=uag
hxxp://k.biubiang.com:8124/apifour/getlink
hxxp://47.105.34.235:8125/apithird/getlink
在线影院jjj85hxxp://jp.mm50mm.com/view/mult/view_mybox_wulaiyuan.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/dword/view_detail_vv31.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/detail_china_low.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_58_detail_kdy07.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_bofeng_ad27.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_detail_low.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_detail_yk.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_detail_yk_0615ex.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_detail_yk_low.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_easy.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_easybu.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_houyi_baofeng_4.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_mybox_wulaiyuan.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_qiye.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_qiye_low.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_qiye_lowex.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/view_yuanshi_inetyouxia.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/mult/viewbaofeng_zuoce_0929_low.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/view_iqiyi.asp?click_rate=&t=1
hxxp://mdl.qdd88888.com/view/view_pt.asp?click_rate=&t=1
hxxp://thd.mm50mm.com/view/mult/viewbaofeng_youce.asp?click_rate=&t=1
hxxp://thd.mm50mm.com/view/mult/viewbaofeng_zhongbu.asp?click_rate=&t=1
hxxp://thd.mm50mm.com/view/mult/viewbaofeng_zuoce.asp?click_rate=&t=1
hxxp://thd.mm50mm.com/view/view_iqiyi.asp?click_rate=&t=1
hxxp://mob.zkk7.com:8065/ss/cache.php?f=stay20
hxxp://mob.zkk7.com:8065/ss/cache.php?f=58scriptv3-high-0505
hxxp://mob.zkk7.com:8065/ss/cache.php?f=58scriptv2-100-fix1-0507-high
hxxp://mob.zkk7.com:8065/ss/cache.php?f=58scriptv3-zp-open-fangchan
hxxp://mob.zkk7.com:8065/ss/cache.php?f=wbscriptv2-100-fix-fuchuang-0511-high-lowjob
hxxp://mob.zkk7.com:8065/ss/cache.php?f=nuomi12
hxxp://mob.zkk7.com:8065/ss/cache.php?f=wbscriptv2-100-fix1-0519-mid
hxxp://mob.zkk7.com:8065/ss/cache.php?f=wbscriptv2-100-fix1-0605-ludashi-lowjob
hxxp://mob.zkk7.com:8065/ss/cache.php?f=58scriptv2-0-fix4
hxxp://mob.zkk7.com:8065/ss/cache.php?f=nuomi10
hxxp://mob.zkk7.com:8065/ss/cache.php?f=nuomi15
hxxp://mob.zkk7.com:8065/ss/cache.php?f=nuomi4
hxxp://mob.zkk7.com:8065/ss/cache.php?f=nuomi6
hxxp://mob.zkk7.com:8065/ss/cache.php?f=58scriptv2-100-fix1-0505
hxxp://mob.zkk7.com:8065/ss/cache.php?f=wbfuchuang20180814
hxxp://mob.zkk7.com:8065/ss/cache.php?f=hao123tobaiduv1_keycheck_historyfix
hxxp://mob.zkk7.com:8065/ss/cache.php?f=baiduentry
hxxp://gjc.mm50mm.com/inetsvr.php?id=11
hxxp://thd.mm50mm.com/view/loop_read_appexa.aspx
dh.alyun.cn
hxxp://pz.nidie.net/mm/nv/a/
hxxp://pz.nidie.net/mm/up/
hxxp://pz.nidie.net/mm2/up/
hxxp://pz.nidie.net/mm/fd/
hxxp://pz.nidie.net/mm3/up/modup.php
hxxp://pz.nidie.net/mm2/up/modup.php
hxxp://pz.nidie.net/mm/se.php
hxxp://pz.nidie.net/mm/qd/instat.php
hxxp://pz.nidie.net/mm/brushflow/nv/
hxxp://dh.xhongxiu.net/mm/nv/a/
hxxp://stat.ssbutqi.com/s.php
hxxp://inapi.xxwqiq.net/index.php
hxxp://t.meixinpic.com/cnzz/paras.dat
hxxp://dl.nidie.net/mods/autoie/conf/18081001.png
hxxp://aylld.com/dl/mods/autoie/stub/18071801.png
hxxp://aylld.com/dl/rt/18070501/Rt32.gif
hxxp://aylld.com/dl/rt/18070501/Rt64.gif
[培训]内核驱动高等班,冲击BAT一流互联网大厂职责黄药师,每周日13:00-18:00直播讲课