摘要
2023年,浪潮云威脅情報中心持續對境內的APT團伙進行追蹤。發現包括代號為“OldFox”的團伙持久性攻擊。由于該團伙隱匿在高緯度的安全對抗空間中,因此,我們稱這種模式為“量子陰謀“。以下是我們對這次事件的跟蹤,分析報告。
關鍵字:APT、高級持續性威脅、OldFox
一、概覽
2023年某月浪潮云安全運營中心由蜜罐和風控系統組建的異常感知體系檢測到高度疑似APT攻擊的輕微內網橫向攻擊異常行為,威脅情報團隊展開專項調查。經過對捕獲工具及攻擊手法的深度分析,提取IOC指紋,并結合APT情報庫進行綜合溯源,確認這是一起代號為“OldFox”團伙發起的針對某新聞媒體單位的APT攻擊。
“OldFox”組織至少自2014 年起開始活躍于美國、中國香港等地,警惕性高,具備較強的反偵察意識。近年來已成功入侵多家國內報社媒體的企業內網,選擇的攻擊目標分布在報社媒體、手機廠商、政府、金融等行業,攻擊時多為手工操作,并大量使用自行編譯的開源攻擊工具,隱蔽性強。該團伙會盜取設備登錄憑據,獲取失陷設備Root權限并留下多個后門。手法極其隱秘,具備很大威脅性,需要引起足夠重視。
二、攻擊分析溯源
2.1 攻擊流程
團伙使用應用漏洞來進行入侵,然后在失陷主機上部署后門,潛伏一段時間,利用密碼盜取工具收集登錄密碼后,伺機進行橫向移動。整體攻擊流程如下圖所示:
圖表 1 整體攻擊流程
2.2 攻擊工具分析
團伙使用工具分為三大類:持久控制類,命令執行類,密碼盜取類。持久控制類包含兩個工具:惡意Prism后門和惡意Nginx后門;命令執行類工具:PHP擴展后門;密碼盜取工具:SSH后門。
2.2.1 持久控制類 - Prism 后門
團伙在被攻陷機器上植入二次開發后的Prism后門工具。主進程名是KThreadd。該工具啟動時首先將自己偽裝成系統內核進程"[KThreadd]"來偽裝自己,隨后每隔35秒創建一個自己的子進程,并且發起Reverse Shell鏈接,然后使用"/bin/sh" 替換子進程執行鏡像,隱藏自己并形成反彈Shell。惡意代碼結構如下:

圖表 2 Prism 后門主邏輯

圖表 3 Prism 后門反彈Shell邏輯
為完成任務持久化,團伙還會篡改/etc/init.d/下的系統服務公共腳本Functions。在其中添加下列內容:

圖表 4 自啟動腳本篡改內容
當服務器系統重啟時,就會自動啟動Prism后門,完成后門持久化。KThreadd程序本身除了偽裝自己為內核進程外,并沒有其他偽裝,且子進程有異常外聯行為。
2.2.2 持久控制類 - 惡意 Nginx 后門
團伙在攻擊時,會優先篩選開通了Web服務的機器。具體原因是該團伙會使用第二個后門工具- 一個被植入了后門的惡意Nginx。此惡意程序會在接收到具有特殊Cookie的http請求后,根據Cookie包含的命令指令,執行不同的操作。

圖表 8 惡意Nginx程序主邏輯
惡意Nginx會使用Worderx參數進行密碼校驗,當密碼校驗通過的時候則會根據typefp參數選擇工作模式。模式分四種:遠程shell、socket代理、反彈shell和命令執行模式。四個工作模式若沒有校驗通過則會和正常Nginx行為一樣。
第一種工作模式會復用當前的http請求的socket句柄,轉換成shell,形成交互式控制臺:

圖表 9 惡意Nginx工作模式一
第二種工作模式是socket代理模式。在這個模式下,經過簡單的字符校驗之后,會轉發socket數據流到目標地址,形成socket代理。

圖表 10 惡意Nginx工作模式二
第三種工作模式是反彈Shell。在該模式下,惡意Nginx會創建子進程發起反彈Shell。

圖表 11 惡意Nginx工作模式三
第四種工作模式是命令執行模式,在這個模式下,會將指定命令執行結果,通過本次Http請求返回。

圖表 12 惡意Nginx工作模式四
此版本Nginx基于開源Nginx進行修改,改動極小,具備正常Nginx程序的所有功能。當且僅當,在遇到特殊構造的Cookie后才能執行惡意行為。為防止一個點的密碼泄漏導致的全部密碼泄漏,惡意Nginx程序具有完全不同的密碼。下圖是攻擊模式一的攻擊效果:

圖表 13 惡意Nginx攻擊模式一效果
在所有模式中,由于其直接復用了當前http請求的tcp鏈接,因此可以復用https的TLS協議進行通訊加密。在網絡應用層協議上體現出來的是本次http請求尚未結束,在常見的流量監測系統中會被標記成http鏈接超時,繞過監測手段。且由于鏈接的性質,在系統日志,access.log中均不會記錄該請求,具有極強的隱蔽性。下圖是攻擊模式一的流量效果。

