Samba是開源共享服務軟件,被廣泛應用在各種Linux和UNIX系統上,類似于Windows上的SMB服務。最近肆虐的“永恒之藍”專門攻打Windows的SMB漏洞,此次Samba曝出遠程代碼執行漏洞主要威脅Linux服務器,一些NAS網絡存儲產品也受到影響,360提示相關用戶盡快進行安全更新。
概述
2017年5月24日Samba發布了4.6.4版本,中間修復了一個嚴重的遠程代碼執行漏洞,漏洞編號CVE-2017-7494,漏洞影響了Samba 3.5.0 之后和包括4.6.4/4.5.10/4.4.14在內的版本。360網絡安全中心 和 360信息安全部的Gear Team第一時間對該漏洞進行了分析,確認屬于嚴重漏洞,可以造成遠程代碼執行。
技術分析
如官方所描述,該漏洞只需要通過一個可寫入的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權限)

解決方案
360網絡安全響應中心和360信息安全部建議使用受影響版本的用戶立即通過以下方式來進行安全更新操作,
1. 使用源碼安裝的Samba用戶,請盡快下載最新的Samba版本手動更新;
2. 使用二進制分發包(RPM等方式)的用戶立即進行yum,apt-get update等安全更新操作;
緩解策略:用戶可以通過在smb.conf的[global]節點下增加 nt pipe support = no 選項,然后重新啟動samba服務, 以此達到緩解該漏洞的效果。
特別提醒:本網內容轉載自其他媒體,目的在于傳遞更多信息,并不代表本網贊同其觀點。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網有任何內容侵犯您的權益,請及時聯系我們,本站將會在24小時內處理完畢。