11月期間,Morphisec在調(diào)查一個(gè)客戶的防范事件時(shí)發(fā)現(xiàn)了Babuk勒索軟件的一個(gè)全新變種。Babuk在2021年初首次被發(fā)現(xiàn),當(dāng)時(shí)它開始針對企業(yè)進(jìn)行雙重勒索攻擊,以竊取和加密數(shù)據(jù)。這一年晚些時(shí)候,一個(gè)威脅者在一個(gè)講俄語的黑客論壇上泄露了Babuk的完整源代碼。
現(xiàn)在,威脅者將Babuk泄露的源代碼與開源規(guī)避軟件和側(cè)面加載技術(shù)結(jié)合起來,創(chuàng)造了一個(gè)以前未曾見過的變體。在同一個(gè)月,趨勢科技發(fā)布了有關(guān)類似勒索軟件的細(xì)節(jié),錯(cuò)誤地將其歸于WannaRen,并以目標(biāo)公司的名字命名該勒索軟件。這一次,攻擊者使用了一種新的Babuk病毒株,針對一家擁有超過1萬臺工作站和服務(wù)器設(shè)備的數(shù)十億美元的制造公司。
攻擊者在發(fā)動(dòng)攻擊前有兩周的網(wǎng)絡(luò)訪問權(quán),進(jìn)行了充分的偵察。他們破壞了該公司的域控制器,并利用它通過GPO向該組織內(nèi)的所有設(shè)備分發(fā)勒索軟件。在這個(gè)時(shí)候,由于正在進(jìn)行的調(diào)查,我們不會(huì)公布整個(gè)攻擊鏈的細(xì)節(jié)。相反,我們將深入研究勒索軟件本身。
技 術(shù) 分 析
部署
在開始在域中大規(guī)模感染之前,攻擊者在域控制器中部署了以下惡意軟件文件:
·.bat一個(gè)BAT腳本,負(fù)責(zé)檢查安全解決方案的存在,并開始執(zhí)行一個(gè)微軟安裝程序(.msi)
·.msi我們在下面更詳細(xì)地討論這個(gè)安裝程序
攻擊者使用域控制器的NETLOGON文件夾--存放組策略登錄腳本文件的共享文件夾。這確保了.bat文件在整個(gè)域中執(zhí)行。
執(zhí)行
msi安裝程序包含四個(gè)文件:
· SapphireIMSClient.exe,這個(gè)可執(zhí)行文件是NTSD.exe--一個(gè)用于Windows的符號調(diào)試器工具。它是一個(gè)合法的工具,但容易受到DLL側(cè)面加載的影響:
·dbgeng.dll是主要的惡意軟件組件,它冒充NTSD.exe使用的合法DLL,并利用DLL側(cè)面加載漏洞。
·兩個(gè)加密的文件sc.ocs和config.ocs
.bat文件將:
· 在注冊表中設(shè)置一個(gè)UAC旁路
·檢查安全解決方案并通過添加新的防火墻規(guī)則阻止與它們的通信
·執(zhí)行安裝程序,負(fù)責(zé)將文件解壓到C:\Users\Public\SapphireIMSClient\文件夾中。
之后,.bat會(huì)執(zhí)行以下命令行:
C:\Users\Public\SapphireIMSClient\SapphireIMSClient.exe
C:\Users\Public\SapphireIMSClient\sc.ocs
C:\Users\Public\SapphireIMSClient\config.ocs
將開源工具注入合法的DLL中
如前所述,NTDS.exe(SapphireIMSClient.exe)是一個(gè)合法的可執(zhí)行文件,它加載了一個(gè)名為dbgeng.dll的已知核心DLL,而沒有驗(yàn)證其路徑。攻擊者在同一目錄下投放了同名的惡意DLL。這導(dǎo)致了合法的微軟簽名進(jìn)程的執(zhí)行。攻擊者之前也在使用有漏洞的Word Office應(yīng)用程序。我們目前的假設(shè)是,他們的目標(biāo)是微軟簽名的應(yīng)用程序,因?yàn)檫@大大降低了機(jī)器學(xué)習(xí)的可疑分類閾值。(沒有廠商想殺死微軟的進(jìn)程)。
dbgeng.dll中的惡意代碼有兩個(gè)職責(zé):
1、將.OCS文件讀入內(nèi)存
A) sc.ocs 一個(gè)加密的shellcod--最終有效載荷的實(shí)際反射性裝載器
B) config.OCS 一個(gè)加密的二進(jìn)制文件--最終的有效載荷
2、執(zhí)行下一個(gè)階段
第一個(gè)任務(wù)是在一個(gè)新的線程中完成的,如以下片段所示:
該惡意軟件從微軟應(yīng)用程序執(zhí)行期間交付的命令行參數(shù)中讀取.OCS文件路徑,并對內(nèi)容進(jìn)行解密。
雖然這種邏輯在網(wǎng)上廣為流傳,但DLL中的代碼與開源項(xiàng)目:pe-loader
(https://github.com/polycone/pe-loader/blob/master/loader/src/system/system.cpp)中的代碼有高度的相似性。
如前所述,執(zhí)行過程分為兩個(gè)例程。第一個(gè),由上圖表示,位于DLL加載例程中,負(fù)責(zé)讀取.OCS文件并解密sc.OCS文件(即shellcode)。第二個(gè)例程是DebugCreate導(dǎo)出的函數(shù)。它以一個(gè)長的 "Sleep "開始,等待讀取任務(wù)結(jié)束,然后再繼續(xù)。
在DebugCreate中,惡意軟件將保護(hù)權(quán)限調(diào)整為RWX,解密有效載荷,并將執(zhí)行轉(zhuǎn)移到解密的shellcode。
反射式加載器shellcode
該shellcode作為一個(gè)反射性加載器。該代碼是由Stephen Fewer(https://github.com/stephenfewer)首次發(fā)布的,但我們注意到了修改。原始技術(shù)有幾十種實(shí)現(xiàn)和修改,但深入挖掘后發(fā)現(xiàn),攻擊者使用的shellcode與以下GitHub項(xiàng)目之間有很高的相關(guān)性:malisal/loaders/pe.c (https://github.com/malisal/loaders/blob/master/pe/pe.c)
攻擊者編輯了一些函數(shù),如Windows API散列函數(shù),但整體結(jié)構(gòu)和代碼流是相同的。看起來攻擊者從這個(gè)開源項(xiàng)目中獲得了 "靈感"。
最后付費(fèi):修改后的Babuk勒索軟件
最后的有效載荷是由去年泄露的源代碼編譯的Babuk勒索軟件。
Hildaboo/BabukRansomwareSourceCode (https://github.com/Hildaboo/BabukRansomwareSourceCode)
有了以下要停止的進(jìn)程列表:
"sql.exe""dbeng50.exe"
"oracle.exe""sqbcoreservice.exe"
"ocssd.exe""excel.exe"
"dbsnmp.exe""infopath.exe"
"synctime.exe""msaccess.exe"
"agntsvc.exe""mspub.exe"
"isqlplussvc.exe""onenote.exe"
"xfssvccon.exe""outlook.exe"
"mydesktopservice.exe""powerpnt.exe"
"ocautoupds.exe""steam.exe"
"encsvc.exe""thebat.exe"
"firefox.exe""thunderbird.exe"
"tbirdconfig.exe""visio.exe"
"mydesktopqos.exe""winword.exe"
"ocomm.exe""wordpad.exe"
"dbeng50.exe""notepad.exe"
相似性
·代碼結(jié)構(gòu):整體執(zhí)行流程和代碼結(jié)構(gòu)與Babuk勒索軟件所呈現(xiàn)的結(jié)構(gòu)相關(guān)。
·相同的加密算法:任何勒索軟件最具有特征的功能之一是加密方法。我們驗(yàn)證了我們案例中的有效載荷與Babuk源代碼中的有效載荷相匹配。
·配置:原始和變種的配置和使用是重疊的。
下面的截圖顯示了某些代碼塊在源碼和反編譯中的匹配情況。
注意:編譯器在某些情況下會(huì)發(fā)揮它的魔力,這可能導(dǎo)致不同的代碼定位和代碼減少。
修改
我們注意到影子拷貝的刪除程序與源代碼中的不同。
Babuk勒索軟件
泄露的Babuk源代碼顯示,通過創(chuàng)建新的cmd.exe進(jìn)程刪除的影子副本將執(zhí)行vssadmin.exe工具:
修改后的Babuk勒索軟件:最終使用的有效載荷
惡意軟件通過使用執(zhí)行WMI查詢的COM對象來遍歷可用的影子副本。下面的代碼片段顯示了惡意軟件如何執(zhí)行WMI查詢以獲得每個(gè)影子副本的ID,然后使用COM,按ID刪除每個(gè)影子副本。
值得注意的是,BlackMatter和Conti勒索軟件等惡意軟件也表現(xiàn)出類似的行為。
為什么防御Babuk勒索軟件是如此困難
現(xiàn)代NGAV、EPP和EDR/XDR對運(yùn)行時(shí)的可見性有限。它們通常被限制在使用鉤子和/或Windows的事件跟蹤(ETW)。假設(shè)鉤子和ETW沒有被篡改,它們只是應(yīng)用程序生命周期內(nèi)執(zhí)行活動(dòng)的滄海一粟。這意味著如果一個(gè)應(yīng)用程序被成功加載,大多數(shù)時(shí)候安全監(jiān)控解決方案將對應(yīng)用程序的執(zhí)行保持盲目,直到對系統(tǒng)的重大影響可見。
應(yīng)用程序的虛擬化運(yùn)行時(shí)地址空間要比單個(gè)文件大得多。因此,在應(yīng)用程序執(zhí)行期間應(yīng)用傳統(tǒng)的掃描方法是一場失敗的戰(zhàn)斗。此外,這種掃描大大降低了可用性,必須盡可能地減少。
攻擊者知道監(jiān)控和掃描解決方案的這些弱點(diǎn),并努力在應(yīng)用程序的內(nèi)存中保持隱蔽。這適用于這個(gè)新的Babuk變體,它實(shí)現(xiàn)了側(cè)面加載,在合法的應(yīng)用程序內(nèi)執(zhí)行,并實(shí)現(xiàn)了反射性加載功能以隱藏其余的執(zhí)行步驟。攻擊者對其初始訪問和橫向移動(dòng)步驟實(shí)施類似的規(guī)避技術(shù),我們將在下一篇博客中介紹。
移動(dòng)目標(biāo)防御技術(shù)
由于這些威脅具有高度的規(guī)避性,而且主要存在于設(shè)備內(nèi)存中,任何級別的NGAV或最佳EDR都無法可靠地檢測和阻止它們。Morphisec革命性的、獲得專利的移動(dòng)目標(biāo)防御(MTD)技術(shù)是一個(gè)行業(yè)領(lǐng)先的解決方案,可以阻止無法檢測到的攻擊。它對內(nèi)存攻擊提供了一種超輕量級、高度有效的防御。
MTD以不可預(yù)測的方式改變運(yùn)行時(shí)的內(nèi)存環(huán)境,以隱藏應(yīng)用程序和操作系統(tǒng)的目標(biāo),不讓對手發(fā)現(xiàn)。這導(dǎo)致了攻擊面的大幅減少,使目標(biāo)無法找到。MTD在不影響可用性的情況下提出誘餌來欺騙和誘捕威脅。它阻止并暴露了依賴內(nèi)存中動(dòng)態(tài)執(zhí)行的隱蔽性的攻擊者。
通過在運(yùn)行期間對設(shè)備內(nèi)存進(jìn)行變形,Morphisec的MTD增強(qiáng)了業(yè)現(xiàn)有的安全堆棧,以阻止和歸因于無文件攻擊,否則就不可能檢測到。
攻擊的結(jié)果
該公司使用下一代反病毒(NGAV)解決方案和Morphisec Guard來保護(hù)他們的端點(diǎn)。勒索軟件躲過了該公司端點(diǎn)上的NGAV,但Morphisec的移動(dòng)目標(biāo)防御(MTD)技術(shù)阻止了攻擊,防止了任何損害。
市場領(lǐng)先的EDR,如CrowdStrike和SentinelOne,在攻擊發(fā)生時(shí)無法阻止新的Babuk變體。SentinelOne更新了其簽名,在贖金軟件被上傳到一個(gè)開放資源庫72小時(shí)后檢測到加密的殼碼參數(shù),CrowdStrike現(xiàn)在也更新了其檢測。
正如Babuk勒索軟件的這個(gè)新變種所顯示的,MTD對未知和內(nèi)存中的攻擊提供了無與倫比的保護(hù)。
-
網(wǎng)絡(luò)安全
+關(guān)注
關(guān)注
10文章
3181瀏覽量
59997
發(fā)布評論請先 登錄
相關(guān)推薦
評論