按 Enter 到主內容區
:::

TWCERT-電子報

:::

攻擊Samba缺陷,駭客能製造DoS與不當存取

發布日期:
字型大小:
  • 發布單位:TWCERT/CC
  • 更新日期:2019-04-03
  • 點閱次數:642
攻擊Samba缺陷,駭客能製造DoS與不當存取

CVE編號

CVE-2018-10858,CVE-2018-10918,CVE-2018-10919,CVE-2018-1139,CVE-2018-1140

內文

●概述:
考量同網段上相異作業系統(Windows、Linux、UNIX、IBM System 390)資源共享便利性,便催生open-source的Samba,Samba建基於NetBIOS (Network Basic Input/Output System)通訊協定,可連接Windows的SMB(Server Message Block)與CIFS (Common Internet File System),讓PC間破除OS的隔閡,分享資料夾及印表機。分析指出,其libsmbclient函式庫未稽核目錄清單內容,極長檔名字串恐覆蓋記憶體配置區域;而Samba擔任AD DC時,因null pointer造成反參照錯誤,若接收惡意RPC請求,易導致DRSUAPI server內DsCrackNames呼叫程序或DNS、LDAP服務crash;輕型目錄存取協議對於使用者控制檢查未臻完善,透過LDAP搜尋語法表示式,可獲得機密系統參數;另Samba改版時重編程式,造成較弱NTLMv1身分驗證方式回歸,使駭客得以避開嚴謹規範,進行未授權存取,發動進階攻擊,Samba Team已公布修補檔,並升級相關軟體版本。
●編註:
(1)記憶體崩壞
Samba提供工具集函式庫libsmbclient,支援操控CIFS或SMB型態之網路資源,讓瀏覽器扮演通用API介面,而libsmbclient本身對客戶端輸入目錄清單資料未作妥善稽核,若惡意伺服器傳回異常directory entry,目錄清單內容是極長檔名字串,則會覆蓋libsmbclient配置記憶體區域,採取man-in-the-middle位置的攻擊者,可以藉此漏洞觸發memory corruption,在執行任意程式碼。
(2)二項服務阻斷事件
(2-1)在IT環境中,AD配有多部網控制站,則DC間彼此複寫資料是很重要的工作,交給Directory Replication Service (DRS)協定,負責維持DRS協定的API,就是DRSUAPI,而DRSUAPI RPC服務運作時,未檢查來自LDB資料庫的目錄屬性值回傳資料,將造成DRSUAPI server內DsCrackNames呼叫程序當機。
(2-2)同樣是輸入值過濾欠周,DNS與LDAP server送給LDB資料庫層的參數,亦導致DNS與LDAP發生crash。
本項所列二者DoS事件,不會同時存在,DRSUAPI server的弱點僅限Samba 4.7.x版,而DNS與LDAP之crash僅在Samba 4.8.x,而引發DoS的共通點,皆在於空指標(null pointer),Samba本身擔任AD DC時,資料傳輸後跟隨一個null pointer且未被查出,會發生指標反向參照錯誤,干擾運行中服務,欲探勘此類弱點者,需位於同一網段,無須身分認證,直接送出惡意RPC請求。
(3)暴露系統屬性值
當Samba成為應用目錄網域控制站,其輕型目錄存取協議(Lightweight Directory Access Protocol:LDAP) server,對於使用者控制檢查未臻完善,經由LDAP搜尋語法表示式,回傳LDAP物件匹配狀態(無論成功失敗),可能獲得機密系統參數,有二類系統資料會循此途徑暴露,一種是Access Control Entry配賦為ntSecurityDescriptor,第二種是SEARCH_FLAG_CONFIDENTIAL屬性值代表searchFlags的bit被設定為1,預設值searchFlags符合條件的系統屬性如後:unixUserPassword、msFVE-KeyPackage、msFVE-RecoveryPassword、msPKIAccountCredentials、msPKIAccountCredentials、msPKI-CredentialRoamingTokens、msPKIDPAPIMasterKeys、msPKIRoamingTimeStamp、msTPM-OwnerInformation。
由於Samba Team無意解決這種針對LDAP server下手的時序攻擊(timing attacks),只能謹慎評估,重要檔案是否該放在AD。
(4)弱勢認證協定
Samba採用SMB1 transport技術時,竟會允許NTLMv1身分驗證方式,即使NTLMv1已經明確停用,其實自Samba 4.5版就內定為NTLMv2且停止NTLMv1,但開發Samba 4.7.0時因改寫程式,讓NT Lan Manager (NTLM) v1認證建置回歸,讓認證安全倒退一步,駭客可伺機繞開嚴謹的安全限制,經NTLMv1獲得未授權存取能力,藉此發動進階攻擊。不過該缺失僅影響到組態設定誤差過大的個案,以及早期SMB1。
(5)勘誤說明
經比對相關資料來源,香港電腦保安事故協調中心(HKCERT)對8月份Samba漏洞公告內容 (https://www.hkcert.org/my_url/zh/alert/18081505) 有誤,所列出漏洞識別碼CVE-2018-1050、CVE-2018-1057並非正確資料,而是3月份Samba弱點CVE,讀者請謹慎參用。

影響產品

Samba 3.2.0 ~ 4.8.3版

解決辦法

(1)修補:參考https://www.samba.org/samba/history/security.html, 下載Samba 4.8.3、Samba 4.7.8、Samba 4.6.15專屬修補檔。
(2)升級:參考https://download.samba.org/pub/samba/stable/ ,下載最新Samba 4.6.16、4.7.9 、4.8.4版壓縮檔。
回頁首