写点什么

一次 minerd 肉鸡木马的排查思路

  • 2022 年 8 月 18 日
    北京
  • 本文字数:1740 字

    阅读完需:约 6 分钟

前言

在日常使用 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 进程产生。

 

最后,建议平时增强服务器的安全维护,优化代码,以避免因程序漏洞等导致服务器被入侵。

用户头像

拥抱技术,与开发者携手创造未来! 2018.11.20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
一次minerd肉鸡木马的排查思路_安全_京东科技开发者_InfoQ写作社区