原文:LOLSnif – Tracking Another Ursnif-Based Targeted Campaign
譯者:知道創宇404實驗室翻譯組

工具泄露是網絡安全中非常有趣的事件。一方面泄露的工具在被熟知且進行分析后,會對原有的文件造成某種意義的破壞,另一方面其內容將會被傳入到較低版本的工具當中。本文將會對Ursnif的新版本進行了詳細分析。

由于惡意軟件的存在,源代碼泄露情況很普遍。2017年,代碼“ Eternal Blue”(CVE-2017-0144)遭泄露并被黑客入侵,而早在2010年銀行木馬Zeus的泄露就已經形成了惡意軟件新格局,該木馬的源代碼在泄露后,出現了與該銀行木馬相同的代碼庫。本文我將重點介紹源代碼在2014年就被泄露的系列事件,這個系列被稱為Ursnif(也稱為Gozi2 / ISFB),Ursnif是成熟的銀行木馬,而關于該系列的研究也有很多。

本文中我對Ursnif的最新變體進行了分析,發現它利用LOLBins、組件對象模型(COM)接口等技術來檢測Internet Explorer,借此繞過本地代理以及Windows Management Instrumentation(WMI)來與操作系統進行交互,達到代替本地Win32 API的效果,該操作很難被檢測到。

該變體已被重新用作偵察工具和下載器,在打擊網絡犯罪攻擊活動中有著重要意義。于2019年8月首次公開提及,與一些相關域名的注冊日期一致,并在該年冬季進行了惡意攻擊,有文章詳細分析了該軟件2020年4月發起的攻擊活動,提出了關于LOLBins的使用,簡而言之,LOLBins代表“Living Off the Land Binaries”,這意味著會利用目標系統上已經存在的系統工具來執行惡意目的。如,數十種Windows系統工具可用于下載文件、轉儲憑據或執行其他二進制文件。因此,攻擊不需要自帶工具,也可以將其蹤跡隱藏在這些工具的合法用途中,由于本文中說到Ursnif變體使用了LOLBins,并對此進行了引用,因此在下文中將其稱為LOLSnif,目前,我尚未發現它以自己的名字被追蹤。

近期惡意活動的詳細探究

為了更好的了解參與者的TTPS,我們從今年4月7日開始的LOLSnif活動惡意開始來進行分析。該活動主要通過發送郵件的形式將惡意代碼隱藏在加密的ZIP垃圾郵件中,并在郵件文本中顯示解密代碼,要求用戶使用代碼對文件進行解密,以下是一個1.34M的JavaScript文件:

“my_presentation_v8s.js” (4d98790aa67fb14f6bedef97f5f27ea8a60277dda9e2dcb8f1c0142d9619ef52)

這款惡意軟件于今年4月7日被提交給VirusTotal,其中的JavaScript文件最終會成為一個UtBuefba.txt的PE可執行文件(需用一個8字符長的ASCII密鑰進行),其文本也會被放到AppData \ Local \ Temp中,并通過regsvr32.exe -s [redacted]\AppData\Local\Temp\\UtBuefba.txt來啟動DLL(“ -s”表示靜默注冊,不顯示對話框)。即使在必須使用DLL來導出DllRegisterServer和“DllUnregisterServer的情況下,DLL也不會進行導出,因為它只有一個常規的DLL入口點。但是,此文件仍會對Ursnif DLL進行解壓。

LOLSnif 分析

LOLSnif包含兩個主要組件:加載程序和工作程序組件,前者使后者下降,這兩個都是頭文件稍微被破壞的PE DLL,其中DOS頭部(“ MZ”)和PE頭部(“ PE”)均被覆蓋。雖然這可能會妨礙某些沙箱解決方案轉儲有效負載,但問題很容易修復。值得注意的是,它們都是x86二進制文件,目前我還未發現其與任何惡意軟件相關聯。

加載器

未打包的DLL (e3d89b564e57e6f1abba05830d93fa83004ceda1dbc32b3e5fb97f25426fbda2)包含兩個導出點:DLL入口點和DllRegisterserver,后者是用regsvr32注冊的,類似于Ursnif加載器,并使用相同的配置機制(JJ結構)。

下圖說明PE列表下方的JJ結構,每個配置部分均以頭部數字0x4A4A(“ JJ”)開頭,并保留數據的偏移量以及用于描述數據類型的CRC32標簽(如,額外的有效負載)。在這里可以找到有關Ursnif的配置格式的詳細介紹。

JJ結構

加載程序包括兩個配置部分。第一部分是安裝第二部分有效負載所需的INSTALL_IN,第二部分包含一個APlib壓縮的DLL,它是實際的工作程序。在解壓縮第二個DLL之前,加載程序將檢查操作系統是否具有俄語或中文本地化版本。如果有,加載程序則停止操作。

相關操作

LOLSnif的相關操作與最初的Ursnif相關操作類似。如:保留項目的總體結構,使用JJ結構的配置存儲以及加密.bss部分(包含字符串和其他值得保護的數據)。盡管加密算法略有區別,但也增加了一些有意思的功能。

