Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

$
0
0

本文讲述的是利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛),旨在服务社会,供安全研究人员学习使用,请勿用于其他非法用途,违者后果自负。

1月11日,360安全卫士云安全系统检测到国内知名军事论坛“军号网”上出现可疑的挂马行为,随即进行追踪分析。经过进一步确认,发现这是一次攻击范围很小、时间短暂,而且被攻击者迅速清理现场的挂马,很可能是有明确目标的针对性攻击事件。

攻击者使用改造升级版的BlackHole EK挂马工具包(BlackHole作者早在2013年已被逮捕),结合论坛的XSS漏洞进行挂马,相比普通黑产具有更高的技术水平。

论坛挂马手段

这次挂马点比较隐蔽,经过反复检查后确认是利用论坛的漏洞插入了挂马页面。该漏洞是Discuz论坛针对ed2k协议解析时的一个XSS漏洞[2],在解析过程论坛会自动对e2dk链接中的文件大小进行识别并直接输出,并且未进行过滤,导致出现了一个存储型XSS。攻击者利用该漏洞插入了恶意js脚本代码,调用document.write函数向页面中插入挂马iframe页面和恶意js脚本。
利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图1 攻击者发帖


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图2 插入的XSS代码

挂马页面分析

攻击者在帖子中插入了两类代码,其中第一类仅在其发表的第一个帖子中存在,该脚本是从网上的获取cookie代码修改而来,怀疑也是类似获取用户访问的信息,但是可能编写有问题,并没有获取成功。


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图3 获取信息的脚本内容

而在其他帖子中则插入的恶意挂马代码,利用js载入一个iframe,地址是hxxp://lynxlyragrus.com/aengewauhg/ball/nobody_grows-leaving-complained.php,注意这个网址采用了com域名,其他相关的url也有伪装模式。载入的页面是攻击包的着陆页面,该页面的代码加密特点是使用了-1来分割加密的字符串,具体的解密算法如下图所示


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图4 着陆页面解密代码

解码后整体代码分成三部分,第一部分则是一个内容异常丰富的浏览器及各种插件版本判断方法,代码编写规范,相比其他常见的EK更加的工程化。第二部分是使用js对Java、Flash进行版本判断,并选择执行对应的挂马函数。


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图5 版本判断代码

然后是最重要的第三部分,其主要功能是待执行的多个函数代码,分别为命名为f1、f2、f3、i1、i2、i3、p2、j1,通过调用这些函数,引入漏洞利用文件和js代码。这些函数也会在引入文件的同时向服务端传递动态生成的参数信息,以保证漏洞页面只能被一次性访问。


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图6 引入攻击代码

其中f2函数则载入了一个Flash文件,该文件会通过RC4加密方法把实际的漏洞利用代码加密到BinaryData中,解开后根据代码确认是CVE-2015-8651。


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图7 CVE-2015-8651代码

i1代码引入的js文件是被Base64编码过的,解开之后是CVE-2013-2551的漏洞利用代码,因为该漏洞时间较久,因此很少有攻击包会选择这个漏洞。


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图8 CVE-2013-2551代码

进一步分析

复现挂马之后,我们对这个挂马页面进行了多次试探,试图发现更多信息。经过多次尝试,我们发现所有的页面访问都具备漏洞攻击包的常见安全措施,页面会对请求做一定的防范措施,使用错误的链接和过期的网址参数访问只会获得“Industry is the parent of success”的字符串。此外,我们还发现该漏洞针对不同浏览器版本会引入不同漏洞攻击函数,如图6所示的着陆页面漏洞攻击函数中有很多是空白直接返回的,但是使用IE9访问时i3函数出现了的具体攻击代码内容,而换用Chrome去访问,则能够获取函数f1和f3代码内容,根据函数命名猜测i1、i2、i3是ie的漏洞页面,f1、f2、f3是针对Flash的相关漏洞,p2则是pdf相关漏洞,j1则是java的漏洞。

但是因为挂马页面很快失效,未能够及时获取对Flash与其他攻击文件,即使这样我们根据着陆页面中相关插件软件的版本判断,结合以往常见漏洞的利用情况[3],大致猜测该攻击包所利用的漏洞情况如表1所示。

表1 漏洞利用情况


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...
根据着陆页面的代码风格与部分特殊函数命名,我们发现该攻击包是修改自以往的BlackHole Exploit Kit,BlackHole Exploit Kit是前几年比较流行的攻击包,但是作者在2013年被逮捕,随后该攻击包不再更新并逐渐消失。这次的攻击代码显然是基于最后的BlackHole版本,代码与最后活跃版本的BlackHole基本一致[4],并且更新了最新的相关漏洞,怀疑是有人在以往购买的BlackHole基础上进行修改并增加了最新的漏洞。

载荷分析

最后释放到本地的文件是一个基于Zeus Bot代码的新变种,我们根据它的配置信息把它命名为ff0bot木马。Zeus Bot是有史以来最臭名昭著的网银木马之一,该木马的完整源代码曾被人泄露在互联网上,并被不断修改用于恶意攻击行为。


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图9 木马配置信息

Ff0bot命令列表


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图10 指令代码

其主要功能如下:


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图11 窃取用户密码


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图12 窃取证书私钥


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图13 屏幕截图功能


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图14 解密配置文件代码

总结


利用Discuz e2dk地址XSS挂马分析报告(针对某专业军事论坛) Discuz e2dk地址 XSS挂马 ...

图15 攻击者发帖记录

这次挂马时间非常短暂,攻击者在1月10日凌晨第一次发布两个帖子,随后每隔1天就在凌晨继续发布回帖,总共才发了4条帖子,然后1月13日晚挂马页面失效,1月16晚攻击者删去所有攻击代码,并开始逐一删除相关回复帖子,至此销声匿迹仿佛什么也没有发生过。

相比我们以往监测到的挂马,这次挂马攻击范围比较小,攻击时间短暂并且注重隐蔽清理现场,利用的技术水平比常见的国内黑产更高,喜欢在现有成熟的攻击工具基础上进行改造升级。

最后,为了有效防范此类攻击,请大家及时更新系统补丁并及时升级常见软件,也希望各个论坛管理员能够及时更新论坛代码,减少用户遭受攻击风险。针对此类挂马攻击,360安全卫士也针对性的采用多层次防御体系进行有效阻止,保护用户电脑安全。


Viewing all articles
Browse latest Browse all 12749

Trending Articles