APT & 針對式目標攻擊
Earth Krahang 利用政府間的信任發動跨政府攻擊
自從 2022 年初開始,我們便一直在監控一起進階持續性滲透攻擊 (APT) 行動,該行動襲擊了全球多國的政府,主要以東南亞為目標,但歐洲、美洲及非洲也在其攻擊之列。
簡介
自從 2022 年初開始,我們便一直在監控一起進階持續性滲透攻擊 (APT) 行動,該行動襲擊了全球多國的政府,主要以東南亞為目標,但歐洲、美洲及非洲也在其攻擊之列。駭客會攻擊對外連網伺服器的漏洞,並發送魚叉式網路釣魚郵件來散播先前從未見過的後門程式。
我們的研究發現,該行動與某中國淵源的駭客集團 (也就是我們追蹤的 Earth Lusca) 之間有多項關聯。不過,由於該行動的幕後基礎架構與前者獨立,因此我們認定它應該是另一個獨立的入侵集合 (intrusion set),所以將它命名為「Earth Krahang」。我們將在專門的一節當中探討這些關聯,以及它與一家叫「I-Soon (安洵)」的中國企業的潛在關聯。
在該行動中,駭客最愛的手法之一,就是利用已經駭入的政府機關基礎架構來攻擊其他政府機關、散播惡意檔案、當成攻擊跳板,以及利用被盜的電子郵件帳號發送魚叉式網路釣魚郵件給政府相關的目標。除此之外,Earth Krahang 還會使用其他手法,例如:在已遭駭入的對外連網伺服器上架設 VPN 伺服器以便進出受害者的私人網路,並利用暴力破解方式取得電子郵件帳號的登入憑證。這些登入憑證接著用來將受害者的電子郵件打包外傳,可見駭客集團的終極目標是從事網路間諜活動。
由於駭客犯了某些錯誤,所以讓我們能夠從 Earth Krahang 的伺服器取得了一些檔案,包括攻擊工具的樣本、組態設定檔案以及記錄檔。結合這些資訊以及我們的監測資料,我們就能了解 Earth Krahang 的運作方式,並且描繪出駭客的攻擊目標與意圖。此外,我們也在這份報告當中分享了他們偏愛的惡意程式家族以及漏洞攻擊後續使用的工具。
偵查與突破防線
它所使用的其中一個感染途徑是掃描對外連網的伺服器。Earth Krahang 大量使用了開放原始碼掃描工具來逐層搜尋 .git 或 .idea 之類的資料夾。此外,駭客也會使用單純的暴力破解方式來讀取可能含有機敏資訊的檔案,例如受害伺服器上的檔案路徑或密碼之類的資訊。同時,駭客也會搜尋攻擊目標的子網域來看看是否能找到有趣或可能無人維護的伺服器。Earth Krahang 還會使用工具來執行漏洞掃描,例如:sqlmap、nuclei、xray、vscan、pocsuite 以及 wordpressscan ,藉此找出網站伺服器的漏洞,好讓他們進入伺服器、植入網站指令介面程式 (webshell) 以及安裝後門程式。
駭客會重複利用下列漏洞:
- CVE-2023-32315:在 OpenFire 上執行指令。
- CVE-2022-21587:在 Oracle Web Applications Desktop Integrator 上執行指令。
Earth Krahang 還使用魚叉式網路釣魚郵件攻擊目標。如同大多數魚叉式網路釣魚攻擊一樣,這些電子郵件是為了誘騙目標受害者開啟附件檔案或隨附的網站連結,進而在受害者的電腦上執行一個預先準備的後門程式。根據我們的監測資料以及該集團被上傳到 VirusTotal 的後門程式顯示,其後門程式的檔案名稱通常跟地緣政治議題有關,這顯示駭客偏愛這類誘餌:
- "Plan of Action (POA) - TH-VN - TH_Counterdraft_as of Feb 2022.doc.exe (檔名大意:2022 年 2 月行動計畫 - TH-VN - TH_反對草案)"
- คำบอกกล่าวคำฟ้อง.rar
(檔名大意:申訴通知) - “ร่างสถานะ ครม. รว. ไทย-โรมาเนีย as of 25 Feb 2022.doc.exe”
(檔名大意:2022 年 2 月 25 日泰國-羅馬尼亞國會現狀草稿) - “Malaysian defense minister visits Hungary.Malaysian defense minister visits Hungary.exe” (檔名大意:馬來西亞國防部長拜訪匈牙利)
- “ICJ public hearings- Guyana vs. Venezuela.ICJ public hearings- Guyana vs. Venezuela.exe” (檔名大意:ICJ 公聽會 - 蓋亞那 vs. 委內瑞拉)
- “On the visit of Paraguayan Foreign Minister to Turkmenistan.exe” (檔名大意:論巴拉圭外交部長拜訪土庫曼)
- “pay-slip run persal payslip.pay-slip run persal payslip.docx.exe” (檔名大意:薪資單)
我們注意到 Earth Krahang 在偵查期間從攻擊目標蒐集了數百個電子郵件地址,其中一個案例,駭客使用某政府機關已遭入侵的信箱發送惡意附件檔案到 796 同屬該單位的電子郵件地址。此惡意附件檔案是一個 RAR 壓縮檔,內含一個 LNK 檔案會在系統植入 Xdealer 惡意程式 (後面「散播的惡意程式家族」一節會詳細討論),並且開啟一個與該政府機構相關的誘餌文件 (在網路上)。駭客有可能是利用暴力破解工具入侵了密碼太弱的信箱。
Earth Krahang 利用政府彼此之間的信任發動攻擊。我們發現該集團經常使用已遭入侵的政府機關網站伺服器來存放他們的後門程式,然後利用魚叉式網路釣魚郵件發送下載連結到其他政府單位。由於這些惡意連結指向合法的政府機關網域 (已遭入侵的伺服器),因此對受害者來說就沒那麼可疑,甚至還能避開網域黑名單的過濾。
除此之外,駭客還使用了已遭入侵的電子郵件帳號來發送電子郵件給其他政府。我們發現有魚叉式網路釣魚郵件使用了下列郵件主旨:
- salary (薪資)
- Malaysian Ministry of Defense Circular (馬來西亞國防部通知)
- Malaysian defense minister visits Hungary (馬來西亞國防部拜訪匈牙利)
- ICJ public hearings- Guyana vs. Venezuela (ICJ 公聽會 - 蓋亞那 vs. 委內瑞拉)
- About Guyana Procurement Proposal for Taiwan (關於蓋亞那給台灣的採購建議書)<redacted>
我們的監測資料也顯示,駭客入侵了一台政府單位的網站伺服器,並利用它來掃描其他政府目標的漏洞。
漏洞攻擊後續的手法、技巧與程序 (TTP)
駭客會在被駭的對外連網伺服器上安裝 SoftEther VPN,並使用 certutil 指令來下載及安裝 SoftEther VPN 伺服器。SoftEther 伺服器執行檔會被重新命名為:taskllst.exe、tasklist.exe 或 tasklist_32.exe (如果是 Windows 執行檔),以及 curl (如果是 Linux 執行檔),讓它看起來好像系統上的合法檔案。在安裝 VPN 伺服器之後,駭客就能連線到受害者的網路,執行漏洞攻擊後續的一些動作。
其他漏洞攻擊後續動作包括:
- 利用排程工作讓後門程式常駐在系統內。
- 修改 Windows 系統登錄機碼「fDenyTSConnections」來啟用遠端桌面連線。
- 使用 Mimikatz 或 ProcDump 來匯出 Windows 的「本機安全認證子系統服務 」(Local Security Authority Subsystem Service,簡稱 LSASS) 的密碼檔。
- 匯出 Windows 系統登錄內的 SAM 資料庫 (HKLM/sam)。
- 使用 Fscan 掃描網路。
- 透過 WMIC 橫向執行程式碼。
- 使用像 BadPotato、SweetPotato、GodPotato 或 PrinterNotifyPotato 這類的工具在 Windows 系統上提升權限。
- 攻擊 CVE-2021-4034、CVE-2021-22555 和 CVE-2016-5195 漏洞在 Linux 系統上提升權限。
電子郵件外傳
我們觀察到 Earth Krahang 會透過受害者的 Outlook 網頁版入口 (之前稱為「Outlook Web Access」,簡稱 OWA) 對 Exchange 伺服器進行暴力登入。駭客會使用一個常用密碼的清單來嘗試登入目標郵件伺服器上的帳號。我們發現該集團使用一個客製化的 Python 腳本來攻擊 OWA 伺服器上的 ActiveSync 服務以進行暴力登入。
此外,我們也發現駭客會使用開放原始碼工具 ruler 來暴力破解電子郵件帳號與密碼。電子郵件帳號使用的密碼若強度不足,很容易被駭客所破解,接著就能將電子郵件外傳,或者利用已駭入的帳號發送魚叉式網路釣魚郵件 (如前文所說)。
我們發現駭客還使用另一個 Python 腳本來從 Zimbra 郵件伺服器將電子郵件外傳。此腳本會透過郵件伺服器的 API,搭配駭客偷來的已認證 Cookie 將受害者的信箱打包。不過,我們的研究無法判定這些已認證的 Cookie 是如何從受害者的伺服器偷來。
散播的惡意程式家族
Earth Krahang 會散播後門程式來建立進出受害電腦的管道。攻擊的初始階段會用到 Cobalt Strike 與其他兩個客製化後門程式:RESHELL 和 XDealer。我們發現這些後門程式若不是經由魚叉式網路釣魚郵件散播,就是經由已入侵伺服器上的網站指令介面程式 (webshell)。
在 2022 年的攻擊中有多次用到 RESHELL 後門程式。Palo Alto 在先前的一份研究報告指出它被用於一起針對某東南亞政府的針對性攻擊。RESHELL 是一個簡單的 .NET 後門程式,具備了一些基本能力,如:蒐集資訊、植入檔案、執行系統指令。其二進位檔案採用 ConfuserEX 來壓縮,其幕後操縱 (CC) 通訊使用 AES 演算法做加密。
2023 年起,Earth Krahang 改用了另一個後門程式 (TeamT5 稱之為「XDealer」,ESET 稱之為「DinodasRAT」)。相較於 RESHELL,XDealer 提供了更完整的後門功能。此外,我們發現駭客還會分別使用 Windows 和 Linux 版本的 XDealer 來攻擊不同的系統。
每個 XDealer 樣本都含有一個代表後門程式版本的標記字串。以下是我們觀察到的一些標記:
標記 | 首次發現 | 平台 |
---|---|---|
Win_%s_%s_%u_V10 | 2023-09 | Windows |
Din_%s_%s_%u_V12 | 2023-04 | Windows |
Din_%s_%s_%u_V10 | 2023-04 | Windows |
Linux_%s_%s_%u_V10 | 2023-01 | Linux |
Win_%s_%s_%u_V6 | 2022-10 | Windows |
Din_%s_%s_%u_V1 | 2022-09 | Windows |
Rin_%s_%s_%u_V6 | 2021-04 | Windows |
表 1:XDealer 樣本中的標記字串。
此一發現代表此後門程式也許已經在網路上使用有好一段時間,而且目前仍在積極開發當中。
值得注意的是,許多 XDealer 的早期樣本都是開發成一個 DLL 檔案,裡面包含:安裝程式、一個 DLL 資訊竊取模組、一個包含 ID 字串的文字檔,以及一個 LNK 檔案。LNK 檔案會執行安裝程式,安裝程式再安裝 XDealer DLL 與資訊竊取模組到受害者的電腦上。資訊竊取模組可擷取螢幕截圖、偷取剪貼簿資料,以及側錄鍵盤。
我們在某個案例中發現 LNK 檔案被換成了另一個執行檔:一個安裝程式載入器 (有可能 Earth Krahang 使用了一種不同的執行方式而非獨立的執行檔)。除此之外,我們也發現某些 XDealer DLL 載入器已經過 GlobalSign 核發給兩家中國公司的合法程式碼簽署憑證所簽署。根據網路上的公開資訊,這兩家中國公司其中一家是人力資源公司,另一家是遊戲開發廠商。有可能他們的憑證早已被偷並用來簽署惡意執行檔。
安裝套件名稱 | 安裝程式 | XDealer DLL | 螢幕截圖模組 DLL | ID 檔案 | LNK 檔案/載入器 |
---|---|---|---|---|---|
GoogleVaS | RuntimeInit.exe | 1.dll | 2.dll | id.data | RuntimeInit.lnk |
GoogleUps | GoogleUpdate.exe | 1.dll | 2.dll | Id.data | GoogleUpdate.lnk |
GoogleInc | GoogleUpdate.exe | twain_64.dll | advapi64.dll | - | svrhost.exe |
表 2:用來散播 XDealer DLL 與其他檔案的套件清單。
憑證雜湊碼 | 憑證 |
---|---|
be9de0d818b4096d80ce7d88110917b2a4e8273f | 上海笑聘网络科技有限公司 |
be31e841820586e9106407d78ae190915f2c012d | 上海指聚网络科技有限公司 |
表 3:被用來簽署 XDealer 載入器的憑證。
Cobalt Strike 也經常被用於攻擊的初始階段。有趣的是,我們發現 Earth Krahang 使用 Cobalt Strike 的方式跟一般不同,他們採用開放原始碼專案 RedGuard 來為其 CC 伺服器增加一道保護,該程式基本上是一個代理器 (proxy),可讓攻防演練中的紅隊 (攻擊方) 避免自己的 Cobalt Strike CC 設定檔被發現。
駭客利用 RedGuard 來防止其 CC 伺服器被藍隊的 Cobalt Strike CC 掃描器或搜尋引擎爬梳程式發現。此外,還有助於該集團監控誰在蒐集他們的 CC 設定檔。我們發現,Earth Krahang 的 CC 伺服器會將無效的 CC 請求轉送至資安廠商的網站 (因為有 RedGuard 的保護)。
Cobalt Strike 會攻擊 DLL 側載漏洞。在我們分析到的案例中,駭客植入了三個檔案:fontsets.exe、faultrep.dll 及 faultrep.dat。fontsets.exe 這個檔案 (SHA256:97c668912c29b8203a7c3bd7d5d690d5c4e5da53) 是一個合法的執行檔,但卻被用來側載 faultrep.dll 這個函式庫 (SHA256:a94d0e51df6abbc4a7cfe84e36eb8f38bc011f46)。
至於 faultrep.dll 則是一個客製化 shellcode 載入器,可解開儲存在 faultrep.dat 當中的已編碼 shellcode (也就是 Cobalt Strike)。除此之外,我們也發現另一個 DLL 載入器擁有類似的解碼函式,但解碼用的位元組數值 (byte value) 不同,並且從不同的檔案 (conf.data) 載入 shellcode。
我們透過監測資料發現,駭客還會在受害環境內植入 PlugX 和 ShadowPad 的樣本。這個 PlugX 樣本檔名為 fualtrep.dll,有可能是用來側載,類似前述的 Cobalt Strike 行為一樣。至於 ShadowPad 樣本,則跟我們先前在 Earth Lusca 分析報告當中所看到的特性一模一樣。
受害者分析
我們發現已確認遭到入侵的機構大約有 70 家,遍布 23 個不同國家。由於我們掌握了 Earth Krahang 的一些記錄檔,所以我們總共挖掘出 116 個不同的攻擊目標 (包括尚未被確認已遭入侵的單位),遍布 35 個國家。
全部加起來,駭客總共入侵或攻擊了 45 個不同國家的受害機構,分散不同地區,絕大部分位於亞洲和美洲,但歐洲和非洲也有。
政府機關似乎是 Earth Krahang 的主要攻擊目標。例如,我們在某個受害國家看到駭客入侵了各式各樣的機構,總共隸屬於 11 個不同的政府部門。
我們發現至少有 48 個政府機構遭到入侵,還有另外 49 個政府單位正在遭到攻擊。外交單位和部門是首要攻擊目標,駭客已入侵了 10 個這樣的單位,並且正在攻擊另外 5 個。
教育是另一個駭客有興趣的產業,我們發現至少有兩家已經受害,共有 12 個攻擊目標屬於該產業。通訊產業也是駭客鎖定的目標,趨勢科技發現了多家電信廠商遭到入侵。其他機構和單位還有:郵局 (至少有三個國家)、後勤平台,以及求職服務。
其他產業也有遭到攻擊,但規模較小,包括:
- 金融/保險
- 基金會/NGO/智庫
- 醫療
- IT
- 製造
- 新聞媒體
- 軍事單位
- 房地產
- 零售
- 運動
- 觀光
幕後黑手
一開始我們找不出這起行動的幕後黑手,因為我們沒有找到駭客的基礎架構與哪個集團重疊,過去也從未見過 RESHELL 惡意程式家族。Palo Alto 發表了一份報告將某些使用 RESHELL 惡意程式的攻擊歸諸於 GALLIUM (信心程度中等)。然而,其評估是根據一套許多駭客集團都會使用的工具,因此我們對於做出這樣的連結有些猶豫。此外,我們也考慮到 RESHELL 可能是一個共用的惡意程式家族。
Earth Krahang 在後期的攻擊行動中改用了 XDealer 惡意程式家族。在一份 TeamT5 發表的研究報告中,XDealer 被證明跟中國的 Luoyu (蠃魚) 駭客組織有關,該組織慣用 WinDealer 和 ReverseWindow 惡意程式家族。我們有一位先前曾經研究過 Luoyu 的同事跟我們分享了一些有關這項連結的洞察,尤其是某個舊的 XDealer 樣本與某個 SpyDealer 樣本所使用的加密金鑰顯示兩個惡意程式家族有一定的關聯。ESET 將這個惡意程式家族命名為「DinodasRAT」,並針對其功能撰寫了一份詳細的報告。然而,除了提到它可能跟中國有所淵源之外,並未明確指出幕後的集團為何。
雖然我們認為這起行動有可能跟 LuoYu 有關,但我們並未找到其他該集團慣用的惡意程式家族的痕跡。此外,前面提到的加密金鑰,也與我們在這起行動中發現的樣本不同,意味著這個惡意程式家族可能有多個集團在共同開發。這有可能是因為開發過程當中曾經更換過金鑰,或者該工具其實是由多個集團彼此共用。
2022 年 1 月,我們報導了一個有中國淵源的駭客集團,叫做「Earth Lusca」,隨後又指出他們使用了一個新發現的後門程式,叫做「SprySOCKS」,並且在較為近期的攻擊當中利用了台灣的總統大選。我們在調查期間注意到這起攻擊行動在橫向移動階段所用的惡意程式,是從隸屬於 Earth Lusca 的 IP 位址所下載 (例如:45[.]32[.]33[.]17 與 207[.]148[.]75[.]122)。這顯示該集團與 Earth Lusca 有強烈關聯。此外我們也發現兩者的基礎架構有重疊,也就是我們在調查期間發現的惡意程式所通訊的某些 CC 伺服器就位於 Earth Lusca 所擁有的網域名稱之下 (如 googledatas[.]com)。
儘管就基礎架構與初期階段偏好的後門程式來說,這起攻擊行動與先前報導的 Earth Lusca 活動截然不同,但我們猜測,它們應該是兩個獨立運作的入侵集合 (intrusion set),只不過攻擊的目標範圍接近,以至於在實現目標的過程當中兩者越來越常出現交集,並且有可能是同一駭客集團所負責管理。基於這些特性,我們決定給這個入侵集合一個不同的名稱,叫做「Earth Krahang」。
我們先前的報告指出,Earth Lusca 有可能是中國公司 I-Soon (安洵) 的滲透團隊,他們的 GitHub 儲存庫不久前才發生資料外洩事件。我們利用這些外洩的資訊發現該公司的滲透團隊其實劃分成兩個不同的小組。這很可能就是為何我們看到在網路上有兩群獨立的活動,但關聯的程度卻有限。Earth Krahang 有可能是該公司的另一個滲透團隊。
結論
在這份報告中,我們分享了一個名為「Earth Krahang」的最新攻擊行動的調查結果。根據我們的研究發現顯示,該集團主要攻擊全球的政府機構,並利用已遭入侵的政府基礎架構來支持其惡意行動。
此外,我們也發現 Earth Krahang 在攻擊中使用了兩個特殊的惡意程式家族,並且引用我們的監測資料以及其伺服器外流的檔案來點出該集團的主要攻擊目標和活動範圍。
同時,我們的調查也顯示 Earth Krahang 與 Earth Lusca 兩者之間有多重關聯。我們懷疑這兩個入侵集合是由同一個駭客集團所管理。
從 Earth Krahang 攻擊的都是重要目標、再加上他們偏好使用被盜的政府機關電子郵件帳號來看,我們強烈建議企業應該嚴格落實一些資安最佳實務原則,包括教導機構內的員工和往來對象如何避開社交工程攻擊,比方說培養一種良性的戒心來面對潛在的資安議題,並且養成良好的資安習慣,避免在不確定寄件人的身分時就輕易點選連結或開啟附件檔案。有鑑於駭客會在攻擊中利用一些漏洞,所以,我們也鼓勵企業機構應隨時套用軟體與系統的最新安全更新,以避免任何潛在的駭客入侵。
入侵指標資料
如需本文提到的入侵指標完整清單,請至此處。
致謝
特別感謝 Leon M Chang 提供其寶貴的意見,指出 XDealer 與 SpyDealer 樣本採用了相同的 TEA 加密金鑰。
MITRE ATT&CK
以下是駭客用到的 MITRE ATT&CK 手法與技巧:
手法 | 技巧 | 編號 |
---|---|---|
偵查 | 主動掃描:掃描 IP 區間 | T1595.001 |
主動掃描:漏洞掃瞄 | T1595.002 | |
主動掃描:字詞清單掃描 | T1595.003 | |
蒐集受害者主機資訊 | T1592 | |
蒐集受害者網路資訊 | T1590 | |
資源開發 | 取得基礎架構:網域 | T1583.001 |
取得基礎架構:虛擬私人伺服器 | T1583.003 | |
入侵帳號:電子郵件帳號 | T1586.002 | |
入侵基礎架構:伺服器 | T1584.004 | |
取得功能:惡意程式 | T1588.001 | |
取得功能:程式碼簽署憑證 | T1588.003 | |
架設功能:上傳惡意程式 | T1608.001 | |
架設功能:上傳工具 | T1608.002 | |
架設功能:連結目標 | T1608.005 | |
突破防線 | 經由漏洞攻擊企業對外的應用程式 | T1190 |
網路釣魚:魚叉式網路釣魚附件檔案 | T1566.001 | |
網路釣魚:魚叉式網路釣魚連結 | T1566.002 | |
信任的關係 | T1199 | |
合法帳號 | T1078 | |
執行 | 指令與腳本解譯器:PowerShell | T1059.001 |
指令與腳本解譯器:Windows 指令列介面 (cmd) | T1059.003 | |
指令與腳本解譯器:Python | T1059.006 | |
利用漏洞讓用戶端執行 | T1203 | |
系統服務:執行服務 | T1569.002 | |
使用者執行:惡意檔案 | T1204.002 | |
Windows Management Instrumentation | T1047 | |
常駐 | 建立或修改系統處理程序:Windows 服務 | T1543.003 |
外部遠端服務 | T1133 | |
排程工作:排程工作 | T1053.005 | |
伺服器軟體元件:網站指令介面程式 (Webshell) | T1505.003 | |
提升權限 | 攻擊漏洞以提升權限 | T1068 |
合法帳號:本機帳號 | T1078.003 | |
躲避防禦 | 解密/解碼檔案或資訊 | T1140 |
挾持執行流程:DLL 側載 | T1574.002 | |
冒充身分 | T1656 | |
障眼法:利用合法名稱或地點掩蓋非法 | T1036.005 | |
障眼法:重複的副檔名 | T1036.007 | |
修改系統登錄 | T1112 | |
存取登入憑證 | 暴力破解:密碼噴灑 | T1110.003 |
搜刮作業系統登入憑證:LSASS 記憶體 | T1003.001 | |
搜刮作業系統登入憑證:Security Account Manager | T1003.002 | |
竊取網站連線階段 Cookie | T1539 | |
搜尋 | 帳號搜尋:本機帳號 | T1087.001 |
帳號搜尋:網域帳號 | T1087.002 | |
權限群組搜尋:網域群組 | T1069.002 | |
處理程序搜尋: | T1057 | |
系統擁有者/使用者搜尋: | T1033 | |
系統服務搜尋 | T1007 | |
橫向移動 | 利用遠端服務 | T1210 |
內部魚叉式網路釣魚 | T1534 | |
遠端服務:Windows 遠端管理 | T1021.006 | |
蒐集 | 自動化蒐集 | T1119 |
電子郵件蒐集 | T1114 | |
幕後操縱 | 應用程式層次的通訊協定:網站通訊協定 | T1071.001 |
加密管道:對稱式加密 | T1573 | |
對內傳輸工具 | T1105 | |
通訊協定通道 | T1572 | |
資料外傳 | 自動化資料外傳 | T1020 |