一次minerd肉鸡木马的排查思路
前言
在日常使用Linux系统服务器时,如果系统安全维护方面做的不够规范和严谨,很容易导致主机被黑客植入恶意木马病毒被当做肉鸡。以后就是一次肉鸡木马病毒的排查过程,有助于运维服务器时遇到此情况时进行针对性的排查和修复。
【问题现象】
Linux主机CPU跑满,或者使用服务器越来越慢,以及收到报警信息提示服务器有对外恶意扫描。
【问题原因】
这种状况在出现时通过top命令可以看到有一个minerd进程占用CPU较高。
经定位,该进程是一个挖矿程序,通过上述截图可以看到进程对应的PID为1170,根据进程ID查询一下产生进程的程序路径
执行ll /proc/$PID/exe,其中$PID为查询到的进程ID
异常程序在/opt目录下
此程序一般是由计划任务产生的,Linux系统中默认创建了计划任务后会在/var/spool/cron目录下创建对应用户的计划任务脚本,执行ls /var/spool/cron 查询一下系统中是否有异常的计划任务脚本程序。
可以看到,在此目录下有1个root的计划任务脚本和一个异常的目录crontabs(默认情况下不会有此目录,用户创建计划任务也不会产生此目录)
查看脚本内容,有一个每隔10分钟便会通过curl下载执行的脚本程序(crontabs目录下为同样内容的计划任务)
手动将脚本内容下载到本地,脚本内容如下:
分析此脚本,主要进行了如下修改:
1、创建了上述查看到的两个计划任务脚本
2、创建了密钥认证文件,导入到了/root/.ssh目录下(当前脚本的密钥文件名是KHK75NEOiq,此名称可能会有所变化,要根据具体情况进行核实)
3、修改ssh配置文件允许了root远程登录,允许了密钥认证,修改默认的密钥认证文件名
4、重启了sshd服务使配置生效
5、创建了伪装程序ntp,并运行了ntp程序
6、查询系统中是否有正常运行的计划任务,杀死正在运行的计划任务进程。
【处理方法】
根据以上分析,提供以下处理方法:
1、删除计划任务脚本中异常配置项,如果当前系统之前并未配置过计划任务,可以直接执行rm -rf /var/spool/cron/* 情况计划脚本目录即可。
2、删除黑客创建的密钥认证文件,如果当前系统之前并未配置过密钥认证,可以直接执行rm -rf /root/.ssh/* 清空认证存放目录即可。如果有配置过密钥认证,需要删除指定的黑客创建的认证文件即可,当前脚本的密钥文件名是KHK75NEOiq,此名称可能会有所变化,要根据具体情况进行核实。
3、修复ssh配置项,根据个人需求进行修改,一般默认脚本中进行修改的PermitRootLogin、RSAAuthentication、PubkeyAuthentication为开启状态,需要修改的是密钥认证文件名,建议修改成默认值AuthorizedKeysFile .ssh/authorized_keys即可。修改完成后重启sshd服务,使配置生效即可。
4、删除黑客创建的伪装程序ntp
执行ls /etc/init.d/可以看到系统中是由对应的伪装程序的
通过chkconfig --list ntp 可以看到此程序默认设置的是开机自动启动。
如果此程序不进行清除,即使删除了minerd程序并且杀死了对应的进程,过一会系统还会重新创建minerd程序,并产生新的进程
查询一下当前系统中是否有ntp进程,可以看到ntp进程是通过/usr/sbin/ntp程序产生,因此需要把对应的执行程序也进行删除。
总结一下删除伪装程序的操作步骤
kill -9 $PID 杀死查询到的ntp进程
rm -rf /etc/init.d/ntp
rm -rf /usr/sbin/ntp (此路径要根据具体的查询数据确定,实际情况可能会有所变化)
5、根据之前的查询minerd程序所在路径为/opt,在执行的脚本中同时也在/opt目录下创建了一个KHK75NEOiq33的程序文件,因此要删除这两个文件,执行rm -rf KHK75NEOiq33 minerd 即可。
6、使用kill命令杀死minerd进程
通过ps命令查询一下minerd对应的进程详细情况。
kill -9 $PID 杀死对应的进程ID
备注:根据ps查询结果显示minerd有向域名xmr.crypto-pool.fr进行数据通信,通过ping测试域名解析核实此域名对应的IP地址,然后在ip.taobao.com进行查询显示IP为法国的IP,然后通过iftop -i eth1 -PB命令对流量进行了监控,确实存在向法国的IP发送数据的情况,为了避免再次被入侵,可以通过iptables屏蔽对应的异常IP(具体的IP和域名要根据实际查询的情况而定,可能会有所不同)。
以上修复完成后可以等待一会再次进行一下观察,看看是否还会在/opt目录下创建新的minerd程序,以及是否还有新的minerd进程产生。
最后,建议平时增强服务器的安全维护,优化代码,以避免因程序漏洞等导致服务器被入侵。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
StarRocks 技术内幕:向量化编程精髓
作者:康凯森,StarRocks PMC,负责查询方向的研发 本文是对我在 StarRocks 线下 MeetUp 演讲的整理,主要分为三部分:第一部分简要介绍向量化的基础知识,第二部分讲解数据库如何进行向量化,最后是 StarRocks 向量化实践后的一些粗浅思考。 #01 向量化为什么可以提升数据库性能? — 本文所讨论的数据库都是基于 CPU 架构的,数据库向量化一般指的都是基于 CPU 的向量化,因此数据库性能优化的本质在于:一个基于 CPU 的程序如何进行性能优化。这引出了两个关键问题: 1. 如何衡量 CPU 性能 2. 哪些因素会影响 CPU 性能 第一个问题的答案可以用以下公式总结:CPU Time = Instruction Number * CPI * Clock Cycle Time Instruction Number 表示指令数。当你写一个 CPU 程序,最终执行时都会变成 CPU 指令,指令条数一般取决于程序复杂度。 CPI 是 (Cycle Per Instruction)的缩写,指执行一个指令需要的周期。 Clock Cycle Time 指一个 CP...
- 下一篇
HarmonyOS应用开发:鸿蒙Js实战,计算器功能开发!
几天没有更新了,最近上班有点忙,没有及时更新一些常用知识点鉴于之前整理的都是一些原理知识点,大部分描述比较多,突然想到做一个小项目,看还没有鸿蒙js实现计算器的项目,就用半个小时考虑做了一个计算器。 由于时间有限,目前是基本的计算功能,后续会优化成连续计算和功能更全面。 每天学习一点点。 场景: 通过动态设置按钮组件button实现计算器的键盘,通过文本text显示计算的表达书,可以计算+,-,*,/,可以一个一个移除,可以重置 等。 下面我们开始今天的文章,还是老规矩,通过如下几点来说: 1,实现思路 2,代码解析 3,实现效果 3,总结 一,实现思路 计算器的键盘,本来是想使用grid的 但是有一些默认属性不好控制,等后续组件完善了在做优化,目前grid适合一些均衡布局,通过监听计算符号添加判断逻辑,计算结果也是通过添加的计算类型进行计算,目前支持一级计算,后面做连续计算。 二,代码解析 子组件: 1,hml文件 实用了四个for循环实现了键盘效果,后面想了一下其实一个就能搞定,动态换行就行,时间有限后续优化(总感觉计算器挺简单,其实做起来还需要点时间) <div...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境