网络“投毒”系列报告:全国多省软件升级劫持攻击事件数据分析
概述
此前360安全卫士发布了技术分析报告《潘多拉魔盒开启:全国多省爆发大规模软件升级劫持攻击》,初步披露了基于域名bjftzt.cdn.powercdn.com的一组大规模软件升级劫持事件。在这个事件的第一阶段中,用户尝试升级若干知名软件客户端时,HTTP URL会被劫持,实际下载得到的是“加料”的恶意软件。在第二阶段中,恶意软件会在表面上正常安装知名软件客户端的同时,另外在后台偷偷下载安装推广其他软件。
基于网络层面的监测计算,此次软件升级劫持的影响范围远超WannaCry勒索蠕虫,DNS访问每日活跃数量是后者爆发期间的1000倍。据此,这一事件理应引起公众和安全社区的高度重视。
另外特别需要指出的是, 7月3日晚间公开批露了本轮大规模软件升级劫持情况之后,主力域名bjftzt.cdn.powercdn.com的访问量虽然下降到了高峰期的1/10,但并没有完全停止劫持行为,在过去的这个周末期间,平均每天仍然有高达400万次活跃访问,大约是蠕虫WannaCry爆发期间活跃程度的100倍。对我们的互联网用户来说,这一安全威胁仍然存在且严峻。这也促成我们更新本篇文章,继续批露这一系列软件升级劫持行为。
在本篇文章中,我们将继续运用更多维度的数据,主要讨论以下内容:
· 事件发展时间线
· 事件的主角:bjftzt.cdn.powercdn.com
· 极早期感染情况
· Powercdn.com上的其他域名
· 应对措施
事件发展时间线
360安全中心综合运用了各种数据手段,包括蜜罐、沙箱、云安全数据、DNS数据流等等,还原出本次软件升级劫持事件的相关时间线如下:
· 3-27 域名bjftzt.cdn.powercdn.com 于当日17:22:55上线;当日360安全卫士在样本库未更新前提下实现阻断,并产生告警;
· 03-29 域名dbjftzt.cdn.powercdn.com 上线;
· 03-30 当日18:30附近域名流量发生跳变,标志极早期结束,距域名上线几乎恰好72小时
· 04-02 bjftzt.cdn.powercdn.com域名相关样本被360安全中心首次捕获;
· 05-01 bjftzt-cdn-powercdn-com.powercdn.cn 进入流行程度Top 100万域名榜单;
· 06-07 dbjftzt-cdn-powercdn-com.powercdn.cn 进入流行程度Top 100万域名榜单;
· 06-19 bjftzt-cdn-powercdn-com.powercdn.cn 进入流行程度Top 10万域名榜单;
· 06-19 样本49cff46088790b360c6d2215c62dd4a0被提交到virus total;
· 07-02~07-05 bjftzt-cdn-powercdn-com.powercdn.cn流行程度顶峰,排名 63028;
· 07-05 安全卫士发布报告,批露这一大规模劫持情况;
· 07-06 所有相关域名流量骤减,约为高峰时期1/10;
· 07-07~2017-07-09 周末期间域名流量维持在高峰期1/10附近,未见继续下降。
需要指出的是,互联网发展到今天,头部站点已经相对稳定。想要一个域名的流程程度进入Top10万榜单,并不是那么容易。一个域名,从冷启动开始,3个月内爬升到进入Top10万榜单,这种爬升能力,值得引起安全分析人员的特别注意。
关于域名bjftzt.cdn.powercdn.com
360安全中心从以下角度对该域名展开分析
· 第一阶段:该域名下的URL
· 第二阶段:该域名下的dat软件升级配置清单
· 该域名的访问情况
· 该域名的关联IP地址 106.15.34.166
第一阶段:该域名下的URL
在第一阶段中,用户请求了一个正常的软件安装HTTP URL时,会被HTTP 302跳转,指向下面两组URL:
·/down/%well.known.software.client%.exe ·/down/p/%hashcode%/%well.known.software.client%.exe
我们共收集到该域名下的URL共计243个,部分列出如下。通过分析,我们归纳得出结论,该域名下的所有URL,无一例外,全都与本次软件劫持事件相关。详细URL见附件列表。
·/down/KuaiZip_Setup_v2.8.27.7_guanwang_9.exe ·/down/kugou7_3761.exe ·/down/LenovoDM_Setup.exe ·/down/MaoHaWiFiSetup_259.exe ·/down/p/00219B79454E25DE122794E5E6153B42/IQIYIsetup_updrv.exe ·/down/p/026EC1F972CBAB9AF3C0E27BF804F530/KuaiZip_Setup_v2.8.28.4_guanwang_15.exe
第二阶段:该域名下的dat软件升级配置清单
恶意软件已经被安装到用户机器上后,开始第二阶段。在这个阶段中,恶意软件访问该域名下的某个dat配置文件,并使用密钥“eh9ji8pf”做DES展开,得到明文的应用软件下载列表。恶意软件会依次继续下载列表中的软件,以实现恶意分发软件的目的。
这些配置文件的下载链接当前已经失效,无法下载。但是得益于我们的蜜罐和沙箱,我们得以部分的从历史数据中恢复这些配置文件,并回溯这些配置文件的变化过程。我们一共可以得到dat相关的URL共计182个;能够恢复的dat文件去重后有60个。
Dat文件的下载URL遵循下面两种模式:
·/down/p/%hashcode%/c.dat ·/upc/%date.from. 20170329.to. 20170417%/%hashcode%.dat
部分URL部分列举如下:
·/down/p/4F6464926628A512BC897FF1479C7926/c.dat ·/down/p/678327877ABCF144FC522E475D4F86A5/c.dat ·/down/p/EF9B2FB417F8DCDA933C1577D2D09809/c.dat ·/upc/20170329/2A7BF0576BE7380A30B8669182226FBD.dat ·/upc/20170329/2EE8BCDE0F600675CE71AA46115C3C0C.dat ·/upc/20170331/7A467BE60E62F602390822B9D6E0E656.dat ·/upc/20170331/E9E997F6B5A28BB6892308B70E2337BE.dat ·/upc/20170412/FFF4D9D9A3B87C99C0700ED402CE8B79.dat ·/upc/20170417/EFDEE85057DBDB73D7E03FC2E00412EB.dat ·/upc/20170417/F1779F2547D764ED49CD9CFA64525C9F.dat
后一种模式中包含了一个日期字符串。这个串在不同URL之间的分布如下:
第二阶段:该域名下的软件升级配置清单的具体情况
我们选择恶意样本 49cff46088790b360c6d2215c62dd4a0作为详细考察对象。该样本在VT上出现过,感兴趣的读者可以动手验证本节内容。
172.16.1.109 -> 124.239.232.227 HTTP 54 GET /down/p/822DD7B25E410767E844E4B886408FB5/c.dat HTTP/1.1 172.16.1.109 -> 106.15.34.166 HTTP 596 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 596 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 668 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 668 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 596 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 596 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 648 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 648 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.38.250.151 HTTP 297 GET /duba/install/2011/ever/kbasesrv_setup170309_0_0.exe HTTP/1.1 172.16.1.109 -> 106.15.34.166 HTTP 692 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 652 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 221.228.204.172 HTTP 287 POST /query?1497816375 HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 114.112.93.49 HTTP 251 POST /db/?v=2&p=db&u=1c670d9082c1861e2ddf952ba3e59544&m=00163eebca6d0000&ip=1828786348&s=04b919cccbc6d4fb14f2b3224cef67c2 HTTP/1.1 172.16.1.109 -> 211.159.130.102 HTTP 371 POST /nep/v1/ HTTP/1.1 (application/octet-stream) 172.16.1.109 -> 211.159.130.102 HTTP 371 POST /nep/v1/ HTTP/1.1 (application/octet-stream) 172.16.1.109 -> 211.159.130.102 HTTP 387 POST /nep/v1/ HTTP/1.1 (application/octet-stream) 172.16.1.109 -> 106.15.34.166 HTTP 648 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.15.34.166 HTTP 648 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.38.250.151 HTT
筛选其中关键通信过程如下:
172.16.1.109 -> 124.239.232.227 HTTP 54 GET /down/p/822DD7B25E410767E844E4B886408FB5/c.dat HTTP/1.1 172.16.1.109 -> 106.15.34.166 HTTP 596 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.38.250.151 HTTP 297 GET /duba/install/2011/ever/kbasesrv_setup170309_0_0.exe HTTP/1.1 172.16.1.109 -> 106.15.34.166 HTTP 692 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded) 172.16.1.109 -> 106.38.250.151 HTTP 289 GET /duba/install/2011/ever/qqgame_u44036888.exe HTTP/1.1 172.16.1.109 -> 106.15.34.166 HTTP 640 POST /ddrept HTTP/1.1 (application/x-www-form-urlencoded)
解释如下:
· 向bjftzt.cdn.powercdn.com请求c.dat,获得待推广软件列表
· 向106.15.34.166 请求/ddrept,报告客户端状态
· 向 cd001.www.duba.net 请求下载kbasesrv_setup170309_0_0.exe,推广了一个软件
· 向106.15.34.166 请求/ddrept,报告客户端状态
· 向 cd001.www.duba.net 请求下载qqgame_u44036888.exe,推广了第二个软件
以上是按顺序访问c.dat中的前面两个软件item。我们在其他案例中见到下载过三个软件item的情况,并且猜测,如果不是因为沙箱运行时间终止,恶意软件也许会依次下载后续所有的其他item。
上面提到的配置文件bjftzt.cdn.powercdn.com /down/p/822DD7B25E410767E844E4B886408FB5/c.dat的密文如下:
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
之前文章中提到,这是一个DES+BASE64编码的文件。使用密钥“eh9ji8pf”展开,并且将得到的xml文件格式化,如下:
<config key="配置文件" version="2"> <conditionset tryno="normal"> <scene name="push"> <item name="kbasesrv_setup170309_0_0" pp="kbasesrv.exe;knbhm.exe;kpupdate.exe" prf="HKEY_LOCAL_MACHINESOFTWAREkbasesrv:ProgramPath:kbasesrv.exe,knbhm.exe,kpupdate.exe" md5="" u="http://cd001.www.duba.net/duba/install/2011/ever/kbasesrv_setup170309_0_0.exe" fn="kbasesrv_setup170309_0_0.exe" cmd="-tid1:40 -tid2:9 -tod1:1 -tod2:1 -xxlock:dr_1" cw="1" p="kbasesrv.exe;knbhm.exe;kpupdate.exe" rf="HKEY_LOCAL_MACHINESOFTWAREkbasesrv:ProgramPath:kbasesrv.exe,knbhm.exe,kpupdate.exe" cr="2:10" /> <item name="qqgame_u44036888" pp="" prf="HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstallQQ游戏:DisplayIcon:" md5="" u="http://cd001.www.duba.net/duba/install/2011/ever/qqgame_u44036888.exe" fn="qqgame_u44036888.exe" cmd="" cw="1" p="" rf="HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstallQQ游戏:DisplayIcon:" cr="2:10" /> <item name="qqmusic_u87006788_19_57" pp="" prf="HKEY_LOCAL_MACHINESOFTWARETencentQQMusic:Install:QQMusic.exe" md5="" u="http://cd001.www.duba.net/duba/install/2011/ever/qqmusic_u87006788_19_57.exe" fn="qqmusic_u87006788_19_57.exe" cmd="" cw="1" p="" rf="HKEY_LOCAL_MACHINESOFTWARETencentQQMusic:Install:QQMusic.exe" cr="2:10" /> <item name="qqlive_u31400492_19_52" pp="" prf="HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstallqqlive:InstallLocation:qqlive.exe" md5="" u="http://cd001.www.duba.net/duba/install/2011/ever/qqlive_u31400492_19_52.exe" fn="qqlive_u31400492_19_52.exe" cmd="" cw="1" p="" rf="HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstallqqlive:InstallLocation:qqlive.exe" cr="2:10" /> </scene> <condition name="m" value="1" /> <condition name="pkg" value="kq3_822DD7B25E410767E844E4B886408FB5_20170608" /> </conditionset> </config>
在这个案例中,多个知名软件的渠道推广安装包被打成一个包,命名为kq3_822DD7B25E410767E844E4B886408FB5_20170608,集中推广下载。仔细观察配置项,往往还能看到很多静默安装的选项。我们观察到的总样本超过600个,涉及60个不同的pkg,16个不同的软件item。
上述样本在vt上的参考链接如下:
https://www.virustotal.com/zh-cn/file/33de966aeb30bf371c5a363564cfd2cd1427a8304e39860917f29e52afdcc46d/analysis/
以上过程中涉及到多个角色,集中列出如下:
· bjftzt.cdn.powercdn.com,事件的主角,第一阶段劫持的受益者,第二阶段软件推广的发起者;
· dat文件,来自bjftzt.cdn.powercdn.com,软件推广配置文件,有pkg名称;由item组成,dat内的不同item,看起来是按顺序依次下载的;
· item,来自dat文件,指明了下载链接、安装选项、运行选项。通常是知名软件的客户端,但也有少量恶意软件;
· 106.15.34.166,事件中的报告服务器,恶意软件在下载得到dat文件、安装软件item完成后均会向该服务器报告自身状态。
第二阶段:被该域名推广的其他恶意软件
在被该域名推广的软件Item中,大部分是来知名软件的客户端,但是也有部分例外下载得到了恶意软件,包括:
这些恶意软件目前在VirusTotal在线检测中仅有360等少数杀毒软件能够查杀,各样本的查杀比例分别是 1/62,4/55,1/63。
总结这篇文章的前半部分,在我们看到的数据中,对bjftzt.cdn.powercdn.com的访问,或者是用户发起的HTTP请求被劫持,或者是由此站点分发的恶意软件再次回访获取静默推广软件列表。据此,我们有较强的信心可以假设:
访问bjftzt.cdn.powercdn.com = 被劫持
文章的后续部分均基于上述假设。如果读者能够提供反例,证明上述假定是错误的,则后续文章部分讨论的部分内容结论未必合理,读者后续阅读时需要加以注意。
该域名的访问情况
在我们假定针对该域名“访问即被劫持”的前提下,度量该域名的访问情况,可以了解本次劫持行为在互联网上的分布情况。
该域名的访问量巨大,月平均访问次数约为2000万/日,高峰时期4千万/日。
时间方面有以下几个数字和巧合:
· 首次出现时间:2017-03-27 17:22:55;
· 末次出现时间:2017-07-10 20:57:04(发稿时间)
· 一次流量波谷时间:2017-05-17,世界电信和信息社会日
· 二次流量波谷时间:2017-06-18,618某电商年度促销活动
· 三次流量波谷时间:2017-07-05,360安全卫士披露本次大规模软件劫持活动
域名bjftzt.cdn.powercdn.com的极早期感染情况
通常情况下,分析一个安全事件的极早期情况,有助于了解攻击者最初的攻击路径和企图。我们也对本次事件的极早期做了一些分析,虽然没有得到明确的指向性结果,但是还是列出在这里,供读者进一步分析验证。
极早期时间范围定义,从2017-03-27 17:22:55开始,至 2017-03-30 18:30时间点附近前后流量变化接近1000倍,这是一个跳变。可以利用此跳变将域名上线开始72小时(恰好3天)作为极早期,此后流量逐渐爬坡。
在这段时间内的访问行为有以下特点,据此我们推测这段时间内攻击者在做线上测试,尚未放量:
· 跳变前后,访问流量有1000倍变化
· 从云安全数据上看,被劫持的软件列表包括国内多款用户量过亿的流行软件,这些软件无疑是网络劫持的受害者。软件厂商除了加固安全升级机制以外,更应该加强合作与信息通报,共同对抗网络劫持的灰色利益团伙,为用户创造更干净的上网环境。
表:极早期域名bjftzt.cdn.powercdn.com上出现的各个URL
powercdn.com上的其他域名
我们考察了了powercdn.com主站上的其他域名,依据其流行程度排名如下:
dbjftzt.cdn.powercdn.com 与本次事件主角bjftzt.cdn.powercdn.com有若干地方相似。基于以下相似点,我们判定这两个域名同属一个家族。:
· 域名结构类似
· 云安全数据中,同样看到了http://dbjftzt.cdn.powercdn.com/down/BaiduNetdisk_5.5.4.1.exe,URL模式一致
· 访问流量方面,同样在5月17日世界电信日有个异常的波谷
最后,powercdn.com 应当负起对下属前述两个站点的监督审查职责。虽然一般而言,CDN服务商可以依据避风港原则,在充分履行了适当的内容监督审查职责的基础上,适当减轻或免除由于租户不当使用而带来的风险。但是在这个案例中,整个 powercdn.com下属域名流量中,90%以上都是来自这两个带病域名,而这两个域名又完全服务于软件升级劫持。在这个前提下,很难自证CDN提供商已经充分履行了站点内容监督审查职责。
受影响的软件和厂商以及应对措施
本次劫持时间中,受影响的软件和厂商摘要列表如下,时间窗口是从2016-03-27至今,以下排名依据URL下载地址字母序。
应对措施方面:
· 如果您是个人用户,建议您检查一下最近机器是否在您不知道的前提下新安装了软件。
· 如果您是企业用户,建议您在企业边界防火墙上阻断bjftzt.cdn.powercdn.com和dbjftzt.cdn.powercdn.com的所有访问。
· 如果您是软件厂商提供者,建议考虑升级到https,提高攻击者劫持的难度。同时加强安全社区间合作与信息通报,共同对抗网络劫持的灰色利益团伙,为用户创造更干净的上网环境。