搜尋
首頁運維安全如何進行基於威脅情報週期模型的APT木馬剖析

關於威脅情報處理週期模型

「威脅情報處理週期」(F3EAD)一詞源自於軍事,是美陸軍為主戰兵種各級指揮官設計的組織資源、部署兵力的方法。網路緊急應變中心借鏡這套方法,分成以下六個階段處理威脅情報資訊:

如何進行基於威脅情報週期模型的APT木馬剖析威脅情報處理週期F3EAD

威脅情報處理週期模型的應用程式

第一步:找出

某月某日,部署在合作方公有雲端伺服器上的「洋蔥「系統警告發現疑似木馬程序,於是應急響應團隊快速啟動應急相應流程:

幹係人等一鍵拉群,電話接入。

受害系統隔離待查。

安全系統、稽核日誌匯出待溯源分析。

業務系統架構、程式碼相關資料準備,待分析入侵突破口及受影響範圍

#第二步:定位

根據安全系統的審計記錄發現,惡意文件目錄存在另一個*.ko文件,而此文件是透過scp從另一伺服器傳過來。

由此可見,攻擊者先拿到某個存在弱點的伺服器權限,然後再跳轉scp木馬檔案到包括目前受害機在內的透過已攻陷的伺服器可存取的機器,並安裝控制。

接下來咱們重點分析這組木馬文件,根據AV廠商的命名規則(附錄1),暫為其命名為"Backdoor:Linux/Rmgr!rookit",其中「rmgr」來至木馬程式碼中多個函數用了rmgr前綴。

2.1. 木馬檔案

目前已經掌握的木馬檔案分成四部分,其功能簡單描述如下:

如何進行基於威脅情報週期模型的APT木馬剖析

2.2 木馬工作流程

木馬從植入到運行,包括後續可能的滲透活動都採用了各種技術進行隱藏,如果沒有安全系統則很難發現。同時,該木馬也做了很多對抗,常規的安全監測能力未必可以發現。其運作流程簡要描述如下圖:

如何進行基於威脅情報週期模型的APT木馬剖析

#木馬工作流程

2.3 木馬各部份主要功能

1. rmgr.ko

rootkit採用常見的LKM核心模組。下面逐一列舉此rootkit載入後的主要操作。

1)proc_create_data建立虛擬檔案/proc/.dot3,用於後續與木馬用戶態進程互動;

2) register_kprobe註冊4個kp結構體:

kp_kallsyms_lookup_name\krp_alloc_pid\kp_do_exit\kp_seq_path,用於透過kprobe來搶先在系統執行到這些函式的時候抹除對木馬程序的動作;

如何進行基於威脅情報週期模型的APT木馬剖析

#kp#註冊的處理函數,fake_seq_path用來摘除核心程序鍊錶;

如何進行基於威脅情報週期模型的APT木馬剖析

4) 當系統有讀取「/proc/net/tcp」檔案的時候,由fake_seq_show處理,抹除木馬網路連線;

如何進行基於威脅情報週期模型的APT木馬剖析

5) 在fake_sys_getdents中patch vfs_readdir,抹除所有與木馬相關的資訊;

如何進行基於威脅情報週期模型的APT木馬剖析

#6) 當系統對木馬相關檔案存取的時候,會由fake_filldir處理,根據判斷呼叫者是否木馬操作來決定是否回傳正確結果;

如何進行基於威脅情報週期模型的APT木馬剖析

7 ) 在核心模組鍊錶中刪除自己,kobject_del刪除自己的核心物件;

如何進行基於威脅情報週期模型的APT木馬剖析

#8) kthread_create建立核心執行緒dot_thread

如何進行基於威脅情報週期模型的APT木馬剖析

##建立核心模組自啟動/etc/sysconfig/modules/ati_remote3.modules

寫入核心模組檔案/lib/modules/%s/kernel/drivers/input/misc/ati_remote3. ko

釋放rmgr_fake_libc.so檔案到磁碟

釋放rmgr_daemon檔案到磁碟,並以「[khelper]」進程名稱透過call_usermodehelper_exec運行它。

如何進行基於威脅情報週期模型的APT木馬剖析

2. rmgr__fake_libc.so

此共用程式庫文件,由核心rootkit釋放寫入磁碟,路徑為/tmp/.tmp_{21個隨機字母數字},用於木馬的使用者態進程的行為隱藏。

subhook前綴的函數摘抄自開源程式碼(附錄2),詳細功能請移步github圍觀,本文不贅述。

如何進行基於威脅情報週期模型的APT木馬剖析

fake前綴的函數主要用於對抗常見HIDS的進程和命令記錄,fork和execve直接透過syscall調用,而不使用glibc的封裝,避開了hook glibc方式的HIDS。

如何進行基於威脅情報週期模型的APT木馬剖析

fake_bash_add_history則讓bash指令稽核功能失效。

如何進行基於威脅情報週期模型的APT木馬剖析

3. rmgr_daemon

#此程序由rmgr.ko釋放寫入磁碟,路徑為/tmp/.tmp_{21個隨機字母數字}。由C 開發,編譯後upx加殼壓縮,直接用開源軟體upx -d rmgr_daemon即可脫殼,並無特殊處理。

