记一次对虚拟主机的应急响应

admin 2023年12月4日08:34:45评论13 views字数 2428阅读8分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]

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

wwwrootDataruntimeDataconfig_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

原文始发于微信公众号(李白你好):记一次对虚拟主机的应急响应

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月4日08:34:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次对虚拟主机的应急响应https://cn-sec.com/archives/2265248.html

发表评论

匿名网友 填写信息