近期,Cisco Talos詳細分析了信息竊取惡意軟體Astaroth,該惡意軟體使用包括流行的COVID-19在內的多種誘餌,主要針對巴西發起攻擊。在Astaroth惡意軟體中,使用了非常複雜的混淆和反分析/逃避檢測技術,從而阻止研究人員對該惡意軟體家族的檢測和分析。該惡意軟體創造性地使用YouTube頻道作為編碼和加密後的命令與控制(C2)通信通道。
1.1 獨特功能
Astaroth使用了一系列強大的反分析/逃避檢測技術,而這些是我們近期所看到的最為複雜的技術。Astaroth可以有效逃避檢測,並以非常合理的判斷方式來確保它僅會被安裝在位於巴西的作業系統上,同時可以規避在沙箱和研究人員的系統上安裝。此外,該惡意軟體會在常見埠上利用常見服務,同時還將YouTube頻道作為C2,以此來儘可能地逃避檢測。
1.2 工作原理
1、用戶收到一封具有迷惑性的電子郵件,在這一系列的惡意活動中,所有電子郵件都使用葡萄牙語,並且是針對巴西的用戶發送。
2、用戶單擊電子郵件中的連結,該連結將用戶定向到攻擊者所使用的伺服器上。
3、從Google基礎架構下載初始Payload,即一個ZIP文件,其中包含LNK文件。
4、在LoLBins(ExtExport/Bitsadmin)用於進一步感染之前,實施了多層混淆。
5、在投放Astaroth Payload之前,進行了大量的反分析、逃避檢測的檢查。
6、從YouTube頻道說明中,提取經過編碼和加密後的C2域名。
1.3 核心結論
通過Astaroth,我們可以看到一些惡意軟體已經達到非常成熟的水平。通過對這一惡意軟體的分析,我們可以了解到攻擊者可能會使用的高級反分析、逃避檢測的手段,這類具有較強反分析能力的惡意軟體很可能會擴散到巴西以外的地區。作為企業等組織,需要針對這些具有較強逃避檢測能力的信息竊取惡意軟體進行充分的防護,同時應該通過有效方式防禦這種複雜的攻擊。同時,目前已經有大量攻擊者使用COVID-19的主題來發起攻擊,而這個惡意軟體的攻擊活動則是使用該話題的又一個案例。
二、摘要
根據當前的威脅形勢,網絡上分布著各種惡意軟體系列,這些惡意軟體以企業或個人為目標。在所有這些威脅之中,大多數都存在一個共同點——為了金錢。有很多惡意軟體都會以最終系統上存儲數據的訪問權限為目標,這些數據可以通過各種方式轉變成金錢。為了使利益最大化,一些惡意軟體作者和惡意軟體分發者正在竭盡全力逃避檢測,特別是逃避自動化分析環境和可能會調試惡意軟體的惡意軟體分析工程師。而我們今天所分析的Astaroth惡意活動,則展現了一個教科書級的逃避技術。
在該惡意軟體背後的威脅行為者非常關心如何逃避檢測,他們並不是僅僅向惡意軟體中引入了一兩項反分析檢查,而是引入了多達數十項檢查,其中包括大多數商品化惡意軟體都很少見到的檢查項。這種類型的惡意活動展現了一些以金錢為目的的攻擊者在過去幾年中達到的成熟水平。這項惡意活動專門針對巴西,並且使用專門針對巴西用戶設計的誘餌,包括COVID-19(新冠肺炎)和Cadastro de Pessoas Físicas(CPF,巴西個人納稅人登記號碼)。除此之外,投遞程序甚至在投放最終惡意Payload之前都使用了非常複雜的技術以及多層混淆和逃避技術。在投放Payload之後,還會進行另外一系列的檢查,以確保以較高的把握在巴西的作業系統上執行Payload,而並非在研究人員或其他安全技術(特別是沙箱)所使用的系統上執行。除此之外,該惡意軟體還使用了新型的技術,通過YouTube進行命令與控制更新,結合使用了大量新技術和已有技術。
在本文中,我們將對Astaroth惡意軟體家族進行深入分析,並詳細介紹我們在過去的近一年中觀察到的一系列活動。其中將包括詳細的反混淆分析、從最初的垃圾郵件到最終投放的Payload分析、Astaroth使用的所有逃避技術分析。希望通過本篇文章,能讓大家了解到如何在自己的環境中進行樣本分析。這個惡意軟體非常難以琢磨,我們估計在可以預見的將來,對於用戶和防禦者來說,都可能是一個令人頭疼的威脅,特別是如果其針對的目標轉移到南美和巴西之外,則會更加嚴重。
三、技術細節
Astaroth包含一個多階段的感染過程,可以用於檢索和執行惡意軟體。總體而言,感染過程如下圖所示。我們將在後面的部分中詳細描述感染過程的每個步驟。
3.1 交付階段
這些惡意活動通常以惡意電子郵件作為開始。這是一種常見的策略,電子郵件會被設計為看起來像是熟悉品牌的合法電子郵件,試圖誘導用戶單擊其中的惡意連結或打開附件。在我們的分析中,我們收集並查看了自2019年年終開始Astaroth惡意活動所使用的數千封惡意郵件。這些電子郵件中的絕大多數都是針對巴西,因此是使用葡萄牙語編寫的。在過去的6-8個月中,攻擊者使用了不同話題開展了不同的攻擊活動。下面展示了攻擊者冒充成某個巴西知名品牌發出的電子郵件示例。
在這一惡意活動中,攻擊者試圖讓用戶點擊一個看上去像是過期發票的連結,這也是一種常見的策略。電子郵件中的超連結實際指向的是與顯示不同的URL,但用戶可能會認為他們點擊的是指向巴西某本地汽車租賃網站的連結,但實際上點擊的連結如下:
hxxp://wer371ioy8[.]winningeleven3[.]re/CSVS00A1V53I0QH9KUH87UNC03A1S/Arquivo.2809.PDF
在早期的惡意活動中,有一個典型的特徵,就是使用攻擊者擁有的域名和子域名(即上方的wer371ioy8)。我們已經看到存在大量獨特的子域名和URL,這很有可能表明URL是隨機生成的,並且伺服器會根據請求的不同而產生相應的響應。
當我們開始追蹤感染源時,我們找到了惡意軟體的實際位置。用戶單擊連結後,將會被重定向到Google Drive,以下載實際的惡意ZIP文件,我們將在後文中分析該文件。攻擊者通過多種方式進行Web重定向,最常見的一種就是302-Cushioning技術。同時,這些攻擊者還使用了此前曾見到過的策略——iframe。
請注意,這裡的iframe利用相對位置,並將iframe呈現在屏幕的上方和左側,這是我們在漏洞利用攻擊工具包中經常能夠觀察到的情況。最初在重定向到Google基礎架構時,還會引入感染路徑,從而對中間的請求進行加密。這樣的流量將會產生對Google託管的ZIP文件的明文請求,如下所示。
攻擊者在惡意活動期間,還利用了一些其他的誘餌,包括COVID-19。在下面展示的電子郵件中,攻擊者仿冒了來自巴西衛生部的郵件,向市民提供有關如何應對COVID-19爆發的措施。
在公告中,提及了在巴西境內分發呼吸器(一種用於治療COVID患者的必要醫療設備)的情況,並提供了一系列建議,這些建議可以以PDF格式下載,並提供了一個下載連結。但是,該連結實際指向的是攻擊者的伺服器,並且會再次重複上述過程。這也是攻擊者持續利用COVID-19來傳播惡意軟體的另一個示例。
最近,我們注意到這些攻擊者分發惡意軟體的方式有所變化。他們仍然在使用與發票和帳單相關的誘餌,但是更改了格式,並刪除了其中的一些基礎結構。
如我們所見,這封電子郵件試圖誘導與債務相關的用戶單擊連結,但同時其中還提到了會影響收件人CPF的有效性。CPF是巴西的一個重要證件編號,類似於美國的社會安全號碼SSN。這個證件適用於所有納稅的公民和遊客,其用途包括申請駕照、開設銀行帳戶、註冊手機號碼等等。如果這個證件不再可用,將會嚴重影響人們的生活,產生高昂的成本。因此,這是一個非常有效的誘餌。
攻擊者目前似乎正在刪除一些基礎架構內容,因為現在URL直接指向Google託管的ZIP文件,示例如下:
hxxp://48.173.95[.]34.bc[.]googleusercontent[.]com/assets/vendor/aos/download.php
這就類似於前面提到的URL,但是不需要與攻擊者的伺服器進行交互。我們看到的這兩種攻擊活動目前都處於活躍狀態,並且這些URL現在仍然可用。一旦最初的投放程序進入系統,LNK文件就會啟動複雜的感染過程。
3.2 感染第一階段
前面提到的ZIP壓縮包中,包含惡意的Microsoft Windows快捷方式(LNK)文件,這些文件用於執行感染過程的第一階段,即下載其他惡意內容,並啟動感染過程。
為了防止研究人員分析其中包含的字符串,攻擊者對其進行了混淆處理。其中一個LNK文件的示例如下:
在執行時,嵌入在LNK中的批處理命令負責創建一個JScript文件,該文件存儲在「C:\Users\Public\Documents\」中,然後執行該文件。
這個JScript負責向攻擊者控制的Web伺服器發出HTTP GET請求,以檢索感染過程的下一個階段。
從攻擊者控制的伺服器收到的響應數據中,包含混淆的JScript的下一個階段,該階段由受感染系統上運行的進程直接執行,並且不會寫入到系統文件中。用於從第一層受攻擊控制的分發伺服器中檢索其他指令的URL結構在各個活動中有所不同,如下面的示例所示:
這些腳本是從捕獲的網絡流量中得到的。
在JScript執行後,將啟動感染過程的下一個階段。
3.3 感染第二階段
在感染的早期階段提供的JScript中包含各類混淆功能,從而使分析過程變得更加困難。在整個腳本中,都使用了CharCode替換,將其中的ASCII字符替換為十進位表示形式。例如,下面是混淆後的JScript的子集:
該腳本有效地採用了ASCII字符的十進位表示形式,將其轉換,並將結果連接起來,以創建一個字符串,其中包含Windows命令處理器執行它們所必須的命令行語法。
取這些數值,並將它們與像這樣的文本轉換器交叉引用,就可以將數據轉換為可讀的形式:
除了CharCode轉換之外,變量聲明還用於破壞命令行語法,從而導致閱讀和解釋代碼內容變得更加困難。
我們進一步分析上個示例中的變量聲明,在將十進位轉換回ASCII後,我們就可以獲取要聲明的變量的內容,並將其進行替換,以重建需要調用的命令行語法。
在對JScript進行反混淆之後,我們看到了一個強大的下載工具,惡意軟體使用該下載工具嘗試檢索第三階段惡意軟體Payload並執行。下載工具負責執行以下過程:
1、首先嘗試確定系統上是否已經存在第三階段惡意軟體Payload。
2、如果不存在,將創建隨機生成的目錄結構,一旦檢索到該目錄結構,將用於存儲第三階段的Payload。
3、然後,隨機選擇分發伺服器域名和URL結構,並使用Windows實用程序bitsadmin嘗試檢索第三階段的惡意軟體Payload。
4、如果成功,則將存儲最終的動態連結庫(DLL),然後加載程序嘗試使用ExtExportLoLbin加載DLL,並執行第三階段惡意軟體Payload。
3.4 分析第二階段下載工具
在分發活動中使用的下載工具包含一些值得我們關注的功能,利用這些功能,攻擊者所使用的分發基礎結構將有能力彈性地阻止許多組織可能使用的URL或域名。
注意:在我們分析混淆後的下載工具時,我們將變量名稱、函數名稱、參數名稱從其原始隨機生成的值進行了更改,以提高可讀性,並提升分析過程的效率。
下載工具首先檢查位於以下目錄的文件是否存在,以確定系統是否已經交付了第三階段惡意軟體Payload。
如果文件存在,則讀取其內容,因為其中包含第三階段Payload的目錄位置。
如果在受感染的系統上不存在包含第三階段Payload位置的文件,則下載工具會生成並創建目錄結構,在從攻擊者控制的分發伺服器檢索到該目錄結構後,將會存儲第三階段的Payload。惡意軟體使用的目錄結構存儲在%APPDATA%的子目錄中。
儘管對上述代碼進行了一些修改(為便於閱讀,添加了[A-Z]),但使用65-90之間隨機選擇的CharCode值調用JScript中存在的隨機函數,然後將其轉換回ASCII。這個CharCode範圍表示從「A」到「Z」之間的所有ASCII字符的CharCode。
然後,將其寫入最初查詢的文件,以便惡意軟體可以在隨後的執行嘗試中找到它。然後,創建這個目錄結構,以便進行其餘的加載過程。
接下來,惡意軟體會檢查這個目錄位置是否存在名為「sqlite3.dll」的第三階段惡意軟體Payload。如果已經存在,它將檢查文件的大小,如果文件大小小於10個字節,則會刪除該文件,並繼續加載過程。
如果成功找到了DLL並且該文件大於10位元組,則加載程序會嘗試加載該DLL,首先嘗試找到並調用ExtExport.exe LoLbin,如果無法找到ExtExport.exe二進位文件,則會失敗,返回到regsvr32。
在無法找到第三階段DLL的情況下,加載程序將繼續啟動與一組分發伺服器進行的HTTP通信,以檢索並執行它。我們將這個過程進行簡化,加載程序首先生成URL路徑,用於後續檢索DLL的Web請求。該過程將URL分為幾個部分,使用隨機化函數為每個部分生成一個值,然後將其串聯起來,以形成完整的URL模式,從而實現這一目的。
要使用的分發伺服器域名是通過調用附加函數生成的。該函數將選擇「0」到「19」之間的隨機數,然後與分發伺服器域名列表進行比較。然後,將匹配的值存儲在使用的變量中(如上圖所示)。
在生成所有這些信息後,會將其編譯並傳遞給使用Bitsadmin Windows實用程序的函數,以檢索Payload,並將其存儲在惡意軟體的工作目錄中。
在成功獲取Payload之後,將使用前面提過的進程來嘗試查找ExtExport.exe。如果未找到,則使用regsvr32加載DLL,並啟動惡意軟體Payload自身的執行。
在這裡,還存在一個4000秒(或66分鐘)的超時計數器,超時後即會退出。
下載程序從另外的兩個分發伺服器中檢索其他二進位內容,這些文件直接作為第三階段的一部分執行。
生成的HTTP GET請求如下圖所示。
在上述這些活動中,傳遞的Payload是核心的Astaroth DLL。Astaroth是一個模塊化的惡意軟體家族,用於從受感染系統上的各種應用程式中竊取敏感信息。
3.5 Astaroth分析
在第二階段期間檢索的三個Payload都是二進位組件,這些組件將會被組合,以重建Astaroth DLL。將其組合後,將會執行DLL,以啟動感染過程的最後一個階段。我們對這些DLL中的函數進行了詳細的分析,並確定了與其攻擊操作相關的幾個重要特徵,將在下面著重介紹。
3.5.1 反分析/反沙箱機制
Astaroth具有一系列強大的反分析和反沙箱機制,可以用於確認是否繼續感染過程。下圖概述了這些檢查過程。
在這些惡意活動中使用的Astaroth樣本具有廣泛的環境檢查集,可以識別惡意軟體是在虛擬環境中還是在分析環境中執行。如果任何一項檢查沒有通過,則該惡意軟體使用以下命令行語法,強制重新啟動系統:
"cmd.exe /c shutdown -r -t 3 -f"
下面是與這些反分析機制相關聯的代碼執行流程。
該惡意軟體利用CreateToolhelp32Snapshot來識別可能安裝在系統上的虛擬機,以查找是否存在與VirtualBox和VMware相關的內容。
惡意軟體尋找虛擬機上常見的硬體設備。
檢查Windows註冊表(HKLM\HARDWARE\DESCRIPTIONS\System\SystemBios\Date)中存儲的SystemBiosDate值,並確認該值是否等於「06/23/99」,這個值是VirtualBox虛擬機使用的默認值。
然後,該惡意軟體使用EnumChildWindows檢查受感染系統上正在運行的程序,以識別可能在受感染系統上運行的常見分析、調試和沙箱工具。
嘗試識別通常用於惡意軟體分析的以下程序:
OllyDbg
ImmunityDebugger
WinDbg
IDA Pro
Process Explorer
Process Monitor
RegMon
FileMon
TCPView
Autoruns
Wireshark
Dumpcap
Process Hacker
SysAnalyzer
HookExplorer
SysInspector
ImportREC
PETools
LordPE
Joebox
Sandbox
x32dbg
惡意軟體還會使用SbieDll.dll的GetModuleHandleA來檢查系統上是否存在Sandboxie。
與檢查Sandboxie類似,惡意軟體還會檢查是否存在「dbghelp.dll」,該文件是Microsoft發布的Windows調試工具的一部分。
然後,它會在以下位置檢查Windows註冊表中存儲的值:
HKLM\Software\Microsoft\Windows\CurrentVersion\ProductId
惡意軟體會尋找以下值:
76487-644-3177037-23510
55274-640-2673064-23950
如果存在這些值,則表明主機環境是屬於CWSandbox或JoeBox。
然後,該惡意軟體列舉與運行該惡意軟體的帳戶相關聯的用戶名,並檢查用戶名是否等於「CURRENTUSER」。
接下來,惡意軟體嘗試打開與SoftICE(DOS和Windows內核模式調試器)關聯的虛擬設備「\\\.\\SICE」和「\\\.\\NTICE」。
它還會利用對IsDebuggerPresent的調用來嘗試確定樣本是否正在調試器中執行。惡意軟體並不是以標準的方式導入函數,而是採取了動態加載的方式,這樣就能避免靜態分析樣本過程中被檢測到的風險。
通過手動檢查進程環境塊(PEB),可以確認調試器是否存在。
接下來,惡意軟體嘗試識別其自身是否正在WINE環境中執行,這一過程是通過加載ntdll.dll並檢查函數「wine_get_version」和「wine_net_to_unix_file_name」是否存在的方式來實現的。
該惡意軟體還利用對GetModuleHandleA的調用來檢查是否存在沙箱環境中常見的幾個其他DLL,包括:
dbghelp.dll
api_log.dll
dir_watch.dll
pstorec.dll
vmcheck.dll
wpespy.dll
這些DLL文件對應著不同的沙箱平臺,包括VMware、SunBelt Sandbox、VirtualPC和WPE Pro。
最後,該惡意軟體嘗試使用QEMU,確定其是否在模擬環境中執行。它通過檢查與QEMU Guest Agent相關的「qemu-ga.exe」來完成此操作。
如前所述,如果上述這些檢查中的任何一項沒有通過,惡意軟體都會終止執行,並強制系統重新啟動。這也說明了Astaroth為逃避對惡意樣本的分析,針對不同平臺所做出的努力。
該惡意軟體還利用GetSystemDefaultLangID和VerLanguageNameA來確認受感染系統所使用的語言,然後將語言名稱與子字符串「portu」進行比較,以確定系統是否配置為使用葡萄牙語。如果使用的語言不是葡萄牙語,則該惡意軟體將通過ExitProcess終止。
接下來,DLL開始循環,檢查打開窗口的標題是否與「pazuzupan0155」相匹配。如果該窗口不存在,則惡意軟體會調用WSAStartup,然後繼續使用類似於以下的URL模式,從攻擊者控制的伺服器下載其他惡意Payload:
hxxp[:]//15uaer[.]coragem[.]cf/?17475461717677867
這次我們檢索到的Payload是一個PE EXE,而不再是DLL。然後,惡意軟體使用Process Hollowing的技術執行這個EXE。在這裡,Process Hollowing將針對進程userinit.exe,並使用相同的進程。
如果確實存在一個標題為「pazuzupan0155」的窗口,則DLL將會調用sleep函數,並重複循環過程。這樣一來,可以確保惡意軟體能持續在受感染的系統上執行。如果刪除了可執行文件,DLL將在下次執行循環時進行替換。這樣還可以確保在攻擊者更新版本後,可以從分發伺服器上檢索最新版本的惡意軟體。
3.5.2 模塊分析
通常使用樣本所使用函數名稱中存在的字符串值來跟蹤Astaroth的版本。最新惡意活動中所使用的惡意軟體版本名稱為「gomorytrol」。與先前版本的Astaroth一致,這些版本名稱都是以惡魔來命名。
其中的函數包括各種計時器、表單和線程,與此前版本基本相同。Astaroth的「gomorytrol」版本在內部稱為157版本,下面列出了其他最新的版本。
「masihaddajjal」(152版本)
「forneus」(153版本)
「mammonsys」(154版本)
「pazuzupan」(155版本)
「lechiesxkw」(156版本)
「gomorytrol」(157版本)
需要注意的是,在我們分析Astaroth的過程中,該惡意軟體的版本就有過多次更新,這說明了該威脅目前正在迅速發展。
一旦執行了Astaroth的Payload,將在以下位置檢查是否存在使用備用數據流(ADS)存儲的文件:
sqlite3.dll:MllkguwbwyshtY6767TGuddhyfyoomrifk
如果沒有找到該文件,那麼惡意軟體將下載其他Payload,並通過ADS進行存儲。
然後,該額外的Payload將被解密、加載到內存中並執行。它執行的是與感染的前一階段中相同的一組反分析檢查。此外,該惡意軟體還會創建與各種分析環境、沙箱環境相關的字符串列表,然後使用GetModuleFilenameA和GetComputerNameA來檢查系統的主機名和進程文件路徑,並在當字符串匹配時終止執行。
惡意軟體還會執行其他檢查,以確認系統的語言配置。除了在先前階段中使用過的方法之外,惡意軟體還會檢查系統是否使用英語,並在使用英語的環境上終止執行。
該惡意軟體現在利用一個新的工作目錄:
"%USERPROFILE%\Public\Libraries\jakator"
自從早些時間我們對惡意軟體進行分析以來,惡意軟體執行的許多核心信息竊取功能都沒有發生變化。在最近的惡意樣本中,攻擊者特別關注從巴西銀行的客戶中獲取銀行信息。
3.6 命令與控制(C2)
與之前的分析相同,該惡意軟體包含主要C2和輔助C2基礎結構,也就是設置了冗餘的C2機制。惡意軟體與C2伺服器通信的主要方式是利用YouTube頻道說明來檢索C2域名。攻擊者已經建立了一系列YouTube頻道,並正在利用頻道說明來創建和傳遞殭屍網絡節點應該與之通信的C2域名列表,以獲取其他說明和更新。
與Astaroth相關的YouTube頻道示例:
hxxps://www.youtube[.]com/channel/UC48obBfnUnI8i9bH2BmDGBg/about
hxxps://www.youtube[.]com/channel/UC1XqzXRrROkMrIUbSxhATcQ/about
hxxps://www.youtube[.]com/channel/UC2N4Ej53G7pKYJlA7lOj0SQ/about
hxxps://www.youtube[.]com/channel/UC3YzBxaeuGNBFQRS4bfV8XA/about
hxxps://www.youtube[.]com/channel/UCfgh5rFgl267MHRxkFttVLg/about
hxxps://www.youtube[.]com/channel/UC96ziVgeQrKVPp1hofl1dsA/about
hxxps://www.youtube[.]com/channel/UCbbq2Jm2Swj95AVFoHPMdRg/about
hxxps://www.youtube[.]com/channel/UC76P-6J1BP39fjNGkudw1Jw/about
hxxps://www.youtube[.]com/channel/UC-XIp1YC9eZPnNO9VBJTCLw/about
hxxps://www.youtube[.]com/channel/UCA87kfgVEB8yshwYxUdSYLA/about
hxxps://www.youtube[.]com/channel/UCbnDU85fizL0EWdZiwTYonA/about
hxxps://www.youtube[.]com/channel/UCc2nVj0SBkr99-lFO1LCV-A/about
與此前的Astaroth版本相同,信息分隔符「|||」中間的內容包含已加密、Base64編碼後的C2域名列表,如下所示:
在分析過程中,我們觀察到了頻道描述信息會進行周期性變化。這就提供了一種有效的方式,可以利用企業環境中通常允許的平臺,根據需要調整C2基礎結構。
該惡意軟體還包含故障機制,該機制適用於YouTube通信失敗的情況。在我們所分析的樣本中,如果YouTube通信失敗,惡意軟體將使用以下URL作為C2通道。
hxxps://sombrio[.]xxapocalipsexx[.]space/amem//dir1/?4481829444804=184448294448&1= < Base64 encoded C2 message >
受感染系統的初始信標中包含有關環境的各種信息,其格式如下:
我們對惡意軟體所使用的C2進行分析,結果表明,DNS解析後絕大部分都位於巴西,這也與分發過程、惡意軟體執行前檢查、惡意軟體所針對性的金融機構所針對的國家相一致。
總體而言,Astaroth採用了一種不同尋常的方法來實現其域生成算法(DGA),並將C2更新傳遞給受感染的系統。由於惡意軟體使用了多個冗餘C2機制,因此能夠非常好地應對其基礎架構被取締的情況。
四、總結
從本質上來說,Astaroth是一個將側重點放在逃避檢測的惡意軟體,作者採取了所有可以採取的方式來確保這一機制的成功。惡意軟體實施了複雜的反分析和反沙箱檢查措施,以防止惡意軟體被檢測或分析。從最開始採用有誘惑力的誘餌,到層層混淆,再到最終暴露出惡意行為。然後,惡意軟體以嚴格的標準進行檢查,儘可能避開研究人員和沙箱所使用的工具或技術。由於存在這樣的設計,導致該惡意軟體很難被分析。在最後,為了增強其複雜性,攻擊者還使用了YouTube等流行、合法的服務,將其命令與控制基礎結構隱藏在加密、編碼後的流中。
除此之外,該惡意軟體家族的更新和修改速度驚人。這表明其開發者仍然在積極改進中。攻擊者可以在其基礎架構中快速移動和調整,幾乎每周都變更一次,以保持領先於防禦者。如果惡意軟體將其目標範圍擴大到更多的國家,那麼就需要更多的防禦者共同努力,以應對這一複雜的威脅。
隨著攻擊者不斷尋找更多方式來產生大量的收入,這些以經濟為目標的威脅也日趨於複雜化。Astaroth只是其中的一個案例,而逃避檢測和反分析機制對於惡意軟體是否成功來說至關重要。為此,對於企業來說,就需要採用多層技術與控制措施,以最大程度地降低其影響,或者至少能夠有效地快速檢測和補救。這其中就包括終端、域名、Web和網絡的安全技術。通過將這些技術分層,企業可能就有能力檢測到類似於Astaroth這樣具有逃避檢測功能的複雜惡意軟體的存在。
五、防護措施
使用先進的惡意軟體防護產品可以阻止這些威脅參與者使用的惡意軟體的執行。AMP中的漏洞利用防護功能可以自動保護客戶免受未知攻擊的侵害。
雲網絡安全或網絡安全設備的網絡掃描功能可以防止訪問惡意網站,並有能力檢測這些攻擊中使用的惡意軟體。
使用電子郵件安全產品,可以阻止威脅參與者在攻擊活動中發送的惡意電子郵件。
使用網絡安全設備,例如下一代防火牆(NGFW)、下一代入侵防禦系統(NGIPS),可以有效防範入侵。
使用安全網際網路網關可以阻止用戶連接到惡意域名、IP或URL。
開源Snort訂閱者規則集用戶可以在Snort.org上下載最新版本的規則包以保持最新狀態,目前已經發布SID 53861以檢測該威脅。
八、威脅指標
惡意域名列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/85f1cf8c-astaroth_domains.txt
LNK文件哈希值列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/8e5bc9c5-astaroth_lnk.txt
JScript哈希值列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/75a46c5b-astaroth_jscript.txt
二進位哈希值列表:https://storage.googleapis.com/blogs-images/ciscoblogs/1/2020/05/1bb9c5f4-astaroth_binary.txt
參考及來源:https://blog.talosintelligence.com/2020/05/astaroth-analysis.html