对某网站被挂黑广告源头分析

事件起因

事件背景

  • 目标站点是国内一家有影响力的综合技术网站。

  • 通过网管人员及技术人员多次排查均告失败或者未能解决问题。


网站不断被人疑似挂马,在其所有网站上发现挂有图片的非法广告,公司站点是托管在阿里云服务器上,经过排查程序,也未发现原因,经过安全加固和处理后,再次出现网站被挂广告现象,被挂页面为jpg文件,打开jpg文件后,其内容为代码文件,会在挂马当前目录下保存1.jpg、2.jpg、3.jpg、4.jpg、5.jpg、6.jpg、7.jpg和8.jpg文件,其中miaoshu.txt和hunhe.txt为未获取。

本案例通过对日志文件的分析,成功获取后台地址,获取进入者的IP地址等信息。

图片中包含恶意代码

1恶意代码.png


获取日志文件

远程协助排查
  • 无法到服务器现场进行排查,通过打包日志下载进行分析,经过日志分析和排查,最终找到源头。因此日志分析,在安全维护和管理中至关重要。

  • 需要技术提供异常或者可疑日志文件

网管:阿里云服务器报警分析,如果有入侵行为,阿里云服务器会进行拦截和报警,但根据朋友的描述,未见明显异常。

广告系统是OpenX

经过查询OpenX(原名phpAdsNew)是一个用PHP开发的广告管理与跟踪系统,适合各类网站使用,能够管理每个广告主拥有的多种任何尺寸横幅广告,按天查看,详细和概要统计并通过电子邮件发送报表给广告主,官方网站为:adserver.openx.org。网上有报道称“南方周末网站发现OpenX广告业务模块被恶意植入挖矿脚本”,估计本次事件遇到的问题跟南方周末类似。


OpenX广告系统漏洞分析

(1)OpenX 'flowplayer-3.1.1.min.js'后门漏洞(CVE-2013-4211)

OpenX 2.8.10的downloadable zip文件存在后门漏洞,此漏洞源于已损坏的OpenX Source 源代码包内存在后门,被利用后可导致执行任意PHP代码。

(2)openx 2.8.10 /lib/max/Delivery/common.php 后门漏洞

https://www.seebug.org/vuldb/ssvid-62465

(3)OpenX banner-edit.php脚本任意文件上传漏洞

Seebug网站称OpenX的banner-edit.php(https://www.seebug.org/vuldb/ssvid-14993)脚本允许向webroot中的文件夹上传带有任意扩展名的文件,通过上传包含有GIF标记串的特制PHP脚本就可以导致执行任意PHP代码。

(4)OpenX 2.6 (ac.php bannerid) 远程SQL盲注漏洞

https://www.seebug.org/vuldb/ssvid-9660

(5)OpenX admin/campaign-zone-link.php SQL注入漏洞

OpenX 2.8.10及其他版本在admin/campaign-zone-link.php的实现上存在安全漏洞,利用这些漏洞可允许攻击者窃取Cookie身份验证凭证、控制应用、访问或修改数据、利用其他数据库漏洞,其利用代码如下:

http://www.example.com/www/admin/plugin-index.php?action=info&amp;amp;group=vastInlineBannerTypeHtml&amp;amp;parent="><script>alert(document.cookie);</script> [XSS]


广告系统进行漏洞测试

确认版本:从网上下载一个OpenX广告系统,通过对其广告系统**.*****.com进行访问,在线网站比对本地文件:“README.txt”(http://**.*****.com/README.txt)和“UPGRADE.txt”(http://**.*****.com/UPGRADE.txt),获取其系统的版本为2.8.9版本。

测试漏洞存在页面文件:对前面网上公开的漏洞url进行测试,未发现问题。

测试跨站被拦截:在目标站点测试跨站,可以看到被WAF防火墙拦截。


日志文件分析

使用类linux系统对日志文件进行查询

由于给的日志文件(1G以上)个头比较大,使用编辑器无法正常打开,在本案例中使用PentestBox,分别执行以下命令:

cat *.log | grep "user" >user.txt

cat *.log | grep "password" >password.txt

cat *.log | grep "username="

cat *.log | grep "password="

使用类linux系统对日志文件进行查询.png


使用编辑器查看结果文件

使用notepad程序分别查看前面生成的user.txt和password.txt,获取其管理员登录广告系统的用户名、密码及IP地址信息。

使用编辑器查看结果文件.png

对php文件进行查看

执行cat *.log | grep ".php"命令查看,结果文件太多,因此不适合进行粗略型查看。后续分别对前面出现漏洞php文件进行查看:

(1)cat *.log | grep  "common.php",命令无结果

(2)cat *.log | grep  "ac.php",命令无结果

(3)cat *.log | grep  "campaign-zone-link.php",命令无结果

(4)cat *.log | grep  "plugin-index.php",命令无结果

(5)cat *.log | grep  "banner-edit.php",命令有结果

banner-edit.php文件执行的是编辑操作,上传图片等多媒体文件操作,在其结果中还存在url访问记录:http://**.*****.com/www/admin/assets/min.php?g=oxp-js&v=2.8.9,跟前面分析的版本吻合。

后台登陆确认及IP地址追溯

后台管理登录地址:通过日志文件获取其后台登录地址为:http://**.*****.com/www/admin/banner-edit.php?clientid=7&campaignid=1567&bannerid=7338。

后台登陆账号及口令:账号为“admin”,密码为“*****2017”,典型的弱口令。

获取登录系统的IP地址:获取登录系统的IP地址为124.207.72.98,经查询IP地址124.207.72.98归属于鹏博士宽带。


   经过验证,使用以上密码可以登录广告管理系统,如果确认攻击者IP地址,可以将以上IP交由当地网安部门或者派出所进行立案侦查。


最终分析
  • 通过对OpenX所有漏洞进行分析,未发现被攻击目标系统被成功利用痕迹。

  • 通过日志文件分析,获取其后台管理口令为弱口令,猜测入侵者是通过破解后台弱口令进入系统。从本案例中可以看到在大型公司网站系统管理中,也会出现使用公司名称+年份的口令,这种口令可以进行社工猜测和暴力破解,是渗透的一种思路和方法。

  • 通过cat和grep命令,可以搜索特定关键字信息,进行结果输出和查看,对定位明确攻击页面具有较好的效果。Linux查看文件比较方便,基本不受文件大小限制。

  • 本案例中出现的安全事件,也可能是通过跨站来获取后台管理员账号及密码。



以上内容选取自安全牛课堂独家课程《日志分析及取证》,“戳我”可查看完整课程。



本文作者:牛油果 1472301220

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/162058.html

Tags:
评论  (0)
快来写下你的想法吧!

牛油果 1472301220

文章数:20 积分: 166

微信同QQ 1472301220 认证相关问题随便问我都知道 我是可爱的小姐姐

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号