華文網

針對Linux的攻擊馬上就到 愛折騰的趕緊升級

前天晚上,開源軟體Samba官方發佈安全公告,稱剛剛修復了軟體內一個已有七年之久的嚴重漏洞(CVE-2017-7494),可允許攻擊者遠端控制受影響的Linux和Unix機器。

Samba是什麼

Samba是計算設備的基石級協定SMB的開源實現,被廣泛應用在Linux、Unix、IBM System 390、OpenVMS等各類作業系統中,提供檔共用和列印服務。

漏洞影響範圍

自2010年3月1日後發佈的Samba所有版本均受影響。

影響版本:≥ v3.5.0

根據Shodan統計,目前互聯網上暴露Samba 445埠的設備超過485000台。Rapid7研究人員分析後認為,其中有將近11萬台設備運行的是不再被支持的Samba版本,

因此不會有補丁。

考慮到Samba是許多Linux、Unix發行版本的內置軟體,所以有專家認為,這個漏洞是“Linux版的永恆之藍”,很容易被改造為勒索軟體的傳播元件。

需要特別提及,由於內置Samba,家庭NAS設備也是受影響的重災區。

漏洞分析

360安全團隊的cyg07和redrain分析了這個漏洞,他們向嘶吼提供了相關技術細節。

如Samba官方所描述,該漏洞只需要通過一個可寫入的Samba用戶許可權就可以提權到samba所在伺服器的root許可權(samba默認是root用戶執行的)。

從Patch來看的話,is_known_pipename函數的pipename中存在路徑符號會有問題:

再延伸下smb_probe_module函數中就會形成公告裡說的載入攻擊者上傳的dll來任意執行代碼了:

具體攻擊過程:

1. 構造一個有’/’ 符號的管道名或路徑名,如 “/home/toor/cyg07.so”

2. 通過smb的協議主動讓伺服器smb返回該FID

3. 後續直接請求這個FID就進入上面所說的惡意流程

具體攻擊結果如下:

1. 嘗試載入 “/home/toor/cyg07.so” 惡意so

2.其中so 代碼如下(載入時會調用 samba_init_module 匯出函數)

3.最後我們可以在/tmp/360sec中看到實際的執行許可權(帶root許可權)

攻擊代碼

看到公告後,滲透測試框架Metasploit的創始人@hdmoore很快研究出了漏洞驗證代碼,只需要一行代碼就可以利用:

simple.create_pipe("/path/to/target.so")

目前該漏洞在Metasploit已經有了利用模組,可以驗證Ubuntu 16.04和群暉NAS設備,更多版本還在驗證中。

如何修復?

Samba官方已經發佈新版本修復了漏洞,受影響使用者可以儘快將軟體升級到v 4.6.4/4.5.10/4.4.14以上的版本。

如果暫時不能升級,那麼可以將以下代碼添加至Samba設定檔smb.conf中

nt pipe support = no

添加代碼後,重啟SMB守護進程(smbd),就可以臨時緩解漏洞了。

如若轉載,請注明原文地址: http://www.4hou.com/vulnerable/4976.html