记一次对虚拟主机的应急响应
2023-12-5 10:11:59 Author: 黑白之道(查看原文) 阅读量:5 收藏

1

背景

某天中午老板微信发来一个域名,手机打开看是个se情网站,如下图:

老板说网站被黑了,原来是网站被黑帽搞了SEO,让应急恢复网站业务。

2

应急响应

用电脑浏览器访问网站,发现页面内容为空白,但右键打开源码发现有东西:

会对访问者的UA进行检测,并且JS会进一步检测是否为手机UA,检测到手机UA才会跳转到色情页面。

用向日葵连接运维电脑进行远程应急,连上后,发现网站是用虚拟主机来搭建。

通常购买虚拟主机服务后,虚拟主机控制台会提供一个FTP地址和FTP账号密码,开发把源码上传至虚拟主机FTP服务器上进行网站部署,然后在主机管理页面绑定域名就能访问网站业务。整个部署过程虚拟主机服务商仅提供FTP账号密码进行文件管理,无法对网站服务器进行管理控制。

控制台有文件管理功能、数据库管理、主机状态管理。

首先来到主机状态管理,先把网站给关停,然后进行文件管理功能,对网站目录压缩,下载源码进行分析

分析web.config .htaccess httpd.ini文件内容均未发现异常,排除劫持配置文件导致的SEO

.htaccess <IfModule mod_rewrite.c>    RewriteEngine on    RewriteCond %{REQUEST_FILENAME} !-d    RewriteCond %{REQUEST_FILENAME} !-f    RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg|\.bmp)$    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]    RewriteRule ^(.*)App/Tpl/(.+).html$  / [NC,F]</IfModule>
web.config<?xml version="1.0" encoding="UTF-8"?><configuration>    <system.webServer>        <rewrite>            <rules>                <rule name="OrgPage" stopProcessing="true">                    <match url="^(.*)$" />                    <conditions logicalGrouping="MatchAll">                        <add input="{HTTP_HOST}" pattern="^(.*)$" />                                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />                                     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />                                </conditions>                                   <action type="Rewrite" url="index.php/{R:1}" />                         </rule>                <rule name="disableDownloadHtml">                    <match url="^App/Tpl/.*.html$" ignoreCase="true" />                    <action type="CustomResponse" url="/" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />                </rule>            </rules>        </rewrite>   </system.webServer></configuration>
httpd.iniRewriteRule (.*)$ /index\.php\?s=$1 [I]

对整个目录都进行搜索(大佬们有没有更好的搜索工具推荐),搜索结果显示整个网站源码文件中只有一个文件被修改 :

\wwwroot\Data\runtime\Data\config_cn.php

文件在runtime缓存目录下,config.cn.php文件内容返回一个数组,想到把文件里面的seo内容给删掉看看网站会不会恢复正常。结果删除相应内容后访问网站还是会发生跳转,继续分析可能是网站配置被修改,打开数据库查找相关的config表进行排查:

果不其然,seo内容被注入到数据库内。删掉数据库中的SEO内容,并且把config.cn.php内容修改后网站业务恢复正常。

3

漏洞分析

由于是虚拟主机无法对网站wwwroot目录以外的目录进行访问,所以无法获取网站服务器内的各种日志,通过查看虚拟主机控制面板,也没有日志管理功能,这里无法通过日志进行溯源分析。但是我们可以对网站进行分析。

访问网站后台,发现该网站使用youdiancms搭建:

访问数据库admin表,发现存在多个管理用户:

并且所有密码都是MD5加密,cmd5能查到所有密码,登录后台进行分析,在基本设置功能内看到了SEO内容,

继续分析其他设置,上传设置:

可以看到被添加php、php3等后缀,后台可以直接任意文件上传,分析服务器文件也发现了大马:

test.php

由此推测黑客利用弱口令登录后台直接修改配置文件进行色情SEO,并且利用youdiancms后台文件上传功能获得网站服务器控制权限。

4

途中

中途相关负责人联系到大厂工程师进群协助:

学习下大厂的应急处置流程:

首先大概是安装waf agent对服务器进行扫描

发现是虚拟主机后采用另外一套方案,直接修改域名cname解析上saas waf进行防护:

开waf授权:

saas waf配置:

把域名CNAME 记录值 配置成saas waf提供的地址:

waf生效:

大厂YYDS,向大厂学习应急处理流程。

文章作者:先知社区(102151****@qq.co)

文章来源:https://xz.aliyun.com/t/13147

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文

END


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650583217&idx=3&sn=dd9c770293ee164f00acab3e007f0928&chksm=83bdd555b4ca5c432156d93e7a7b884561121d134e429c58fde5e92c8fa7089db3fda640f06d&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh