今年五月,Samba修複了一(yī)個有七年曆史的漏洞,Samba是在Linux和UNIX系統上實現SMB協議的一(yī)個免費(fèi)軟件,由服務器及客戶端程序構成,它是Windows用于文件和打印機共享的SMB協議的開(kāi)源實現。但最近被發現這一(yī)存在近七年的漏洞目前仍然可以被利用。根據該公司發布的安全提示所說,該漏洞允許攻擊者上傳可寫入的共享到共享庫,導緻服務器加載并執行它。如果該漏洞被成功利用,攻擊者可以在存在該漏洞的設備中(zhōng)打開(kāi)一(yī)個shell命令,并控制它。目前已知(zhī)該漏洞會影響自3.5.0起的所有版本Samba。
事實上,因爲與WannaCry利用的SMB漏洞相似,該漏洞(CVE-2017-7494)被稱爲SambaCry。2007年6月,當 cryptocurrency miner EternalMiner/CPUMiner 使用它來破壞Linux機器和Monero礦井時其實就已經被檢測到了。之前我(wǒ)們獲得的案例顯示,SambaCry僅用于定位服務器,而payload僅僅是加密貨币的挖礦惡意軟件。而現在,最近的數據顯示攻擊者正在利用SambaCry進行其他目的。
這個更新的惡意軟件被檢測爲ELF_SHELLBIND.A并且在7月3日被發現。和之前在野外(wài)使用SambaCry的報告情況類似,它也會在目标系統上打開(kāi)一(yī)個shell命令。但ELF_SHELLBIND.A後續的做法卻和SambaCry有明顯的差異,使得能夠将其與SambaCry區分(fēn)開(kāi)。一(yī)方面,它主要針對物(wù)聯網(IoT)設備,特别是中(zhōng)小(xiǎo)企業青睐的網絡存儲(NAS)設備。ELF_SHELLBIND還針對不同的架構,如MIPS,ARM和PowerPC。這是我(wǒ)們第一(yī)次看到SambaCry被利用而沒有加密貨币作爲payload。
惡意軟件分(fēn)析
在Shodan中(zhōng)找到使用Samba的設備是非常容易的:用“samba”字符串搜索端口445将會創建一(yī)個可行的IP列表。然後,攻擊者隻需要創建一(yī)個可以自動将惡意文件寫入列表中(zhōng)每個IP地址的工(gōng)具。将文件寫入公用文件夾後,具有SambaCry漏洞的設備就可能會成爲ELF_SHELLBIND.A受害者。
如圖1所示,ELF_SHELLBIND.A通常作爲惡意共享對象(.SO)文件傳入共享文件夾,這與之前的挖礦惡意軟件利用SambaCry漏洞的情況相似。我(wǒ)們還可以看到,它也在嘗試利用SambaCry,因爲它通過導出函數samba_init_module進行調用時,那些存在漏洞的Samba服務器就會自動加載該庫。
将.SO文件上傳到Samba共享文件夾後,攻擊者需要猜測絕對本地文件名,并發送一(yī)個IPC請求,以欺騙服務器加載和運行本地存儲的程序文件。
一(yī)旦通過所述導出功能加載惡意軟件,它将通過調用Samba守護程序(特定于SMBv2)所需的函數change_to_root_user開(kāi)始,以root身份或當前用戶的EUID運行。然後,惡意軟件将自身從其運行的任何父進程(Samba服務器進程)分(fēn)離(lí)出來,并通過函數detach_from_parent守護進程。這之後是惡意軟件發送所謂的Knock消息,我(wǒ)們假設它是東非的命令和控制(C&C)服務器“169 [。] 239 [。] 128 [。] 123”over TCP,port 80。那麽Knock消息就隻包括:
HEAD / HTTP / 1.0
服務器會讀取這一(yī)響應,但不會以任何方式使用它。在這個點上套接字已經關閉,而到這個階段,攻擊者已經獲得了系統的IP地址。
然後惡意軟件會删除與iptable通過TCP / 61422匹配的所有接受的通信的鏈規則,并再次添加,以便防火(huǒ)牆接受所有端口上的所有TCP通信。在之後,惡意軟件會在偵聽(tīng)模式下(xià)通過端口61422打開(kāi)TCP套接字,接受來自攻擊者的連接。一(yī)旦攻擊者連接到此套接字,惡意軟件就會發送消息:
Welc0me to shell Enter password:
惡意軟件希望攻擊者輸入密碼:
Q8pGZFS7N1MObJHf
如果攻擊者使用所述密碼進行回複,惡意軟件會發送消息:
Access granted
如果是不正确的密碼,那麽它就會退回去(qù)。
一(yī)旦成功建立連接并驗證身份驗證,攻擊者将在被感染系統中(zhōng)有一(yī)個開(kāi)放(fàng)的shell命令,在那裏他可以發出任何數量的系統命令,并且基本上控制該設備。惡意軟件使用位于/ bin / sh的系統shell執行任何它通過此套接字(stdin,stdout和stderr都重定向到套接字)。
結論和解決方案
目前已經爲此漏洞發布了系統補丁,這可能會限制受害者的數量。并且由于攻擊者還需要對目标系統中(zhōng)的共享位置進行可寫訪問以提供payload,所以這一(yī)點可能阻止感染率的另一(yī)個限制因素。
由于這個漏洞在5月已經被修補,所以經常更新的用戶沒有任何問題。然而,基于Unix或Linux的設備(包括大(dà)多數IoT設備)其實更難保護。如果Samba被啓用,并且制造商(shāng)沒有發送補丁,那麽這些設備就會是易受攻擊的。所以我(wǒ)們建議用戶應主動更新或咨詢具體(tǐ)的制造商(shāng)。
ELF_SHELLBIND.A的SHA256 :
c27594b1a1ecee6a62adbaee5b00bad8e3540fe98ff3bac17fef03e0ebd62914 516bafdede5e7a019a71028a7125f98190ee7ab71d03bc3041c9943324a78df5 11f47c90393082e7fdc4213d3b888ef8b7c121a86658077465b03bb7857bc540
上一(yī)篇:連網玩具對兒童隐私和安全有風險
下(xià)一(yī)篇:全民網購時代下(xià)的網購安全防範措施