它的配置格式與最初版相同,下圖有顏色標記的部分顯示了Blob配置。它的第一部分以字符串和數據類型信息的偏移量顯示結構,這些字符串存儲在Blob(灰色區域)的末尾,其包含命令和控制服務器地址,下面是公用DNS服務器的列表。值得注意的是該Blob包含DGA(域生成算法)的配置參數,如,用于下載域生成關鍵字的域constitution [。] org。但是,LOLSnif不包含任何用于生成域名的功能。

Blob配置

在最原始的Ursnif中,LOLSnif帶有一個加密的.bss,該部分包含字符串,此部分在啟動時就會被進行解密,但其解密算法與原始代碼庫略有不同。解密密鑰是基于樣本的編譯日期,該日期硬編碼在二進制文件中。原始的Ursnif使用滾動XOR算法,LOLSnif的算法是基于add/sub指令。解密字符串的完整列表可以在下面找到附錄B

解密算法

此外,某些字符串并沒有被引用,猜測它可能是反匯編程序的問題,但實際上是代碼的問題。這些字符串在Ursnif的代碼中被定義為宏(請參考文件“Common/ cschar.h”),惡意軟件的操作者會對其進行追蹤。

登記交互以兩種方式實現:本機Win32 API(如RegOpenKey,RegEnumKey,RegCloseKey)和Windows Management Instrumentation(WMI)。有一些函數采用布爾參數,這用于決定是使用Win32 API還是WMI,如圖所示的用于設置注冊表項的字符串值的函數。第一個參數(在反匯編中標記為use_wmi)確定本機API或WMI的使用。

函數包裝器

LOLSnif是使用的x86進行構建,但預估其也可在x64平臺上運行。另一個有趣的方面是LOLSnif廣泛使用COM接口。據報道該惡意軟件通過IWebBrowser對Internet Explorer進行了檢測,以聯系其命令和控制服務器(CC)。由于Internet Explorer常與代理進行連接,因此該方案允許它繞過合作網絡中的任何代理配置。用LOLSnif通過IHTMLElement在DOM中搜索字符串invalidcert,可能會出現無效的證書警告。若遇到此情況,可證明此警告會將效負載發送到CC服務器。

但是,當前示例未使用https,而是使用純http。該惡意軟件將Internet Explorer設置為標準瀏覽器,以避免操作過程中出現任何彈出窗口。另外,Ursnif變體還使用了LOLBins,LOLBins用于從注冊表mshta.exe+powershell.exe,以此啟動惡意軟件,還能夠下載和執行其他模塊以及有效負載。

LOLSnif的api1活動觀察范圍的縮小

在今年4月份的惡意活動中觀察發現:我們可以利用幾個鏈接來查找更多樣本和域附錄A,列表列出了我在觀察期間發現的所有IoC。首先,LOLSnif的字符串解密算法與原始代碼庫不同,基于此算法尋找了更多樣本并從中提取出了相關配置。

樣本均使用相同的服務器ID(730)和相同的RSA密鑰(此處未列出),每個系列都有三個遞增的僵尸網絡ID(1000、2000、3000)。他們的編譯時間戳近乎是合法的,除最后一個以外的所有域都共享域wensa [。] at或其子域。操作者們在經過6個月努力后,發現CBC密鑰在所有情況下均顯示為W7fx3j0lFvOxT2kF。該異常值屬于僵尸網絡ID 2000,而該僵尸網絡的密鑰是U7yKaYwFde7YtppY。更有趣的是,有兩個樣本在2020-02-19的四秒鐘內進行了編譯,這表明存在某種形式的構建自動化。

另一種方法是利用CC基礎結構進行分析。首先,所有樣本都將/ api1作為URL的一部分,例如been.dianer [。] at / api1。其次,除一個域外,所有域都使用“.at”TLD。有一個TOR“.onion”域6buzj3jmnvrak4lh.onion。如果我們利用有關已知域IP的DNS信息,則會發現更多有趣的信息,有許多領域,相關的操作者使用了幾個月,域“ wensa [at]”的使用時間最長,大約六個月。

以下時間線顯示了唯一的配置和某些域。樣本由其SHA256前綴和蛇形CBC密鑰前綴(例如8d700ea_W7)描述。這些域有首次發現日期(FS),其中一些具有最后查閱日期(LS)。參與者可能在操作開始時就注冊的域lamanak[。]atkamalak[。]且與基礎結構IP相關聯。

時間線

關聯的參與者要么不關心OpSec,要么非常確定它們的功能,因為它們多次重用域和ip,有時它們會使用它們很長一段時間。

結論

此文中,我仔細研究了Ursnif的最新變體(LOLSnif)及其近期活動相關操作者可進行有針對性的網絡犯罪操作。這些活動的核心是Ursnif Trojan的變體,該變體被重新用作下載器和偵察工具,以滿足操作者的特殊需要。

該操作者使用的技術(例如LOLBins,)及在攻擊后期如利用后期開發框架(Cobalt Strike)和VNC客戶端(TeamViewer))中觀察到的COM接口和TTP都表明了這一點:有明顯針對性的攻擊行為。襲擊事件自上個月以來一直在持續,沒有引起公眾的廣泛關注。這可能是關聯的參與者重復使用域和IP的原因,但操作者的存在這一點不容忽視。


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1213/