首页 > 系统相关 >Linux运维之解决服务器挖矿木马问题

Linux运维之解决服务器挖矿木马问题

时间:2023-01-25 21:24:38浏览次数:58  
标签:运维 1.3 清除 etc chattr 木马 Linux 挖矿

目录

1 挖矿木马

1.1 定义

挖矿木马会占用CPU进行超频运算,从而占用主机大量的CPU资源,严重影响服务器上的其他应用的正常运行。黑客为了得到更多的算力资源,一般都会对全网进行无差别扫描,同时利用SSH爆破和漏洞利用等手段攻击主机。部分挖矿木马还具备蠕虫化的特点,在主机被成功入侵之后,挖矿木马还会向内网渗透,并在被入侵的服务器上持久化驻留以获取最大收益。整体的攻击流程大致如下图所示:
在这里插入图片描述

1.2 挖矿特征

通过执行top命令,即可在返回结果中看到当时系统的CPU占用率

查看系统资源占用率显示运行命令行
top -c

在这里插入图片描述

1.3 解决挖矿木马

1.3.1 阻断异常网络通信(非必需)

挖矿木马不仅会连接矿池,还有可能会连接黑客的C2服务器,接收并执行C2指令、投递其他恶意木马,所以需要及时进行网络阻断。

检查主机防火墙当前生效的iptables规则中是否存在业务范围之外的可疑地址和端口,它们可能是挖矿木马的矿池或C2地址

iptables -L -n

iptables规则中清除可疑地址和端口

vim /etc/sysconfig/iptables

阻断挖矿木马的网络通信

iptables -A INPUT -s 可疑地址 -j DROP
iptables -A OUTPUT -d 可疑地址 -j DROP

1.3.2 清除定时任务

查看系统当前用户的计划任务:

crontab -l

查看系统特定用户的计划任务:

crontab -u username -l

查看其他计划任务文件:

cat /etc/crontab
cat /var/spool/cron
cat /etc/anacrontab
cat /etc/cron.d/
cat /etc/cron.daily/
cat /etc/cron.hourly/
cat /etc/cron.weekly/
cat /etc/cron.monthly/
cat /var/spool/cron/

在这些文件内,有可疑文件就立即处理掉

但是,很多挖矿木马做的安全措施很到位,不能直接用-e进行处理,即使是root用户也没用权限
如果无法删除crontab中的定时任务,且提示chattr不是命令则:

cd /usr/bin
cp chattr chattr.new
chmod u+x chattr.new
chattr.new -i chattr
rm -rf chattr.new
chmod u+x chattr

chattr -ai /etc/bin/cron.d
chattr -ai /var/spool/cron
chattr -ai /var/spool/cron/root
#然后执行如下命令进行删除
crontab -e

1.3.3 清除启动项

除了计划任务,挖矿木马通过添加启动项同样能实现持久化。可以使用如下命令查看开机启动项中是否有异常的启动服务。

CentOS7以下版本:
chkconfig –list

CentOS7及以上版本:
systemctl list-unit-files

如果发现有恶意启动项,可以通过如下命令进行关闭:

CentOS7以下版本:
chkconfig 服务名 off

CentOS7及以上版本:
systemctl disable 服务名

点击了解开机自启相关命令
另外,还需要仔细排查以下目录及文件,及时删除可疑的启动项:

/usr/lib/systemd/system
/usr/lib/systemd/system/multi-user.target.wants
/etc/rc.local
/etc/inittab
/etc/rc0.d/
/etc/rc1.d/
/etc/rc2.d/
/etc/rc3.d/
/etc/rc4.d/
/etc/rc5.d/
/etc/rc6.d/
/etc/rc.d/

排查的时候,可以按照文件修改时间来排序,重点排查近期被创建服务项

1.3.4 清除SSH公钥

挖矿木马通常还会在~/.ssh/authoruzed_keys文件中写入黑客的SSH公钥,这样子就算用户将挖矿木马清除得一干二净,黑客还是可以免密登陆该主机,这也是常见的保持服务器控制权的手段。

排查~/.ssh/authorized_keys文件,如果发现可疑的SSH公钥,直接删除。

注意:需要用lsattr和chattr命令来修改权限,才可以删除

