记一次Linux被入侵,服务器变“矿机”的全过程
原创记一次Linux被入侵,服务器变“矿机”的全过程
在一个平凡的周末,我收到了公司IT部门的通知,我们的Linux服务器似乎出现了异常。经过一番调查,我们发现服务器被入侵,并被用作“矿机”挖矿。以下是这次入侵的全过程记录。
一、发现异常
那天下午,IT部门的同事小李突然发现服务器运行速度变得异常缓慢,CPU使用率高达100%。他检查了服务器日志,发现系统资源被大量占用,而且没有明显的程序在后台运行。
二、初步调查
小李首先不信任是服务器软件出现了问题,于是尝试重启服务器。然而,重启后问题依然存在。接着,他检查了服务器的系统日志,发现了一些可疑的进程。
May 15 15:22:10 server1 kernel: [561633.783676] audit: avc: denied { read } for pid=5761 comm="kworker/0:1" name="cpuminer" dev="sda1" ino=4096 scontext=root:runeveryacc_t:t@{etc..} tcontext=root:rundevice_t:t@{etc..} tclass=file permissive=0
May 15 15:22:10 server1 kernel: [561633.783676] audit: avc: denied { write } for pid=5761 comm="kworker/0:1" name="cpuminer" dev="sda1" ino=4096 scontext=root:runeveryacc_t:t@{etc..} tcontext=root:rundevice_t:t@{etc..} tclass=file permissive=0
日志中显示,有一个名为“cpuminer”的进程正在访问服务器磁盘。这个进程听起来像是挖矿软件。小李立即关闭了这个进程,并起初调查。
三、深入分析
小李首先检查了服务器的磁盘,发现了一个名为“cpuminer”的文件夹。在这个文件夹中,他找到了一些挖矿相关的配置文件和脚本。
[root@server1 ~]# ls -l /var/www/html/cpuminer
total 40
-rwxr-xr-x 1 root root 8336 May 15 15:22 cpuminer
-rwxr-xr-x 1 root root 8336 May 15 15:22 cpuminer.conf
-rwxr-xr-x 1 root root 522 May 15 15:22 start.sh
-rwxr-xr-x 1 root root 522 May 15 15:22 stop.sh
随后,小李分析了这些文件的内容,发现它们确实是用于挖矿的脚本和配置文件。他进一步调查了服务器的网络连接,发现服务器正在向一个国外IP地址发送大量数据。
四、确定入侵途径
为了确定入侵途径,小李首先检查了服务器的稳固设置。他发现服务器的SSH登录密码已经被修改,而且登录日志中显示有一个IP地址频繁尝试登录。
[root@server1 ~]# grep 'Failed password' /var/log/auth.log
May 15 15:20:10 server1 sshd[8748]: Failed password for root from 192.168.1.100 port 49172 ssh2
May 15 15:21:10 server1 sshd[8748]: Failed password for root from 192.168.1.100 port 49172 ssh2
May 15 15:22:10 server1 sshd[8748]: Failed password for root from 192.168.1.100 port 49172 ssh2
结合这些信息,小李推断入侵者或许是通过SSH登录服务器,然后安装挖矿软件。为了进一步确认,他检查了服务器的系统文件,发现了一些被修改的文件。
[root@server1 ~]# diff /etc/passwd /etc/passwd.bak
0c1
< root:x:0:0:root:/root:/bin/bash
---
> root:x:0:0:root:/root:/bin/false
原来,入侵者修改了root用户的登录shell,将其改为/bin/false,从而阻止了root用户登录。这是一个典型的入侵者逃避追查的方法。
五、清除入侵痕迹
确定入侵途径后,小李起初清除入侵痕迹。他首先删除了挖矿软件和相关的配置文件,然后恢复了root用户的