圖表 14 惡意Nginx攻擊模式一流量效果
在攻擊過程中,團伙會在首次攻擊完成后,修改www賬號權限,獲取root權限,進一步隱藏持久控制能力。
2.2.3 命令執行類 - PHP擴展后門
團伙若發現服務器運行了PHP編寫的Web服務,會嘗試通過惡意的PHP擴展庫植入后門。該后門接受特定的POST請求,若請求Body中包含指定參數,則會將對應的參數值傳入System函數執行。

圖表 18 PHP擴展惡意執行邏輯
后門使用了PHP語言官方的擴展機制,實現了一個惡意的請求初始化函數(RINIT),在每個請求處理前都會調用一次該惡意函數,達到了類似WebShell的效果。由于該后門未實現命令執行結果回顯,故通過請求httplog服務器來驗證攻擊效果,首先構造惡意請求,要求受控服務器通過curl訪問httplog服務器:

圖表 19 PHP擴展執行樣例
httplog服務器接收到受控服務器發起的請求,且來源IP與受控服務器域名一致:

圖表 20 PHP 擴展執行結果
該后門功能單一,但隱蔽性較強,推測為攻擊團伙留下的后備后門,即使Nginx后門被發現并清理,仍然能夠通過PHP擴展庫后門進行持久化駐留,防止受控服務器權限丟失。
2.2.4 密碼盜取類 - SSH后門
團伙為了進行隱蔽的橫向移動,擴大攻擊面,修改SSH和SSHD模塊的外部依賴庫。這兩個進程分別負責對外發起SSH請求和接受來自外部的SSH請求。修改過后的依賴庫會在發起外聯請求的時候,記錄下使用的用戶名和密碼。

圖表 24 SSH后門密碼盜取邏輯
在排查取證過程中,發現了該文件記錄的登錄其他服務器的賬號和密碼。

圖表 25 SSH后門密碼盜取效果
2.3 攻擊模式分析
團伙在攻陷目標后會根據失陷機器環境使用不同的攻擊模式。
2.3.1 攻擊模式一
攻擊者完成入侵后首先會部署Prism后門,并通過修改/etc/init.d/function文件來實現Prism后門的持久化。然后本地編譯惡意Nginx后門替換原始Nginx,以實現第二條后門控制路徑。若目標服務器存在PHP,攻擊者會修改nginx配置文件,并部署PHP擴展后門,作為第三條后門控制路徑保底。完成后門控制方案部署后,攻擊者還會替換本地SSH組件以部署密碼竊取后門,為后續橫向移動做準備。
2.3.1 攻擊模式二
在沒有Web服務器的設備上,團伙的攻擊模式略有不同。由于沒有可靠的隱藏條件,惡意Nginx后門和PHP擴展后門均不會部署。僅會部署Prism后門和密碼竊取后門。
綜上所述。“OldFox“組織的攻擊模式中,外網突破手段主要是應用漏洞利用。然后根據有無Web服務選擇兩種不同的攻擊模式進行駐留。最后在收集一段時間的密碼后,結合內網漏洞和密碼竊取進行橫向攻擊。
2.4 ATT&CK 技戰法分析
結合上述的攻擊工具和攻擊模式,總結出來該團伙對應的攻擊技戰術如下圖所示:

圖表 29 ATT&CK技戰術譜系
具體使用的技術手法詳情如下:
圖表 30 ATT&CK技戰術表
三、組織歸因
通過對攻擊團伙使用的攻擊手法和惡意工具進行深入分析,我們發現以下幾點重要線索:(1)經過對捕獲的Prism后門、啟動腳本和密碼盜取工具工作邏輯的梳理,我們發現其與以往某組織使用的工具運行函數邏輯高度一致,并且編譯模式也極為相似。(2)此外,在這些工具中的通訊模塊完全符合某個組織獨特的通信特征,這一發現為我們提供了重要的情報線索。(3)同時,我們還確認了這些網絡基礎設施確實屬于某個特定組織。
將獲得的信息整合后,我們得出結論:該攻擊團伙即是APT組織OldFox。

圖表 31 APT組織情報庫
四、新增 IOC
在安全分析過程中發現了OldFox組織出現了新型的后門工具和密碼盜取工具。我們將其總結如下:

圖表 32 OldFox組織新增IOC
五、總結
OldFox組織常使用應用漏洞對目標進行外圍打點,具有較高危險性。攻擊對象是報社媒體單位,竊取敏感信息。相關行業及單位需要加強網絡防御,排查應用漏洞及弱口令密碼。從分析情況來看,該組織一直在改造其攻擊組件,不斷加強其控制和免殺能力,相關企業應該加強安全基礎建設,提升監測能力。
FreeBuf
007bug
上官雨寶
嘶吼專業版
FreeBuf
Coremail郵件安全
嘶吼專業版
一顆小胡椒
上官雨寶
合天網安實驗室