溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2022-01-18 16:26:37 來源:億速云 閱讀:163 作者:柒染 欄目:網(wǎng)絡(luò)安全

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何進行基于威脅情報周期模型的APT木馬剖析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

關(guān)于威脅情報處理周期模型

“威脅情報處理周期”(F3EAD)一詞源于軍事,是美陸軍為主戰(zhàn)兵種各級指揮員設(shè)計的組織資源、部署兵力的方法。網(wǎng)絡(luò)應(yīng)急響應(yīng)中心借鑒這套方法,分以下六個階段處理威脅情報信息:

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

威脅情報處理周期模型的應(yīng)用

第一步:查找

某月某日,部署在合作方公有云服務(wù)器上的“洋蔥”系統(tǒng)告警發(fā)現(xiàn)疑似木馬程序,于是應(yīng)急響應(yīng)團隊快速啟動應(yīng)急相應(yīng)流程:

干系人等一鍵拉群,電話接入。

受害系統(tǒng)隔離待查。

安全系統(tǒng)、審計日志導(dǎo)出待溯源分析。

業(yè)務(wù)系統(tǒng)架構(gòu)、代碼相關(guān)資料準(zhǔn)備,待分析入侵突破口及受影響范圍

第二步:定位

根據(jù)安全系統(tǒng)的審計記錄發(fā)現(xiàn),惡意文件目錄存在另一個*.ko文件,而此文件是通過scp從另一服務(wù)器傳過來。

由此可見,攻擊者首先拿到某個存在弱點的服務(wù)器權(quán)限,然后再跳轉(zhuǎn)scp木馬文件到包括當(dāng)前受害機在內(nèi)的通過已攻陷的服務(wù)器可訪問的機器,并安裝控制。

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

2.1. 木馬文件

目前已經(jīng)掌握的木馬文件分四部分,其功能簡單描述如下:

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

2.2 木馬工作流程

木馬從植入到運行,包括后續(xù)可能的滲透活動都采用了各種技術(shù)進行隱藏,如果沒有安全系統(tǒng)則很難發(fā)現(xiàn)。同時,該木馬也做了很多對抗,常規(guī)的安全監(jiān)測能力未必可以發(fā)現(xiàn)。其運行流程簡要描述如下圖:

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

木馬工作流程

2.3 木馬各部分主要功能

1. rmgr.ko

rootkit采用常見的LKM內(nèi)核模塊。下面逐個列舉此rootkit加載后的主要操作。

1)proc_create_data創(chuàng)建虛擬文件/proc/.dot3,用于后續(xù)與木馬用戶態(tài)進程交互;

2) register_kprobe注冊4個kp結(jié)構(gòu)體:

kp_kallsyms_lookup_name\krp_alloc_pid\kp_do_exit\kp_seq_path,用于通過kprobe來搶先在系統(tǒng)執(zhí)行到這些函數(shù)的時候抹除對木馬進程的操作;

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

3) 上述kp結(jié)構(gòu)注冊的處理函數(shù),fake_seq_path用于摘除內(nèi)核進程鏈表;

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

4) 當(dāng)系統(tǒng)有讀“/proc/net/tcp”文件的時候,由fake_seq_show處理,抹除木馬網(wǎng)絡(luò)連接;

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

5) 在fake_sys_getdents中patch vfs_readdir,抹除與木馬相關(guān)的所有信息;

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

6) 當(dāng)系統(tǒng)對木馬相關(guān)文件訪問的時候,會由fake_filldir處理,根據(jù)判斷調(diào)用者是否木馬操作來決定是否返回正確結(jié)果;

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

7) 在內(nèi)核模塊鏈表中刪除自己,kobject_del刪除自己的內(nèi)核對象;

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

8) kthread_create創(chuàng)建內(nèi)核線程dot_thread

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

創(chuàng)建內(nèi)核模塊自啟動/etc/sysconfig/modules/ati_remote3.modules

寫入內(nèi)核模塊文件/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

此共享庫文件,由內(nèi)核rootkit釋放寫入磁盤,路徑為/tmp/.tmp_{21個隨機字母數(shù)字},用于木馬的用戶態(tài)進程的行為隱藏。

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

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

fake前綴的函數(shù)主要用于對抗常見HIDS的進程和命令記錄,fork和execve直接通過syscall調(diào)用,而不使用glibc的封裝,避開了hook glibc方式的HIDS。

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

fake_bash_add_history則讓bash命令審計功能失效。

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

3. rmgr_daemon

此進程由rmgr.ko釋放寫入磁盤,路徑為/tmp/.tmp_{21個隨機字母數(shù)字}。由C++開發(fā),編譯后upx加殼壓縮,直接用開源軟件upx -d rmgr_daemon即可脫殼,并無特殊處理。

它主要有的功能有:

1) 監(jiān)控內(nèi)核模塊狀態(tài),與內(nèi)核rootkit信息交互;

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

如何進行基于威脅情報周期模型的APT木馬剖析3) 生成rmgr_fake_sshd,并patchELF,修改依賴的動態(tài)庫,也就是加入rmgr_fake_libc.so,功能如前述;

