当前位置: 首页 > news >正文

排除挖矿木马

一、什么是挖矿木马

挖矿木马会占用CPU进行超频运算,从而占用主机大量的CPU资源,严重影响服务器上的其他应用的正常运行。黑客为了得到更多的算力资源,一般都会对全网进行无差别扫描,同时利用SSH爆破和漏洞利用等手段攻击主机。

部分挖矿木马还具备蠕虫化的特点,在主机被成功入侵之后,挖矿木马还会向内网渗透,并在被入侵的服务器上持久化驻留以获取最大收益。
挖矿木马的整体攻击流程大致如下图所示:

二、挖矿木马中招特征

挖矿木马会在用户不知情的情况下利用主机的算力进行挖矿,最明显的特征就是主机的CPU被大量消耗,查看云主机CPU占用率的方法有两种:

1、控制台实例监控

2、主机执行TOP命令

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

top -c

如果云主机CPU占用率居高不下,那么主机很有可能已经被植入了挖矿木马,会影响服务器上的其他应用的正常运行,需要立刻上机排查。

三、清理挖矿木马

1、及时隔离主机

部分带有蠕虫功能的挖矿木马在取得主机的控制权后,会继续对公网的其他主机,或者以当前主机作为跳板机对同一局域网内的其他主机进行横向渗透,所以在发现主机被植入挖矿木马后,在不影响业务正常运行的前提下,应该及时隔离受感染的主机,然后进行下一步分析和清除工作。

腾讯云主机可以通过设置安全组隔离主机,具体参考如下链接:https://cloud.tencent.com/document/product/215/20089

2、阻断异常网络通信

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

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

iptables -L -n

(2)从iptables规则中清除可疑地址和端口

vi /etc/sysconfig/iptables

(3)阻断挖矿木马的网络通信

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

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

3、清除计划任务

大部分挖矿木马会通过在受感染主机中写入计划任务实现持久化,如果仅仅只是清除挖矿进程,无法将其根除,到了预设的时间点,系统会通过计划任务从黑客的C2服务器重新下载并执行挖矿木马。挖矿木马常见的计划任务通常是下载并执行sh脚本,如下图所示:

可以通过执行如下命令查看是否存在可疑定时任务,若有,则先保存相关记录用于后续分析,再进行删除:

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

crontab -l

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

crontab -u username -l

3.3查看其他计划任务文件:

cat /etc/crontab

cat /var/spool/cron

cat /etc/anacrontab

ls /etc/cron.d/

ls /etc/cron.daily/

ls /etc/cron.hourly/

ls /etc/cron.weekly/

ls /etc/cron.monthly/

ls /var/spool/cron/

4、清除启动项

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

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/

排查的时候,可以按照文件修改时间来排序,重点排查近期被创建服务项。如下图所示,系统近期被创建了一个名为bot.service的服务,该服务在系统启动时会启动/etc/kinsing这个木马文件,需要关闭bot服务,并删除/etc/kinsing文件。

5、清除预加载so

通过配置/etc/ld.so.preload,可以自定义程序运行前优先加载的动态链接库,部分木马通过修改该文件,添加恶意so文件,从而实现挖矿进程的隐藏等恶意功能。
检查/etc/ld.so.preload(该文件默认为空),清除异常的动态链接库。可以执行`> /etc/ld.so.preload`命令进行清除。

6清除SSH公钥

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

7清除挖矿木马

7.1清除挖矿进程

挖矿木马最大的特点就是会在用户不知情的情况下,利用主机的算力进行挖矿,从而消耗主机大量的CPU资源,所以,通过执行如下命令排查系统中占用大量CPU资源的进程。

top -c

ps -ef

确认相关进程为挖矿进程后,按照如下步骤将其清除:
1.获取并记录挖矿进程的文件路径:

ls -l /proc/$PID/exe

2.杀死挖矿进程:

kill -9 $PID

3.删除挖矿进程对应的文件

7.2清除其它相关恶意进程

恶意进程与外部的C2服务器进行通信时,往往会开启端口进行监听。执行如下命令,查看服务器是否有未被授权的端口被监听。

netstat -antp

若有未授权进程,按照如下步骤将其清除:
1.获取并记录未授权进程的文件路径:

ls -l /proc/$PID/exe

2.杀死未授权进程:

kill -9 $PID

3.删除未授权进程对应的文件

还可以通过如下命令排查近期新增的文件,清除相关木马

find /etc -ctime -2 (这里指定目录为/etc,获取近2天内的新增文件)

lsof -c kinsing (这里要查看文件名为kinsing的相关进程信息)

8、风险排查、安全加固

对系统进行风险排查和安全加固,避免挖矿木马卷土重来,详情可参考如下链接:https://cloud.tencent.com/document/product/296/9604

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Node.js 异步编程深度解析:回调函数、Promise 以及 async/await
  • Vue3 使用 富文本编辑器 wangeditor/editor-for-vue 配置详解
  • MySQL之SUBSTRING 和 SUBSTRING_INDEX函数
  • 个人手机发短信和106短信群发平台的本质区别是什么?
  • 【开发实战】QT5 + 深度学习六大应用案例
  • PCL 移动立方体三维重建——RBF算法【2024最新版】
  • 计算机网络-VRRP工作原理
  • 时下改变AI的6大NLP语言模型
  • 【TDesign】如何修改CSS变量
  • ubuntu 常见问题的收录
  • 【专题】2024全球电商消费电子市场研究报告合集PDF分享(附原数据表)
  • scss中常用的函数
  • 华为云Flexus云服务器X实例与AI大模型融合实践:打造高效智能应用
  • 【C++学习笔记 19】C++中的对象生存周期
  • springboot +easyexcel 下载工具类
  • @jsonView过滤属性
  • FineReport中如何实现自动滚屏效果
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java深入 - 深入理解Java集合
  • linux学习笔记
  • TCP拥塞控制
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Web Storage相关
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 力扣(LeetCode)22
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 世界上最简单的无等待算法(getAndIncrement)
  • 找一份好的前端工作,起点很重要
  • 【云吞铺子】性能抖动剖析(二)
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​​​【收录 Hello 算法】9.4 小结
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #每日一题合集#牛客JZ23-JZ33
  • (javaweb)Http协议
  • (十三)MipMap
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)scrum常见工具列表
  • *** 2003
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .Net 8.0 新的变化
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • @Controller和@RestController的区别?
  • @RestControllerAdvice异常统一处理类失效原因
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [ 蓝桥杯Web真题 ]-布局切换
  • [20150321]索引空块的问题.txt
  • [BIZ] - 1.金融交易系统特点
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [CSS]CSS 字体属性