Samba的資安弱點即便經過修補,新的弱點也陸續出現。趨勢科技近期發現駭客可利用SMB弱點(CVE-2017-7494)進行攻擊, 影響範圍為Samba 3.5.0開始的所有版本。
除了Windows作業系統主機以外,Linux作業系統只要啟用SMB服務,也有可能遭受攻擊。駭客會利用此弱點攻擊 Linux 系統設備(包含網路儲存設備 (NAS)、IoT設備),一旦成功後即植入惡意程式。
企業環境(政府、製造業、金融業)大量使用 Linux 作業系統伺服器,且大部分均為關鍵業務系統。而Linux常被認為系統安全性高,較不會被入侵,因此較易疏於管理、更新、防護。駭客可能利用此情形,結合目標式攻擊與內網擴散手法攻擊此弱點,入侵至伺服器後加密檔案,進行勒索。因此,趨勢科技建議您,除了Windows作業系統需安裝修補程式外, Linux 作業系統也應時時保持更新。
若客戶在內部網路發現此弱點攻擊事件,極可能代表攻擊已進入到內網擴散階段,可搭配DDI偵測內網擴散攻擊來源。
Windows 檔案與印表機分享 SMB 通訊協定的開放原始碼軟體 Samba 當中,一個擁有七年歷史的漏洞雖然在去年 5 月已經修復,但至今仍不斷出現攻擊案例。根據該公司發布的一項安全公告指出,此漏洞可讓駭客上傳一個程式庫到可寫入的公用資料夾,並促使伺服器載入並執行該程式庫。駭客一旦得逞,就能在受害裝置上開啟一個指令列介面 (command shell) 來操控該裝置。所有 Samba 3.5.0 起的版本皆受此漏洞影響。
此漏洞 (CVE-2017-7494) 命名為「SambaCry」,因為它和 WannaCry(想哭)勒索蠕蟲所利用的 SMB 漏洞有幾分類似。此漏洞是在 2017 年 6 月數位貨幣採礦程式 EternalMiner/CPUMiner 利用它來入侵 Linux 電腦以開採墨內羅 (Monero) 數位貨幣才因而曝光。根據先前趨勢科技所蒐集到的樣本顯示,SambaCry 只被用來攻擊伺服器,且駭客頂多是利用受害伺服器來開採數位貨幣。但根據近期的資料,駭客已經會利用 SambaCry 來從事其他用途。
攻擊物聯網(IoT ,Internet of Thing)裝置,尤其是中小企業經常用到的 NAS 網路儲存裝置
這個較新的惡意程式趨勢科技命名為 ELF_SHELLBIND.A,發現日期為 7 月 3 日。類似先前報導過的 SambaCry 攻擊案例,它同樣也會在受害系統上開啟指令列介面。不過,ELF_SHELLBIND.A 與先前利用 SambaCry 的攻擊有些截然不同之處。首先,它會攻擊物聯網(IoT ,Internet of Thing)裝置,尤其是中小企業經常用到的 NAS 網路儲存裝置。其次,ELF_SHELLBIND 也攻擊採用其他 CPU 架構的系統,如:MIPS、ARM 和 PowerPC。這是首次 SambaCry 被用於數位貨幣開採以外的用途。
惡意程式分析
內建 Samba 軟體的裝置很多,隨便上 Shodan 搜尋一下就能找到:指定搜尋 445 連接埠然後輸入「samba」這個字串就能得到一份 IP 清單。駭客只需撰寫一個工具自動將惡意的檔案寫入清單中的每個 IP 位址。駭客一旦成功將檔案寫入公用資料夾,含有 SambaCry 漏洞的裝置就會成為 ELF_SHELLBIND.A 的受害者。
如以下圖 1 所示,ELF_SHELLBIND.A 和先前攻擊 SambaCry 漏洞的採礦程式類似,大多以共用物件檔 (.SO) 程式庫型態出現在公用資料夾。除此之外,趨勢科技會看到它利用 SambaCry 漏洞讓 samba_init_module 這個函式來呼叫它,這就是為何含有此漏洞的 Samba 伺服器會自動載入該程式庫。
駭客在將 .SO 檔案上傳至 Samba 公用資料夾之後,接著會試圖猜出該檔案的本地端絕對路徑,然後發送 IPC 請求來騙伺服器載入並執行該程式庫。
一旦惡意程式經由前述函式載入,接著會呼叫 change_to_root_user 函式,如此才能讓 Samba 背景執行程序 (尤其是 SMBv2) 以 root 或以當前使用者的 EUID 來執行。接下來,惡意程式會透過 detach_from_parent 函式將自己與父執行程序 (Samba 伺服器的執行程序) 脫離,獨立成背景執行程序。接著,惡意程式會發送試探訊息到一個可能是其幕後操縱 (C&C) 伺服器所在的位址:169.239.128.123 (經由 TCP 連接埠 80,此位址位於東非)。此試探訊息的內容只有短短一行:
HEAD / HTTP/1.0
伺服器收到之後並不會作出任何回應,接著,網路連線就會關閉。但此時,遠端的駭客已經取得了該系統的 IP 位址。
接下來,惡意程式會刪除系統「iptable」當中可接受來自 TCP/61422 連接埠所有通訊的那條串聯規則 (chain rule),然後再將它加入一次,這樣防火牆就會允許經由該連接埠的所有 TCP 通訊。然後,惡意程式會開啟 TCP 連線來監聽 61422 連接埠以接受來自駭客的連線。一旦駭客與惡意程式建立連線,惡意程式就會發送以下訊息:
Welc0me to shell
Enter password:
駭客必須輸入以下密碼:
Q8pGZFS7N1MObJHf
當駭客傳來正確的密碼,惡意程式就會回覆以下訊息:
Access granted
如果收到的密碼不對,連線就會關閉。
一旦連線建立並通過認證,駭客就等於在受感染的系統上開啟了一個指令列介面,可輸入各種系統指令並操控受感染的裝置。惡意程式會負責執行從該連線所收到的指令,它會利用「/bin/sh」目錄底下的指令列介面程式來執行指令,並將標準輸入 (stdin)、輸出 (stdout) 和錯誤訊息 (stderr) 全都導向駭客的連線。
結論和解決方案
目前該漏洞已經有作業系統修補程式可以解決,因此受害者的數量可望降低。此外,駭客也必須對受害系統的公用資料夾擁有寫入權限才能將惡意程式上傳到受害系統上,所以這也是一個可以避免系統感染的方法。
由於該漏洞在五月就已經修補,使用者若本來就有定期更新的習慣,應該就不會遇到問題。不過,採用 Unix 或 Linux 系統的裝置 (涵蓋了絕大多數 IoT 裝置) 就較難以確保安全。如果裝置啟用了 Samba 功能而製造廠商又尚未釋出修補更新,那麼裝置可能會有危險。使用者應主動更新或詢問其裝置製造商。
趨勢科技Deep Security的 DPI 模組已可阻擋此弱點攻擊
趨勢科技Deep Security 和虛擬修補 可保護端點並防範無檔案式的感染方法及利用未修補漏洞的攻擊。使用者可利用下列深層封包檢查 (DPI) 規則來防止任何利用 SambaCry 漏洞的威脅:
- 1008420-Samba Shared Library Remote Code Execution Vulnerability (CVE-2017-7494)
若客戶在內部網路發現此弱點攻擊事件,極可能代表內網擴散,可搭配 DDI 偵測內網擴散攻擊來源。
Deep Discovery能夠偵測、深入分析並主動回應漏洞攻擊以及其他類似威脅,利用特殊的引擎、客製化 沙盒模擬分析以及密切的交叉關聯分析,完整涵蓋網路攻擊的所有階段,甚至不須更新引擎或病毒碼就能偵測這類攻擊。Deep Discovery Inspector 客戶可透過以下 DDI 規則來防範這項威脅:
- 3733 SHELLBIND – TCP (Request)
TippingPoint 客戶可利用以下過濾規則來防範:
- 29058: TCP: SambaShell Checkin
ELF_SHELLBIND.A 相關的 SHA256 雜湊碼:
c27594b1a1ecee6a62adbaee5b00bad8e3540fe98ff3bac17fef03e0ebd62914
516bafdede5e7a019a71028a7125f98190ee7ab71d03bc3041c9943324a78df5
11f47c90393082e7fdc4213d3b888ef8b7c121a86658077465b03bb7857bc540
原文出處:Linux Users Urged to Update as a New Threat Exploits SambaCry 作者:Mohamad Mokbel、Tim Yeh 與 Brian Cayanan