一、前言
周五凌晨一台测试服务器被挖矿了,根据挖矿进程相关的文件lambsys和procq搜索没有搜到相关的东西,也是弄了好久。没想到第二天又有一台服务器被挖了,因此记录一下。
注意:只针对该种挖矿,且治标不治本。
如果知道如何入侵的,希望能告知
top -c显示进程和占用
top -c
二、处理过程
2.1 删除定时任务
由于有过经验,直接看定时任务,crontab -l | less将定时任务输出传递到分页工具
crontab -l
crontab -l | less
可以看到其每5秒都会检测lambsys进程是否在运行,没在运行就检测文件在不在,在就运行,不在就去下载然后运行。
crontab -r
crontab -r直接完全删除用户的crontab文件,删除定时任务后你可能需要重新加载cron服务
systemctl restart crond
或者
service cron restart
2.2 定位文件
阿里云的云安全中心的消息报告了挖矿文件的地址
如果没有可以使用ls -l /proc/进程id/exe查看
ls -l /proc/900789/exe
由于该文件夹为隐藏的所以在/var/tmp文件夹使用ls -a, ll -a查看更详细的信息
ls -a
ll -a
可以看到这个init_rmount文件是在挖矿文件前生成的,看它的内容也是为了重新运行挖矿程序的
2.3 结束进程
使用ps -ef命令可以查看进程并使用kill -9 进程id 杀死进程
ps -ef
杀死进程
kill -9 900889
kill -9 907165
kill -9 900789
2.4 删除文件
然而当我们试图删除文件时,会报错操作不允许
rm -f init_rmount
rm: cannot remove 'init_rmount': Operation not permitted
在var使用ll命令,可以看到tmp文件夹root用户是可以删除的。
在var文件夹下使用lsattr查看拓展属性
输出-u–ia--------e----- ./tmp,其中的字母表示:
u:文件不可删除,即使 root 用户也不可以(immutable)。
i:文件不能被修改;不能链接或重命名;不能删除;不能有新的数据写入;只能由 root 用户设置该属性(immutable)。
a:文件只能追加数据,不能删除或重命名;只能由 root 用户设置该属性(append only)。
e:文件使用了 extent 文件格式。
在var文件夹下使用chattr -ia /tmp去除三个不可删除属性
lsattr
chattr -ia /var/tmp
chattr -u /var/tmp
删除这三个属性后tmp文件夹的属性就和其他一样为:--------------e----- ./tmp
此时去删掉/var/tmp文件夹下的init_rmount和.mmwie(注意前面的.),就可以成功删除了。
三、空格文件夹名称
我在之前的服务器上搜索”procq“时,出现了/root/. /ks/procq的结果,当你根据直觉想进/ks这个文件夹,却又告诉你没有这个文件夹,而这实际上是有一个文件夹的名字为”. “,你需要用引号引起来cd /root/". "/ks/,直接cd /root/. /ks会报错误信息。删除时同理。
其实用ls -al /root可以看到这个文件夹
四 参考和相关
此处只是删除了挖矿的文件,但是不知道是如何入侵的,有厉害的老哥可以留言。