師出同門,勒索不休:GandCrab退役後SODINOKIBI登場
2019年4月,Cybereason Nocturnus團隊遇到了一種名為Sodinokibi(又名Sodin、REvil)的新型勒索軟體。Sobinokibi具有很強的隱蔽性,採取了多種措施來防止檢測。
Sodinokibi的作者疑似與另一勒索軟體的作者——GandCrab有關。GandCrab是一款於近退役的勒索軟體,因為其幕後團隊稱自己「已賺到了足夠多的錢」。在過去的勒索軟體事件中,全球有近40%的感染是由GandCrab造成的。如果這種關聯是準確的,那麼Sodinokibi可能有朝GandCrab為目標發展的潛質。
勒索軟體對許多組織機構來說仍然是一個巨大的商業隱患,像Sodinokibi和GandCrab這樣的高規避性勒索軟體每年都會對它們造成高額的損失。
在本文中,我們將對Sodinokibi勒索軟體進行深入的技術分析,重點關注它的傳遞方法以及為避免AV檢測而採取的防禦機制。
要點
·大多Sodinokibi早期襲擊事件都發生在亞洲,最近攻擊有轉移到歐洲的趨勢。
·Sodinokibi早期利用的是中小企業伺服器或是其它一些基礎設施中的漏洞,隨著時間的推移,我們還看到了其它的感染媒介,比如網路釣魚和漏洞利用工具包。
·調查過程中我們還發現:Sodinokibi會在受感染的機器中搜索由韓國安全供應商「Ahnlab」製作的AV產品,並注入其payload。
·在這項研究中,有證據表明Sodinokibi勒索軟體是由GandCrab團隊開發的。
介紹
Sodinokibi於今年4月底首次發現,當時是通過利用Oracle WebLogic漏洞(CVE-2019-2725)安裝在目標計算機上的,隨後才開始通過漏洞利用工具包和垃圾郵件進行傳播。
Sodinokibi能阻止用戶對目標機器數據的訪問,使公司機構完全喪失業務能力。到目前為止,它還沒有自我傳播的能力,但一旦實現,其影響可能會擴展到整個網路。
這個惡意軟體也顯示了勒索軟體的復甦跡象,雖然有報告說明,當前勒索軟體的攻擊事件正在減少,但我們看到這個局面還是不容忽視的,而且在今年第二季度,勒索軟體平均贖金的額度已經翻了一番。公司機構都需要強大的安全產品,在面對此類攻擊時才能從容不迫。
威脅分析
Sodinokibi幕後黑手使用的初始感染媒介是帶有惡意鏈接的釣魚郵件。點擊後,會下載一個看似合法的zip文件。VirusTotal對該zip文件的檢測率非常低,表明大多數安全廠商都沒有將其初始payload標記。由於Sodinokibi的初始payload未被檢測到,因此能繞過大多組織機構的第一層防禦。
圖1.VirusTotal上,Sodinokibi對該zip文件檢測率
該zip文件裡面是一個混淆的JavaScript文件,當用戶雙擊後會被WScript執行。
圖2.WScript執行惡意JavaScript
圖3.Cybereason解決方案中所示的第一階段流程
此JavaScript文件通過重新排列內部名為eiculwo的列表中的字元,來消除自身的混淆。
圖4.混淆的JavaScript文件的前半部分
位於JavaScript文件中的變數vhtsxspmssj是一個混淆的PowerShell腳本,攻擊者會在稍後的攻擊中對其去混淆。
圖5.去混淆的JavaScript文件
JavaScript文件對變數vhtsxspmssj進行反混淆處理,並將其保存在名為jurhtcbvj.tmp的目錄中。
接著腳本會下載二級payload,不是將其嵌入到初始腳本中。
我們遇到的數個惡意樣本都是通過此腳本來下載二級payload,而不是將其嵌入到初始腳本中。
文件jurhtcbvj.tmp是一個填充了多個感嘆號的PowerShell腳本,JavaScript文件通過啟動PowerShell命令來刪除其中的感嘆號並執行此腳本。
圖6.混淆的PowerShell腳本jurhtcbvj.tmp
圖7.用於替換感嘆號並執行PowerShell腳本的命令
接著jurhtcbvj.tmp解碼另一個Base64編碼的腳本並執行它。解碼後的腳本包含一個.NET模塊(也使用Base64編碼),再將模塊解碼並載入到PowerShell進程內存中,一旦載入後,將執行Install1函數。
圖8.模塊test.dll載入到內存中
模塊test.dll只是此交付過程的眾多層之一。函數Install1里還包含了另一個用Base64編碼的模塊,Install1會解碼此模塊並將其載入到內存中。
圖9.Base64編碼模塊Install1
圖10.將模塊Install1載入到內存中
如果惡意軟體無法獲得足夠高的許可權,它將嘗試繞過用戶訪問控制。
載入器第一階段:UAC繞過
載入到內存中的模塊用作惡意軟體下一階段的載入程序。該模塊使用CheckTokenMembership來確認進程的許可權,如果進程的許可權不足,則會嘗試繞過用戶訪問控制(UAC)。為了繞過UAC,惡意軟體將自身寫入註冊表項Software \ Classes \ mscfile \ shell \ open \ command \中,並啟動explorer.exe的新實例來執行CompMgmtLauncher.exe。
圖11.創建註冊表項並啟動CompMgmtLauncher.exe
圖12.Explorer.exe用於啟動ComMgmtLauncher.exe
執行CompMgmtLauncher.exe時,它將執行在註冊表項Software \ Classes \ mscfile \ shell \ open \ command \中的任何配置。在本例中,它正在執行前面執行過的相同PowerShell命令,以替換感嘆號,並以更高許可權執行PowerShell腳本。
圖13.創建註冊表項以繞過UAC
圖14.Cybereason解決方案中所示的UAC 繞過後的過程
載入器模塊被載入到內存中,並再次檢查許可權。在擁有足夠的許可權後繼續發動攻擊。載入器的模塊資源中有一個經過XOR 加密的可移植可執行文件(PE)。
圖15.XOR 加密的的PE
載入器將PE從資源載入到內存中,使用密鑰7B在內存中解密,然後執行。
圖16.XOR解密之前的內存中的PE
圖17.XOR解密之後的內存中的PE
載入器第二階段:注入AHNLAB
內存中的PE是第二個載入程序模塊,用於最終payload的載入工作。在此階段,惡意軟體會嘗試將勒索軟體的payload注入Ahnlab殺毒軟體進程中。
為此,第二個載入器需要檢查目標計算機中是否安裝了Ahnlab防病毒軟體。如果存在Ahnlab V3 Lite的服務,則會檢查文件autoup.exe是否可用。autoup.exe位於Ahnlab Updater中,容易受到攻擊。
據了解,GandCrab的作者曾對Ahnlab這款產品感到頭疼過,可能是出於報復的心態,Sodinokibi才會專門搜索Ahnlab並將其用於攻擊。
圖19.autoup.exe的路徑字元串
如果惡意軟體能夠找到Ahnlab服務和可執行文件,則載入器會自動啟動處於掛起狀態的autoup.exe進程,並嘗試通過process hollowing將Sodinokibi的payload注入其中。
如果計算機上未安裝Ahnlab防病毒軟體,則載入器將在掛起狀態下啟動當前PowerShell進程的單獨實例,並嘗試通過process hollowing將Sodinokibi payload注入其中。
Payload以XOR加密的PE文件的形式存儲在模塊資源中,密鑰為7B。
圖20.XOR加密的可移植可執行文件
SODINOKIBI的payload
惡意軟體將RC4加密的配置數據存儲在.grrr中,此名稱在不同的惡意軟體變體中會有所不同。
圖21.Sodinokibi的payload
配置文件中包含了要從加密中排除的文件夾、文件和文件擴展名的信息;還包含要殺死哪些進程,刪除哪些服務,以及如何使用CVE-2018-8453提權漏洞,與C2通信,展示給用戶的勒索票據等相關信息。
圖22.Sodinokibi的配置文件
Sodinokibi使用GetKeyboardLayoutList識別有哪些鍵盤語言,通過switch case語句檢查主要語言ID。只有配置了下列語言,則惡意軟體將關閉,顯然作者將這些國家排除在了目標之外。在此Sodinikobi變體中,還添加了對敘利亞語的檢查,以及使用GetSystemDefaultUILanguage和GetUserDefaultUILanguage對系統語言的新檢查。
圖23.主要語言的篩選
語言檢查通過後,惡意軟體將繼續執行,並使用vssadmin.exe從計算機中刪除卷影副本,使文件恢復更加困難。
圖24.使用vssadmin.exe刪除卷影副本
接著勒索軟體遍會歷機器上的所有文件夾,加密所有文件,並在每個文件夾中植入勒索通知。完成加密後,它會更改桌面壁紙以告知用戶。
圖25.勒索軟體加密文件後的新壁紙
圖26.勒索軟體的贖金票據
惡意軟體加密目標計算機上的文件後,會嘗試與C2伺服器建立通信。為了生成C2的URL,它會遍歷配置文件中的域列表。
圖27.配置文件中的域列表
惡意軟體使用硬編碼和隨機生成字元串創建多個隨機URL。 Tesorion最近的一份報告里有講到Sodinokibi和GandCrab在生成隨機URL方式上的相似之處,這進一步增強了相同作者的嫌疑。
圖28.用於生成隨機URL的硬編碼字元串
生成url後,惡意軟體將加密的機器信息發送到每個域,包括用戶名、機器名、域名、機器語言、操作系統類型和CPU體系結構。
圖29.加密前發送到C2伺服器的數據
當用戶點擊贖金票據並輸入密鑰時,會出現一個頁面,列出他們必須以比特幣支付的價格,才能檢索他們的文件。
圖30.Tor瀏覽器勒索贖金
結論
在這篇文章中,我們深入探討了Sodinokibi勒索軟體感染過程,並表明,儘管勒索軟體作者使用的混淆技術非常簡單,但仍被證明在繞過大多數反病毒軟體上非常有效。
此外,我們的分析進一步支持了Sodinokibi與GandCrab背後創作人員相同這一點,例如:語言和國家白名單的相似性(俄語國家、敘利亞阿拉伯語),對Ahnlab產品的「復仇」,以及URL生成常式中的相似之處。
自2019年4月以來,Sodinokibi勒索軟體出現頻繁,並且在首次亮相後不到4個月內成為第四種最常見的勒索軟體。它經歷了幾次小的更新,我們預計,作者會持續開發這款開發勒索軟體,增加更多的功能,也提高其逃避檢測能力。
安全建議
·請勿下載可疑來源的文件或點擊可疑鏈接。
·定期備份雲中本地和外部的重要文件。
·在Cybereason解決方案中啟用PowerShell防護。
·在預防模式下激活Cybearson的反勒索軟體,以檢測並防止此類威脅和其他類似威脅。
※專訪諸葛建偉:十三年清北教書匠,九年「CTF」領路人
※適用於移動設備的取證方法能否照搬到台式計算機上?
TAG:嘶吼RoarTalk |