如何進行基于威脅情報周期模型的APT木馬剖析從內(nèi)核獲取路徑

如何進行基于威脅情報周期模型的APT木馬剖析返回路徑

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

patch ELF

4) 連接C2 hm2.yrnykx.com;如何進行基于威脅情報周期模型的APT木馬剖析5) 管理rmgr_fake_sshd;

其中patchELF代碼摘抄自GitHub - NixOS/patchelf (附錄3)

4. rmgr_fake_sshd

文件由rmgr_daemon寫入磁盤,路徑為/tmp/.tmp_{21個隨機字母數(shù)字},它的運行均由rmgr_daemon管理。

作為后門它硬編碼了PRIVATE KEY ,如下圖:如何進行基于威脅情報周期模型的APT木馬剖析

因為通過patchELF hook了部分函數(shù),實現(xiàn)了ssh登錄之后的命令執(zhí)行等行為的隱匿。而rmgr_fake_sshd本身,以及ssh登錄派生的子進程均通過rmgr.ko根據(jù)前述分析通過patch內(nèi)核調(diào)用實現(xiàn)隱匿。

rmgr_fake_sshd啟動時加載了硬編碼的sshd_config,請注意其中幾個關(guān)鍵配置。如何進行基于威脅情報周期模型的APT木馬剖析監(jiān)聽在本地的26657端口,rmgr_daemon連接此端口轉(zhuǎn)發(fā)來至C2的ssh指令。這里實現(xiàn)了擬合業(yè)務(wù)環(huán)境常用網(wǎng)絡(luò)協(xié)議,使得常規(guī)的NIDS的檢測邏輯被繞過。

第三步:消除

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

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

運維通道,停用舊賬戶,修改攻擊鏈路中服務(wù)器賬戶,并上雙因素認(rèn)證。

根據(jù)用戶角色限定可訪問系統(tǒng)范圍。

受害系統(tǒng)dump保存虛機鏡像,待查。

重裝受害系統(tǒng),重新發(fā)布部署業(yè)務(wù)環(huán)境。

新系統(tǒng)內(nèi)核模塊加載要求簽名校驗。

第四步:利用

完成應(yīng)急響應(yīng)工作,分析完事件現(xiàn)場和文件之后,整個事件中提取到的關(guān)鍵信息將沉淀為威脅情報。本文將威脅情報金字塔模型的內(nèi)容縮減到iocs和ttps兩部分,ttps用att&ck矩陣模型做歸納。如何進行基于威脅情報周期模型的APT木馬剖析威脅情報金字塔模型

1. iocs

1) md5:

7d859a22f38f0bcd55a46bc8b67c40df

fa73b2fd914a0cfd5e7d3161af903b6c

2) c2:

hm2.yrnykx.com

2. ttps

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

第五步:分析

從上節(jié)ttps可以看出來,att&ck矩陣并不能完全覆蓋此次木馬用于對抗安全系統(tǒng)的全部隱匿手段。

粗略的分類其隱匿(進程、網(wǎng)絡(luò)、文件)手段有:

C2通過fake_sshd避開NIDS的檢測;

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

通過fake_bash_add_history讓shell審計失效;

通過patch seq_show修改系統(tǒng)對/proc下文件信息讀取的返回,實現(xiàn)對木馬相關(guān)的文件、進程、網(wǎng)絡(luò)連接信息的隱匿;

通過patch vfs_readdir實現(xiàn)隱藏木馬文件;

通過摘除內(nèi)核進程、模塊鏈表信息,避免被rookit檢測工具發(fā)現(xiàn)內(nèi)核中木馬痕跡;

可見,此款木馬套裝存在大量技術(shù)細(xì)節(jié)來對抗安全系統(tǒng),不過它主要針對市面上已知的一些舊款HIDS和事后取證調(diào)查工具。內(nèi)核態(tài)的進程派生syscall hook和inotify+云查殺還是可以發(fā)現(xiàn)它的。

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

木馬與安全系統(tǒng)的對抗維度

一套完整的木馬系統(tǒng)不可能僅僅因為一次滲透入侵而開發(fā),必然會借鑒很多開源或者家族代碼。所以從溯源角度來說,可以做代碼“考古”工作,同時將相關(guān)代碼風(fēng)格和木馬行為納入安全系統(tǒng)特征庫。限于篇幅,暫不在此贅述。

第六步:傳播

傳播即本文本身。

總結(jié)

事實上,實際的事件響應(yīng)處置過程順序不可能完全跟上述流程一致。但走完整套流程,筆者認(rèn)為才能算是一個安全事件處置圓滿的結(jié)束。其實,F(xiàn)3EAD流程比較重視情報從分析到應(yīng)用(改進安全對抗能力),特別是在“分析”階段的反復(fù)迭代。

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

F3EAD周期的分析階段(迭代)

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

上述就是小編為大家分享的如何進行基于威脅情報周期模型的APT木馬剖析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

apt
AI