报告编号: 2018-06-07
报告来源: 360CERT
报告作者: 360CERT
更新日期: 2018-06-08
0x00 概述
5月23日Talos披露了VPNFilter事件,360CERT随后发布了对此的详细分析。此后我们一直在拓展寻求新的VPNFilter相关线索。6月6日Talos披露发现了VPNFilter更多stage3的恶意代码,并把它们分为三类:ssler(JavaScript注入模块),dstr(设备注入模块)和ps(数据包嗅探模块)。下面是公布的IOC中这三个模块和架构的具体情况。
本次更新重点在于我们拓展到的STAGE3部分中一些新的攻击插件,此前STAGE3的攻击插件仅提供数据包嗅探,TOR代理功能,在新的攻击插件中提供了
- JS注入能力
- 设备破坏能力
- 颗粒度更细的数据包嗅探能力
0x01 ssler模块
以x86架构的样本为例(SHA-256:3df17f01c4850b96b00e90c880fdfabbd11c64a8707d24488485dd12fae8ec85)分析。该模块主要的功能是拦截80端口流量,记录敏感信息和进行JS注入。
该模块可以接收下面这些参数:dst,src,dump,site和hook。
dst和src:与设置iptables规则有关的源地址和目标地址。
dump:通过dump传递的域名的HTTP头会被记录在reps_*.bin。
site:通过site传递的域名是JS注入的目标。
hook:被注入的JS文件的URL。
使用insmod命令把三个与iptables相关的驱动ip_tables.ko,iptable_filter.ko和iptable_nat.ko加载到内核。
每过245秒就删除iptables规则并重新添加。
在将请求发向真正的服务器之前会做下面这些事情。
将https://换成http://。
将keep-alive换成close。
如果包含gzip会被换成plaintext/none,除非包含下列特定类型的文件:jpg,jpeg,png,gif,css,js,ttf和woff。
如果URL中含有下面这些字段就认为URL是含有凭证的,会被保存。
请求accounts.google.com的POST包如果包含signin字符串,也会被保存。
保存的格式如下。
下面的域名总是通过https连接而不会被换成http:www.google.com,twitter.com,www.facebook.com,www.youtube.com。
在接收到响应将其发给程序之前会做下面这些事情。
忽略下面的响应头:
Alt-Svc
Vary
Content-MD5
content-security-policy
X-FB-Debug
public-key-pins-report-only
Access-Control-Allow-Origin
尝试注入Content-Type: text/html或者Content-Type: text/javascript。
注入的方法是把<meta name= … >
换成<script type=\"text/javascript\" src=\"注入内容\" ></script>
。
0x02 dstr模块
以x86架构的样本为例(SHA-256:acf32f21ec3955d6116973b3f1a85f19f237880a80cdf584e29f08bd12666999)分析。该模块主要的功能是清理痕迹。
停止含有vpnfilter,security和tor名称的进程。
删除下列名称或目录。
将/dev/mtd%d
memset为0xFF。
执行rm -rf /*
并通过sys_reboot系统调用重启。
0x03 ps模块
以mips架构的样本为例(SHA-256:cd8cf5e6a40c4e87f6ee40b9732b661a228d87d468a458f6de231dd5e8de3429)分析。该模块主要的功能是做数据包嗅探。
被记录的数据包满足以下两个条件之一:
1.包含Authorization: Basic字段和user/pass的组合。
user可以是:User=,user=,Name=,name=,Usr=,usr=,Login=和login=中的一个。
pass可以是:Pass=,pass=,Password=,password=,Passwd=和passwd=中的一个。
2.不包含下列字符串:</和>,<?xml,Basic Og==,/tmUnblock.cgi,Password Required,<div,<form,<input,this.和.get,{,},200 OK,<span,<SPAN,<DIV。
同时我们之前分析的stage3的样本有Modbus协议的部分,综合起来可以描绘出stage3的功能:记录502端口的流量;对于非502端口的流量记录的条件如前所述,主要是和HTTP BASIC认证相关的内容(502端口即为Modbus协议使用的端口)。
在cisco的报告中还指出stage3的一个样本是专门针对TP-LINK R600VPN路由器的。样本会监控网络共享服务流量, 使用原始套接字寻找特定IP地址的连接,cisco的描述如下图所示。
0x04 总结
通过这次的更新的进展,我们已经可以大致描述出整个VPNFilter的攻击流程:
- 通过大量扫描利用进入STAGE1,为STAGE2做足准备
- Dropper通过EXIF信息从C2下载STAGE2的恶意软件,提供插件化的利用平台
- 通过不同的目的进行插件编写和下发执行
通过现在的分析, 我们至少看到了VPNFilter插件有
- TOR Proxy
- Packet Sniffer
- Vuln Exploit
- Device Destruction
- JS Injection
这些多维度的攻击能力让VPNFilter在接管路由后快速获得整个网络层的权限进而做出接下来的行动。
除此之外,我们重点对国内资产进行了排查(仅包括本次更新的新增利用插件),结论是国内影响量极小,主要攻击和受感染来源依旧是俄罗斯和乌克兰。
国内可能受感染情况统计
厂商设备 | 感染数量 |
---|---|
ASUS(华硕) | 545 |
HUAWEI(华为) | 0 |
LINKSYS | 140 |
MIKROTIK | 890 |
NETGEAR | 367 |
TP-LINK | 30 |
ZTE(中兴) | 0 |
TOTAL(总计) | 1972 |
其中受到关注的三家国内厂商华硕(台湾),华为,中兴,除中兴设备ZXHN H108N
外,公网占量都极小且大部分开放都在国外,其中中兴ZXHN H108N
在公网开放有近5w设备,其中近45000的设备都位于俄罗斯和乌克兰,根据数据结论和分析推测,vpnfilter的大部分感染和攻击都位于乌克兰和俄罗斯,国内用户大可不必过于紧张。
0x05 新增IoC
由于我们在第一次跟踪时已经添加了部分talos遗漏的IoC,所以本次新增IoC是针对我们上篇报告的新增。
IP:
91.200.13[.]76
23.111.177[.]114
Domain:
4seiwn2ur4f65zo4.onion/bin256/update.php
zm3lznxn27wtzkwa.onion/bin16/update.php
Malware
STAGE1:
b9770ec366271dacdae8f5088218f65a6c0dd82553dd93f41ede586353986124 51e92ba8dac0f93fc755cb98979d066234260eafc7654088c5be320f431a34fa 6a76e3e98775b1d86b037b5ee291ccfcffb5a98f66319175f4b54b6c36d2f2bf 313d29f490619e796057d50ba8f1d4b0b73d4d4c6391cf35baaaace71ea9ac37
STAGE2:
2ffbe27983bc5c6178b2d447d8121cefaa5ffa87fe7b9e4f68272ce54787492f 1e741ec9452aab85a2f7d8682ef4e553cd74892e629012d903b521b21e3a15bf 90efcaeac13ef87620bcaaf2260a12895675c74d0820000b3cd152057125d802 eaf879370387a99e6339377a6149e289655236acc8de88324462dcd0f22383ff 081e72d96b750a38ef45e74d0176beb982905af4df6b8654ea81768be2f84497 24b3931e7d0f65f60bbb49e639b2a4c77de83648ff08e097ff0fa6a53f5c7102 4497af1407d33faa7b41de0c4d0741df439d2e44df1437d8e583737a07ec04a1 579b2e6290c1f7340795e42d57ba300f96aef035886e80f80cd5d0bb4626b5fc eeb3981771e448b7b9536ba5d7cd70330402328a884443a899696a661e4e64e5 952f46c5618bf53305d22e0eae4be1be79329a78ad7ec34232f2708209b2517c e70a8e8b0cd3c59cca8a886caa8b60efb652058f50cc9ff73a90bc55c0dc0866 5be57b589e5601683218bb89787463ca47ce3b283d8751820d30eee5e231678c fe46a19803108381d2e8b5653cc5dce1581a234f91c555bbfff63b289b81a3dc ae1353e8efe25b277f52decfab2d656541ffdf7fd10466d3a734658f1bc1187a 2ef0e5c66f6d46ddef62015ea786b2e2f5a96d94ab9350dd1073d746b6922859 181408e6ce1a215577c1daa195e0e7dea1fe9b785f9908b4d8e923a2a831fce8 2aa7bc9961b0478c552daa91976227cfa60c3d4bd8f051e3ca7415ceaeb604ca 375ededc5c20af22bdc381115d6a8ce2f80db88a5a92ebaa43c723a3d27fb0d6 0424167da27214cf2be0b04c8855b4cdb969f67998c6b8e719dd45b377e70353 7e5dca90985a9fac8f115eaacd8e198d1b06367e929597a3decd452aaa99864b 8de0f244d507b25370394ba158bd4c03a7f24c6627e42d9418fb992a06eb29d8 7ee215469a7886486a62fea8fa62d3907f59cf9bf5486a5fe3a0da96dabea3f9 ff70462cb3fc6ddd061fbd775bbc824569f1c09425877174d43f08be360b2b58 f5d06c52fe4ddca0ebc35fddbbc1f3a406bdaa5527ca831153b74f51c9f9d1b0 bc51836048158373e2b2f3cdb98dc3028290e8180a4e460129fef0d96133ea2e d9a60a47e142ddd61f6c3324f302b35feeca684a71c09657ddb4901a715bd4c5 95840bd9a508ce6889d29b61084ec00649c9a19d44a29aedc86e2c34f30c8baf 3bbdf7019ed35412ce4b10b7621faf42acf604f91e5ee8a903eb58bde15688ff 9b455619b4cbfeb6496c1246ba9ce0e4ffa6736fd536a0f99686c7e185eb2e22 bfd028f78b546eda12c0d5d13f70ab27dff32b04df3291fd46814f486ba13693 a15b871fcb31c032b0e0661a2d3dd39664fa2d7982ff0dbc0796f3e9893aed9a d1bc07b962ccc6e3596aa238bb7eda13003ea3ca95be27e8244e485165642548 eec5cd045f26a7b5d158e8289838b82e4af7cf4fc4b9048eaf185b5186f760db 29ae3431908c99b0fff70300127f1db635af119ee55cd8854f6d3270b2e3032e ca0bb6a819506801fa4805d07ee2ebaa5c29e6f5973148fe25ed6d75089c06a7 6d8877b17795bb0c69352da59ce8a6bfd7257da30bd0370eed8428fad54f3128 5cf43c433fa1e253e937224254a63dc7e5ad6c4b3ab7a66ec9db76a268b4deeb a6e3831b07ab88f45df9ffac0c34c4452c76541c2acd215de8d0109a32968ace f4f0117d2784a3b8dfef4b5cb7f2583dd4100c32f9ee020f16402508e073f0a1 7093cc81f32c8ce5e138a4af08de6515380f4f23ed470b89e6613bee361159e1 350eaa2310e81220c409f95e6e1e53beadec3cffa3f119f60d0daace35d95437 776cb9a7a9f5afbaffdd4dbd052c6420030b2c7c3058c1455e0a79df0e6f7a1d d2de662480783072b82dd4d52ab6c57911a1e84806c229f614b26306d5981d98 c8a82876beed822226192ea3fe01e3bd1bb0838ab13b24c3a6926bce6d84411b f30a0fe494a871bd7d117d41025e8d2e17cd545131e6f27d59b5e65e7ab50d92 8a20dc9538d639623878a3d3d18d88da8b635ea52e5e2d0c2cce4a8c5a703db1 0649fda8888d701eb2f91e6e0a05a2e2be714f564497c44a3813082ef8ff250b 2c2412e43f3fd24d766832f0944368d4632c6aa9f5a9610ab39d23e79756e240 218233cc5ef659df4f5fdabe028ab43bc66451b49a6bfa85a5ed436cfb8dbc32 cccbf9bff47b3fd391274d322076847a3254c95f95266ef06a3ca8be75549a4b ab789a5a10b4c4cd7a0eb92bbfcf2cc50cb53066838a02cfb56a76417de379c5 4896f0e4bc104f49901c07bc84791c04ad1003d5d265ab7d99fd5f40ec0b327f 5e715754e9da9ed972050513b4566fb922cd87958ecf472d1d14cd76923ae59a 797e31c6c34448fbecda10385e9ccfa7239bb823ac8e33a4a7fd1671a89fe0f6 48bfcbc3162a0b00412cba5eff6c0376e1ae4cfbd6e35c9ea92d2ab961c90342 7a66d65fa69b857beeeaaef67ec835900eee09a350b6f51f51c83919c9223793 b0edf66d4f07e5f58b082f5b8479d48fbab3dbe70eba0d7e8254c8d3a5e852ef 840ba484395e15782f436a7b2e1eec2d4bf5847dfd5d4787ae64f3a5f668ed4f 80c20db74c54554d9936a627939c3c7ea44316e7670e2f7f5231c0db23bc2114 5dabbce674b797aaa42052b501fb42b20be74d9ffcb0995d933fbf786c438178 055bbe33c12a5cdaf50c089a29eaecba2ccf312dfe5e96183b810eb6b95d6c5a c084c20c94dbbffed76d911629796744eff9f96d24529b0af1e78cda54cdbf02 5f6ee521311e166243d3e65d0253d12d1506750c80cd21f6a195be519b5d697f fcb6ff6a679ca17d9b36a543b08c42c6d06014d11002c09ba7c38b405b50debe a168d561665221f992f51829e0b282eeb213b8aca3a9735dbbaecc4d699f66b9 98112bd4710e6ffe389a2beb13ff1162017f62a1255c492f29238626e99509f3 afacb38ea3a3cafe0f8dbd26dee7de3d0b24cdecae280a9b884fbad5ed195de7 b431aebc2783e72be84af351e9536e8110000c53ebb5db25e89021dc1a83625e 2b39634dce9e7bb36e338764ef56fd37be6cd0faa07ee3673c6e842115e3ceb1 11533eedc1143a33c1deae105e1b2b2f295c8445e1879567115adebfdda569e2 36e3d47f33269bef3e6dd4d497e93ece85de77258768e2fa611137fa0de9a043 e6c5437e8a23d50d44ee47ad6e7ce67081e7926a034d2ac4c848f98102ddb2f8 1cb3b3e652275656b3ae824da5fb330cccd8b27892fb29adc96e5f6132b98517 ec88fe46732d9aa6ba53eed99e4d116b7444afd2a52db988ea82f883f6d30268 99944ad90c7b35fb6721e2e249b76b3e8412e7f35f6f95d7fd3a5969eaa99f3d 8505ece4360faf3f454e5b47239f28c48d61c719b521e4e728bc12d951ecf315 dd88273437031498b485c380968f282d09c9bd2373ef569952bc7496ebadadde 6e7bbf25ea4e83229f6fa6b2fa0f880dde1594a7bec2aac02ff7d2d19945d036 f989df3aeede247a29a1f85fc478155b9613d4a416428188eda1a21bd481713a 4af2f66d7704de6ff017253825801c95f76c28f51f49ee70746896df307cbc29 ba9fee47dcc7bad8a7473405aabf587e5c8d396d5dd5f6f8f90f0ff48cc6a9ce 5d94d2b5f856e5a1fc3a3315d3cd03940384103481584b80e9d95e29431f5f7a 33d6414dcf91b9a665d38faf4ae1f63b7aa4589fe04bdd75999a5e429a53364a 14984efdd5343c4d51df7c79fd6a2dfd791aa611a751cc5039eb95ba65a18a54 879be2fa5a50b7239b398d1809e2758c727e584784ba456d8b113fc98b6315a2 c0cfb87a8faed76a41f39a4b0a35ac6847ffc6ae2235af998ee1b575e055fac2 fc9594611445de4a0ba30daf60a7e4dec442b2e5d25685e92a875aca2c0112c9 81cbe57cd80b752386ee707b86f075ad9ab4b3a97f951d118835f0f96b3ae79d 4e022e4e4ee28ae475921c49763ee620b53bf11c2ad5fffe018ad09c3cb078cc a3cf96b65f624c755b46a68e8f50532571cee74b3c6f7e34eecb514a1eb400cf ff471a98342bafbab0d341e0db0b3b9569f806d0988a5de0d8560b6729875b3e 638957e2def5a8fda7e3efefff286e1a81280d520d5f8f23e037c5d74c62553c 4ffe074ad2365dfb13c1c9ce14a5e635b19acb34a636bae16faf9449fb4a0687 4c596877fa7bb7ca49fb78036b85f92b581d8f41c5bc1fa38476da9647987416 49a0e5951dbb1685aaa1a6d2acf362cbf735a786334ca131f6f78a4e4c018ed9 0dc1e3f36dc4835db978a3175a462aa96de30df3e5031c5d0d8308cdd60cbede e74ae353b68a1d0f64b9c8306b2db46dfc760c1d91bfdf05483042d422bff572 00c9bbc56388e3fffc6e53ef846ad269e7e31d631fe6068ff4dc6c09fb40c48b c2bcde93227eb1c150e555e4590156fe59929d3b8534a0e2c5f3b21ede02afa0 70c271f37dc8c3af22fdcad96d326fe3c71b911a82da31a992c05da1042ac06d ffb0e244e0dabbaabf7fedd878923b9b30b487b3e60f4a2cf7c0d7509b6963ba dbede977518143bcee6044ed86b8178c6fc9d454fa346c089523eedee637f3be 4d6cbde39a81f2c62d112118945b5eeb1d73479386c962ed3b03d775e0dccfa0 fa229cd78c343a7811cf8314febbc355bb9baab05b270e58a3e5d47b68a7fc7d 4beba775f0e0b757ff32ee86782bf42e997b11b90d5a30e5d65b45662363ece2 a41da0945ca5b5f56d5a868d64763b3a085b7017e3568e6d49834f11952cb927 f3d0759dfab3fbf8b6511a4d8b5fc087273a63cbb96517f0583c2cce3ff788b8 fa4b286eeaf7d74fe8f3fb36d80746e18d2a7f4c034ae6c3fa4c917646a9e147 be3ddd71a54ec947ba873e3e10f140f807e1ae362fd087d402eff67f6f955467 6449aaf6a8153a9ccbcef2e2738f1e81c0d06227f5cf4823a6d113568f305d2a 39dc1aded01daaf01890db56880f665d6cafab3dea0ac523a48aa6d6e6346fff 01d51b011937433568db646a5fa66e1d25f1321f444319a9fba78fd5efd49445 099a0b821f77cb4a6e6d4a641ed52ee8fea659ee23b657e6dae75bb8ca3418c3 4cbf9ecb6ca4f2efed86ba6ebf49436c65afe7ae523ec9dae58e432a9d9a89d0 66a98ad0256681313053c46375cb5c144c81bf4b206aaa57332eb5f1f7176b8c 97d00fc2bc5f5c9a56b498cf83b7a801e2c11c056772c5308ee7adea50556309 9e854d40f22675a0f1534f7c31626fd3b67d5799f8eea4bd2e2d4be187d9e1c7 a125b3e627ecd04d0dd8295e12405f2590144337481eb21086c4afb337c5b3f2 a7d154eaee39ff856792d86720a8d193da3d73bfe4ac8364da030d80539e9ac2 b2dd77af9dd9e8d7d4ebc778f00ff01c53b860a04c4e0b497f2ae74bb8a280c0
STAGE3:
acf32f21ec3955d6116973b3f1a85f19f237880a80cdf584e29f08bd12666999 47f521bd6be19f823bfd3a72d851d6f3440a6c4cc3d940190bdc9b6dd53a83d6 d09f88baf33b901cc8a054d86879b81a81c19be45f8e05484376c213f0eedda2 2af043730b632d237964dd6abd24a7f6db9dc83aab583532a1238b4d4188396b 4bfc43761e2ddb65fedab520c6a17cc47c0a06eda33d11664f892fcf08995875 cd8cf5e6a40c4e87f6ee40b9732b661a228d87d468a458f6de231dd5e8de3429 bad8a5269e38a2335be0a03857e65ff91620a4d1e5211205d2503ef70017b69c ff118edb9312c85b0b7ff4af1fc48eb1d8c7c8da3c0e1205c398d2fe4a795f4b 6807497869d9b4101c335b1688782ab545b0f4526c1e7dd5782c9deb52ee3df4 3df17f01c4850b96b00e90c880fdfabbd11c64a8707d24488485dd12fae8ec85 1367060db50187eca00ad1eb0f4656d3734d1ccea5d2d62f31f21d4f895e0a69 94eefb8cf1388e431de95cab6402caa788846b523d493cf8c3a1aa025d6b4809 78fee8982625d125f17cf802d9b597605d02e5ea431e903f7537964883cf5714 3bd34426641b149c40263e94dca5610a9ecfcbce69bfdd145dff1b5008402314
0x06 时间线
2018-05-23 Cisco Talos披露VPNFilter事件
2018-05-30 360CERT发布对病毒的详细分析
2018-06-06 Cisco Talos更新VPNFilter相关情况
2018-06-07 360CERT更新报告