结语:
攻击者对相关加密算法比较了解,选用了较为少见的Rabbit对称加密算法;攻击者具备一定的前端开发经验,代码容错性强,兼容性高了;后台不再是静态文件,而采用了动态生成内容,生成的网址也是一次性的;所有的js代码均经过了混淆变量的操作。
攻击者逐步开始学习国外流行Exploitkit的做法,动态生成攻击页面,并对漏洞利用代码加密,防止网关过滤和流量包重放分析,加大了分析难度,也有助于保密攻击代码。
对于普通用户建议应该尽量避免使用外挂辅助、避免点击伪装色情网站的恶意广告、开启安全软件进行防护。

https://bbs.safewiki.org/thread-141-1-1.html

最近,360安全中心监测到一起网站弹窗广告挂马事件,弹出的网络广告出现挂马,广告内容以同城交友等伪装色情诱惑信息为主,通过对整个挂马攻击的过程分析发现该挂马脚本以及攻击负载(Payload)在通过中招者网络时进行加密,并在最后阶段通过进行解密执行。攻击负载甚至还利用regsrv32实用程序执行一个.sct文件来绕过AppLocker的脚本规则。
下面就对该挂马木马进行简单分析:

通过监控追踪发现主要来源于外挂以及色情网站的自动弹窗广告,用户使用此类外挂自动弹出同城交友广告或浏览某些色情网站就可能触发带漏洞攻击的页面,如果此时受害者的机器没有打相应补丁的话,就会触发相应漏洞,开始下载木马并执行:

<ignore_js_op>
<ignore_js_op>
该页面客户嵌入的js脚本过程如下:
<ignore_js_op>
挂马代码加密过程简图:
<ignore_js_op>
第一个页面http://174.*.96.42/index.php?id=011:

主要功能:
每次服务器都会生成一个随机的validate值放入表单中,这个值每次刷新得到的结果都不一样,通过这个值作为浏览器的会话标记。
此外,攻击者使用IE官方的HTML条件注释来进行浏览器版本判断,这种判断对于常见的前端设计是有效的,但是对于浏览器漏洞利用却是错误的,因为不同浏览器都会开启不同程度的兼容模式,导致错误的兼容性设置结果,所以不如直接判断浏览器版本好。
根据浏览器的上述的结果,构造最终需要提交的表单数据,并进行GET提交

<ignore_js_op>
<ignore_js_op>
第二个页面:

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),提供相关的对称和非对称加密算法。

<ignore_js_op>
解密得到的结果:

代码中会预制一个RSA公钥,然后使用随机数生成函数来生成一段字符串作为后续的对称加密密钥,并将该数据POST到服务器,此外还会动态生成一个字符串,两者拼接后作为后续通讯加密的密钥。POST请求会从服务端返回这个密钥加密的漏洞利用代码。此时会根据接收到的数据选项,选择使用RC4还是Rabbit算法进行解密并执行。

<ignore_js_op>
漏洞利用:最终解密执行的漏洞利用代码可以很明显看出是CVE-2016-0189。

漏洞利用成功后,会利用regsvr32调用sct文件执行对应脚本。
(Regsvr32是Windows命令行实用工具用于注册动态链接库文件,向系统注册控件或者卸载控件的命令,以命令行方式运行。国外网友Casey Smith@subTee发现通过调用regsrv32实用程序执行一条命令或者.sct文件有可能绕过AppLocker的脚本规则。由于该实用程序是具有微软官方签名的所以好处自不用多说了,并且支持TLS加密,遵循重定向方式,且不会在磁盘上留下痕迹。鉴于这么多优点,挂马者自然不会错过)

<ignore_js_op>
 
regsrv32命令行参数选项:
/s 静默执行


/n 指定不调用DllRegisterServer,此选项必须与/i共同使用


/i 调用DllInstall将它传递到可选的[cmdline],在与 /u 共同使用时,它调用DllUnstall


Sct文件:
文件中包含了经过base64编码后的恶意dll文件,利用ActiveXObject写入到本地文件,
在使用脚本操作二进制文件时,常常会因为不可见字符报错,所以挂马者通常会选择先对二进制文件作base64编码再操作,最后通过解码还原出二进制文件;

<ignore_js_op>
以下是测试将sct文件中的Base64部分转换成dll文件的js脚本:
然后会通过regsvr32加特定的参数执行:参数中包含lua脚本的下载链接。
<ignore_js_op>
在config.lua文件中其判断了是否为网吧环境,若是网吧环境则只安装小黑记事本(xiaohei.lua)和abc看图(abc.lua);否则安装如下图所示多款软件。
<ignore_js_op>
<ignore_js_op>
以duba.lua为例其中的lua脚本内容如下,主要判断未安装推广软件的环境下进行下载安装:
<ignore_js_op>
最终普通中招用户机器上被推广安装上10款推广软件:
<ignore_js_op>
根据监测及同源分析,该木马在早期的版本中还加入了“隐魂”木马,不过在近期传播的样本中并没有发现“隐魂”木马。
[360安全中心在8月份截获的感染MBR(磁盘主引导记录)的“隐魂”木马]
http://www.freebuf.com/articles/web/143912.html史上反侦察力最强木马“隐魂”:撑起色情播放器百万推广陷阱
http://www.freebuf.com/articles/system/144792.html“隐魂”木马篡改主页分析:史上反侦察力最强木马的犯罪素描
360安全卫士已经可以有效拦截此类网站挂马:
<ignore_js_op>
360安全卫士拦截木马利用regsvr32 注册sct木马:
<ignore_js_op>
<ignore_js_op>
<ignore_js_op>

