结语:
攻击者对相关加密算法比较了解,选用了较为少见的Rabbit对称加密算法;攻击者具备一定的前端开发经验,代码容错性强,兼容性高了;后台不再是静态文件,而采用了动态生成内容,生成的网址也是一次性的;所有的js代码均经过了混淆变量的操作。
攻击者逐步开始学习国外流行Exploitkit的做法,动态生成攻击页面,并对漏洞利用代码加密,防止网关过滤和流量包重放分析,加大了分析难度,也有助于保密攻击代码。
对于普通用户建议应该尽量避免使用外挂辅助、避免点击伪装色情网站的恶意广告、开启安全软件进行防护。
https://bbs.safewiki.org/thread-141-1-1.html
通过监控追踪发现主要来源于外挂以及色情网站的自动弹窗广告,用户使用此类外挂自动弹出同城交友广告或浏览某些色情网站就可能触发带漏洞攻击的页面,如果此时受害者的机器没有打相应补丁的话,就会触发相应漏洞,开始下载木马并执行:
主要功能:
每次服务器都会生成一个随机的validate值放入表单中,这个值每次刷新得到的结果都不一样,通过这个值作为浏览器的会话标记。
此外,攻击者使用IE官方的HTML条件注释来进行浏览器版本判断,这种判断对于常见的前端设计是有效的,但是对于浏览器漏洞利用却是错误的,因为不同浏览器都会开启不同程度的兼容模式,导致错误的兼容性设置结果,所以不如直接判断浏览器版本好。
根据浏览器的上述的结果,构造最终需要提交的表单数据,并进行GET提交
GET提交的地址http://174.*.*.42/p/servlet?token=&id=49457&validate=XXXXXXXXXX
参数中有servlet,故猜测有可能后台是java。
这个请求会被302重定向到另外一个页面:
http://174.*.*.43/rt/ab06add394fb469b6510973131acb870.html?id=49457
这个页面会根据ID返回Rabbit或者RC4的加密后的Load代码,页面载入了额外的两个js库文件(encrypt.min.js、tinyjs.min.js),提供相关的对称和非对称加密算法。
代码中会预制一个RSA公钥,然后使用随机数生成函数来生成一段字符串作为后续的对称加密密钥,并将该数据POST到服务器,此外还会动态生成一个字符串,两者拼接后作为后续通讯加密的密钥。POST请求会从服务端返回这个密钥加密的漏洞利用代码。此时会根据接收到的数据选项,选择使用RC4还是Rabbit算法进行解密并执行。
漏洞利用成功后,会利用regsvr32调用sct文件执行对应脚本。
(Regsvr32是Windows命令行实用工具用于注册动态链接库文件,向系统注册控件或者卸载控件的命令,以命令行方式运行。国外网友Casey Smith@subTee发现通过调用regsrv32实用程序执行一条命令或者.sct文件有可能绕过AppLocker的脚本规则。由于该实用程序是具有微软官方签名的所以好处自不用多说了,并且支持TLS加密,遵循重定向方式,且不会在磁盘上留下痕迹。鉴于这么多优点,挂马者自然不会错过)
Sct文件:
文件中包含了经过base64编码后的恶意dll文件,利用ActiveXObject写入到本地文件,
在使用脚本操作二进制文件时,常常会因为不可见字符报错,所以挂马者通常会选择先对二进制文件作base64编码再操作,最后通过解码还原出二进制文件;
结语:
攻击者对相关加密算法比较了解,选用了较为少见的Rabbit对称加密算法;攻击者具备一定的前端开发经验,代码容错性强,兼容性高了;后台不再是静态文件,而采用了动态生成内容,生成的网址也是一次性的;所有的js代码均经过了混淆变量的操作。
攻击者逐步开始学习国外流行Exploitkit的做法,动态生成攻击页面,并对漏洞利用代码加密,防止网关过滤和流量包重放分析,加大了分析难度,也有助于保密攻击代码。
对于普通用户建议应该尽量避免使用外挂辅助、避免点击伪装色情网站的恶意广告、开启安全软件进行防护。