它主要有的功能有:

1) 監控核心模組狀態,與核心rootkit資訊互動;

如何進行基於威脅情報週期模型的APT木馬剖析2) 更新;

如何進行基於威脅情報週期模型的APT木馬剖析3) 產生rmgr_fake_sshd,並且patchELF,修改依賴的動態函式庫,也就是加入rmgr_fake_libc.so,功能如前述;

##從核心取得路徑如何進行基於威脅情報週期模型的APT木馬剖析

#返迴路徑如何進行基於威脅情報週期模型的APT木馬剖析

如何進行基於威脅情報週期模型的APT木馬剖析

patch ELF

4) 連接C2 hm2.yrnykx.com;

5) 管理rmgr_fake_sshd;如何進行基於威脅情報週期模型的APT木馬剖析

#其中patchELF程式碼摘錄自GitHub - NixOS/patchelf (附錄3)

4. rmgr_fake_sshd

檔案由rmgr_daemon寫入磁碟,路徑為/tmp/.tmp_{ 21個隨機字母數字},它的運作均由rmgr_daemon管理。

作為後門它硬編碼了PRIVATE KEY ,如下圖:

如何進行基於威脅情報週期模型的APT木馬剖析

#因為透過patchELF hook了部分函數,實現了ssh登入之後的命令執行等行為的隱匿。而rmgr_fake_sshd本身,以及ssh登入派生的子程序均透過rmgr.ko根據前述分析透過patch核心呼叫實現隱匿。

rmgr_fake_sshd啟動時載入了硬編碼的sshd_config,請注意其中幾個關鍵配置。

監聽在本地的26657端口,rmgr_daemon連接此端口轉發來至C2的ssh指令。這裡實作了擬合業務環境常用網路協議,使得常規的NIDS的偵測邏輯被繞過。 如何進行基於威脅情報週期模型的APT木馬剖析

第三個步驟:消除

這裡主要是指加固,避免被攻擊者以同樣的手法攻擊。具體手段如下:

突破口加固,補丁更新,ACL加固。

維運通道,停用舊帳戶,修改攻擊連結中伺服器帳戶,並上雙重認證。

根據使用者角色限定可存取系統範圍。

受害系統dump保存虛機鏡像,待查。

重裝受害系統,重新發布部署業務環境。

新系統核心模組載入要求簽名校驗。

第四步:利用

完成緊急應變工作,分析完事件現場和文件之後,整個事件中提取到的關鍵資訊將沉澱為威脅情報。本文將威脅情報金字塔模型的內容縮減到iocs和ttps兩部分,ttps用att&ck矩陣模型做歸納。

威脅情報金字塔模型如何進行基於威脅情報週期模型的APT木馬剖析

1. iocs

1) md5:

7d859a22f38f0bcd55a46bc8b67c40df

fa73b2fd914a0cfd5e7d#21

#fa73b2fd914a0cfd5e7d#2110

hm2.yrnykx.com

2. ttps

如何進行基於威脅情報週期模型的APT木馬剖析

第五步:分析

從上節ttps可以看出來,att&ck矩陣並不能完全覆蓋此次木馬用於對抗安全系統的全部隱匿手段。

粗略的分類其隱匿(進程、網路、檔案)手段有:

C2透過fake_sshd避開NIDS的偵測;

透過patchELF繞過hook libc的命令審計HIDS;

透過fake_bash_add_history讓shell審計失效;

透過patch seq_show修改系統對/proc下檔案資訊讀取的返回,實現對木馬相關的檔案、進程、網路連接資訊的隱匿;

透過patch vfs_readdir實現隱藏木馬檔案;

透過摘除內核進程、模組鍊錶訊息,避免被rookit偵測工具發現核心中木馬痕跡;

可見,此木馬套裝存在大量技術細節來對抗安全系統,不過它主要針對市面上已知的一些舊款HIDS和事後取證調查工具。核心態的進程派生syscall hook和inotify 雲端查殺還是可以發現它的。

如何進行基於威脅情報週期模型的APT木馬剖析木馬與安全系統的對抗維度

一套完整的木馬系統不可能僅僅因為一次滲透入侵而開發,必然會借鑒很多開源或者家族代碼。所以從溯源角度來說,可以做程式碼「考古」工作,同時將相關程式碼風格和木馬行為納入安全系統特徵庫。限於篇幅,暫不在此贅述。

第六步:傳播

傳播即是本文本身。

總結

事實上,實際的事件回應處置過程順序不可能完全跟上述流程一致。但走完整套流程,筆者認為才能算是安全事件處置圓滿的結束。其實,F3EAD流程比較重視情報從分析到應用(改善安全對抗能力),特別是在「分析」階段的反覆迭代。

如何進行基於威脅情報週期模型的APT木馬剖析F3EAD週期的分析階段(迭代)

從冰冷的情報到落地到我們安全系統安全能力的提升,這才實現了威脅情報的真正價值。

以上是如何進行基於威脅情報週期模型的APT木馬剖析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),