结语:
攻击者对相关加密算法比较了解,选用了较为少见的Rabbit对称加密算法;攻击者具备一定的前端开发经验,代码容错性强,兼容性高了;后台不再是静态文件,而采用了动态生成内容,生成的网址也是一次性的;所有的js代码均经过了混淆变量的操作。
攻击者逐步开始学习国外流行Exploitkit的做法,动态生成攻击页面,并对漏洞利用代码加密,防止网关过滤和流量包重放分析,加大了分析难度,也有助于保密攻击代码。
对于普通用户建议应该尽量避免使用外挂辅助、避免点击伪装色情网站的恶意广告、开启安全软件进行防护。

转载于:https://www.cnblogs.com/beiank/p/8875760.html

色情网站的光棍节“福利”:加密式挂马玩转流氓推广相关推荐

  1. 还敢搞黄色?4 个色情网站被一锅端,9 名福利姬被刑拘!

    点击上方"五分钟学算法",选择"星标"公众号 重磅干货,第一时间送达 来源:扩展迷EXTFANS 9月4日,据 @江苏网警 通报: 今年3月份以来,浙江丽水莲都 ...

  2. 光棍节程序员闯关秀(总共10关)

    程序员闯关大挑战: https://1111.segmentfault.com/ 仓鼠演示7k7k.4399小游戏: http://cdn.abowman.com/widgets/hamster/ha ...

  3. 《光棍节程序员闯关秀》闯关攻略

              https://1111.segmentfault.com<光棍节程序员闯关秀>        程序员们,欢迎来攻!!! 在之前的基础上,重新整理了一遍,之前才闯到第8 ...

  4. 光棍节程序员闯关秀过关全攻略

    maven/java/web/bootstrapQQ群:566862629.希望更多人一起帮助我学习. 光棍节程序员闯关秀过关全攻略.程序员的寂寞谁能懂?"SF光棍节程序员闯关秀" ...

  5. 【游戏】光棍节程序员闯关秀过关攻略

    光棍节,与我无关,结果昨夜下了场雨,导致路面结冰,大侠的出行计划泡汤了,只好在家淘宝抢东西.结果网友发来一个光棍节程序员闯关秀游戏 ,让大侠一发不可收拾...游戏地址http://segmentfau ...

  6. 光棍节程序员闯关秀过关攻略

    光棍节,与我无关,结果昨夜下了场雨,导致路面结冰,大侠的出行计划泡汤了,只好在家淘宝抢东西.结果网友发来一个光棍节程序员闯关秀游戏 ,让大侠一发不可收拾...游戏地址http://segmentfau ...

  7. “光棍节”变“购物节”的第12年:4982亿+2715亿!

    今年是双11的第12个年头,与以往不同的是,双11已经不再是天猫的专属,而是全行业的狂欢,并且是全产品类的盛会.作为当下电商平台的代表,天猫.京东以及苏宁等也都交出了各自的答卷. 天猫双11成交额49 ...

  8. 注意了!浏览色情网站被短信通知检讨?可能是诈骗!

    来源 | 澎湃新闻.九派视频等 针对"网传有学生用校园网浏览色情网站被学校学工部短信通知深刻检讨"一事,9月23日,电子科技大学党委学生工作部相关工作人员告诉记者,已关注到网络上传 ...

  9. 11月第3周新闻回顾:难忘的光棍节 辛劳的IT人

    1.难忘的"神棍节",辛勤的IT人 2012年11月11号,又一轮沙漠风暴在"光棍节"的时候席卷互联网各大卖场,至11月12日00:00为止,阿里巴巴集团双十一 ...

最新文章

  1. android广告平台刷量,数据显示:Android平台广告营收首超iOS
  2. android-Activity的执行流程
  3. 【spark】SparkSession的API
  4. sql长整型_SQL性能优化,太太太太太太太有用了!
  5. vue each_Vue 应用单元测试的策略与实践 05 - 测试奖杯策略
  6. Python解释器有哪些?Python解释器种类
  7. python删除mysql数据库_python 删除mysql数据库
  8. linux网络收包过程
  9. redis哨兵模式原理_Redis的哨兵 (sentinal) 机制的工作原理
  10. 原型和原型链 及 instanceof函数
  11. 安装libvirt管理套件(C/S架构模式,用户管理kvm虚拟机)
  12. 写给对前途迷茫的朋友:五句话定会改变你的人生
  13. python安装opencv出错_python 3安装opencv 3时出错?
  14. 基于51单片机GPS的导航系统设计(1)---(设计思路)
  15. 凤凰职教网计算机一级成绩查询,一-凤凰职教网.PPT
  16. WPF中的对话框 Dialog
  17. 数据技术篇之数据同步
  18. Python计算文件或字符串的MD5/SHA
  19. 关于雷达信号“相干性”的解释
  20. FPGA精简版UDP协议实现板间网线传输视频,提供3套工程源码

热门文章

  1. C++标准程序库(学习笔记)二
  2. WIN/LINUX 本地指定域名IP,hosts,hosts文件位置在哪里_hosts文件怎么修复
  3. Android开发的UI设计——Material Design
  4. VC2019 VC2022添加导入Word Excel AutoCAD Surfer等类型库(typelibaray)的方法
  5. 地磅怎么改造才能实现无人值守称重
  6. SQL学习笔记——task3:MySQL复杂查询
  7. 本地镜像运行Docker容器Unable to find image 'hello-world:latest' locally docker: Error response from daemon
  8. java 调用net use 失败_JAVA使用maven管理项目,JUnit测试运行出现class not found错误
  9. 基于javaweb的农产品溯源管理系统(java+ssm+jsp+layui+jquery+mysql)
  10. OAuth2.0的一些疑问