1.3.5 清除木马进程

通过top -c命令确定PID在这里插入图片描述
确认相关进程为挖矿进程后,按照如下步骤将其清除:

获取并记录挖矿进程的文件路径:
ls -l /proc/$PID/exe

杀死挖矿进程:
kill -9 $PID

删除挖矿进程对应的文件,倘若不能删除,就需要用chattr命令处理
在这里插入图片描述

1.4 其他常见问题

1.4.1 清除木马后又100%

明明刚刚清理了挖矿木马,没过多久就又卷土重来?
明明已经Kill了进程,删除了木马文件,没过多久,CPU占用率又上来了。究其根本,还是因为清除得不够彻底。大部分都只是Kill掉挖矿进程和对应文件,却没有清理计划任务和守护进程。

一般建议先清除计划任务、启动项、守护进程,再清除挖矿进程和其他恶意进程。

1.4.2 CPU占用100%却看不到进程

为什么系统CPU占用率接近100%,却看不到是哪个进程导致的?
如所示,系统CPU占用率接近100%,却看不到是哪个进程导致的,这种情况一般是因为系统命令被木马篡改了,从而隐藏了木马进程的踪迹,让用户无法进行溯源分析。
在这里插入图片描述

通过执行如下命令即可复原:

rm -rf /usr/bin/top && mv /usr/bin/top.original /usr/bin/top

如果在/usr/bin目录下发现还要其他的*.original,都可以执行上述命令执行,此次受木马篡改的有top,ps,pstree三个命令

参考链接:https://cloud.tencent.com/developer/article/1834731?sharedUid=10313019&shareByChannel=link

标签:运维,1.3,清除,etc,chattr,木马,Linux,挖矿
From: https://www.cnblogs.com/jingzh/p/17067294.html

相关文章

  • linux 下网站排障分析常用的命令
    网站排障分析常用的命令系统连接状态篇:1.查看TCP连接状态netstat-nat|awk'{print$6}'|sort|uniq-c|sort-rn netstat-n|awk'/^tcp/{++S[$NF]};END{for(ainS)......
  • 使用 Linux 命令来获取输入文件中特定字符的出现次数
    概述我们将学习如何使用Linux命令来获取输入文件中特定字符的出现次数。我们假设您知道一些常见的Linux命令,包括grep、awk和tr。我们还假设我们的输入文件tpoint.tx......
  • linux 安装mysql
    1下载mysqlwgethttps://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz2groupaddmysql添加用户组useradd-r-gmysql......
  • Unix\Linux多线程复健(二)线程同步
    线程同步并非让线程并行,而是有先后的顺序执行,当有一个线程对内存操作时,其他线程不可以对这个内存地址操作线程之间的分工合作线程的优势之一:能够通过全局变量共享信息......
  • Intel baytrail-t support Linux?
    ​​点击这里查看文章​​有空试试~~~唉。。。Ubuntu(Linux)onAtomZ3700SeriesASUSTransformerBookT100isparticularlyinterestingplatform,because​​somegu......
  • linux基础1
    目录linux基础1本周内容概要今日内容概要今日内容详细linux常见岗位计算机的种类服务器的品牌服务器内部组成服务器磁盘阵列linux发展史虚拟化技术虚拟化软件下载重要名词......
  • 注意啦!10 个你需要了解的 Linux 网络和监控命令
    注意啦!10个你需要了解的Linux网络和监控命令 Linux系统技术交流QQ群(3065196)验证问题答案:刘遄导读下面列出来的10个基础的每个Linux用户都应该知道的网络......
  • Linux getopt 命令
    Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与......
  • lazarus 编译为Linux gtk2的应用使用TDateTimePIcker日历在tkDate模式日历下拉菜单不
    网友<安全生产监管>发现lazarus编译为Linux gtk2的应用使用TDateTimePIcker日历在tkDate模式,日历下拉菜单不响应鼠标点击,这个问题在windows和linuxqt下没问题。环境:1、L......
  • win10 sshfs 挂载linux文件夹
    ​​welcometomyblog​​在linux服务器跑实验后,需要把实验结果提交到指定的网址上,此时还得把文件传回win10,然后再上传,感觉太繁琐了,去谷歌上找了直接挂载linux......