记一次虚拟主机应急
2023-11-30 21:19:0 Author: xz.aliyun.com(查看原文) 阅读量:11 收藏

0x01 背景

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

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

0x02 应急处理

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

会对访问者的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.ini
RewriteRule (.*)$ /index\.php\?s=$1 [I]

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

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

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

0x03 漏洞分析

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

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

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

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

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

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


test.php

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

0x04 途中

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


学习下大厂的应急处置流程:
首先大概是安装waf agent对服务器进行扫描

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


开waf授权:

saas waf配置:

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

waf生效:

0x05 最后

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


文章来源: https://xz.aliyun.com/t/13147
如有侵权请联系:admin#unsafe.sh