最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

惡意后門利用多種免殺手段,可遠控用戶電腦

2023-07-19 18:06 作者:火絨安全  | 我要投稿

近期,火絨威脅情報系統(tǒng)監(jiān)測到一款后門病毒正在快速傳播,被激活后會通過遠程服務器下載多個惡意文件并獲取遠端惡意代碼,隨后黑客可以進行截取受害者屏幕圖像、遠程控制受害者電腦等各種惡意操作。不僅如此,該病毒還使用多種手段來躲避安全軟件的查殺,隱蔽性極強。目前,火絨安全產品可對上述病毒進行攔截查殺,請用戶及時更新病毒庫以進行防御。

火絨查殺圖


該黑客團伙投遞的文件名大部分與用戶常用軟件有關, 火絨安全實驗室目前收集到其偽裝的部分文件名如下圖所示:

相關文件名


火絨工程師分析發(fā)現(xiàn),該病毒使用了包括 VMProtect 殼保護、構造 ROP 鏈、DLL 內存加載、“白加黑” 、多層內存解密等多種技術來躲避安全軟件的查殺,因此,火絨安全提醒用戶不要輕易點擊來歷不明的文件,建議先查殺后再使用。


注:“ROP (返回導向編程) ” 是一種將棧上寫入的 shellcode 指令串聯(lián)起來,使其能作為函數(shù)被已加載指令調用的一種手段。


一、樣本分析

本次分析的病毒執(zhí)行流程如下所示:

病毒執(zhí)行流程


該病毒類型隨著時間線推進,分別使用了 UPX、VMP 等保護殼,而目前監(jiān)測到最新的版本為無殼版本,可見作者仍在積極開發(fā)測試當中:

加殼情況


病毒首先在棧中開辟大塊區(qū)域寫入代碼,該代碼塊隨后作為 EnumFontsW 的回調函數(shù)被執(zhí)行。這種通過記錄棧中的可執(zhí)行流(ROP)的方式可以繞過數(shù)據(jù)執(zhí)行保護(DEP),增強其隱蔽性。

棧中記錄代碼


獲取棧中展開的代碼后發(fā)現(xiàn)內嵌了一個 DLL 文件,該 DLL 在內存中自加載,并調用其唯一的導出函數(shù) make,這種加載方式能使其無法通過 ProcessExplorer 等軟件檢測出加載的行為,進一步增強了免殺效果。

DLL 內存加載


在 make 函數(shù)的執(zhí)行過程中,其會先判斷當前執(zhí)行的文件名是否包含預定義數(shù)字,這些數(shù)字目前理解有兩個含義:回連標志和單獨執(zhí)行標志。執(zhí)行流程圖如下所示:

執(zhí)行流程圖


1:第一個是回連標志,當包含特定的數(shù)字(回連標志)時,其會從 C2 下載相應的 jpg 文件并重命名為 md.jpg,分別存放在 "C:\Users\Public\" 和 "C:\Users\Public\Documents\" 目錄下以供后續(xù)使用。

下載指定 jpg 文件


每一個下載的 jpg 文件實際上都是一個 shellcode,不同的 jpg 文件在代碼層上都是統(tǒng)一的,但是在數(shù)據(jù)段中有著不同的回傳 IP 和 C2 域名,所以稱其為回連標志。(該類 shellcode 將在后面分析,每個 jpg 所含有的 IP 在附錄中可查)

jpg(shellcode) 文件解析


2:第二個是單獨執(zhí)行標志,當程序不具備單獨執(zhí)行標志(這里是 "16116")時,其必須先擁有 md.jpg 文件,然后再下載其他惡意文件。這些病毒文件會分別存放到不同的位置中,包括 :

  • "C:\Users\Public\Documents" 目錄下 ttd.exe、UnityPlayer.dll

  • “C:\Users\Public\” 目錄下 zd.exe、md.exe、zd.jpg

其它文件下載


分類執(zhí)行:

根據(jù) make 函數(shù)中的執(zhí)行邏輯可知,所下載的惡意文件分成 3 大部分:

第一部分:zd.exe (單獨線程執(zhí)行,內存加載 zd.jpg)

第二部分:md.exe(單獨線程執(zhí)行,內存加載 md.jpg(如果有的話))

第三部分:Documents 下的 ttd.exe、UnityPlayer.dll (設置隱藏屬性,暫時保留)

分別執(zhí)行


第一部分——zd.exe:

zd.exe 是一個由 Rust 編寫的惡意加載程序,用于將一同下載的 zd.jpg 作為 shellcode 加載并執(zhí)行:

由 Rust 編寫


在 zd.exe 內部也存在著 PDB 路徑,許多調試符號,有意義的字符串等信息可以驗證分析:

字符串等驗證信息


zd.jpg 作為 shellcode 被加載執(zhí)行,在代碼與數(shù)據(jù)之間,病毒作者以 codemark 作為分界線。在數(shù)據(jù)區(qū)中,前面部分字節(jié)被賦予了特定的含義,有用作函數(shù)參數(shù)的,有用于作為執(zhí)行條件的,稱其為標志位區(qū)。后面有可直接使用的域名信息,稱其為字符串區(qū)。最后是待解密使用的字符,稱其為解密數(shù)據(jù)區(qū)(在后面會使用)。

shellcode 加載


當定位到分隔符 "codemark",獲取特定標志位信息及域名字符串 yk.ggdy.com 后,便會對其發(fā)起連接請求。這里發(fā)送給 C2 的 "64" 猜測是要求回傳 64 位的代碼,由此也可進一步猜測有 32 位版本。

從 C2 下載惡意代碼


回傳代碼部分:

C2 對指令的響應可能在不同的時間有著不同的下發(fā)代碼,也可能還存在別的響應指令,這里僅討論本次下發(fā)的代碼內容。本次下發(fā)的惡意代碼進行了包括屏幕截圖,注冊表讀取,保持回連等操作。詳細分析如下:

本次接收的代碼依舊處于加密狀態(tài),在解密運算中,從 E byte 位開始為待解密信息,解密計算從 0 偏移處開始算起,解密邏輯如下。

解密回傳代碼


然而,在解密后的代碼中發(fā)現(xiàn)里面還嵌套著兩個 DLL 文件,并且是遞歸嵌套,下圖并未展示嵌套關系:(在母 DLL 里面還嵌套著子 DLL 文件,但子 DLL 并未執(zhí)行)。

DLL 嵌套


在執(zhí)行過程中,其會先后執(zhí)行內嵌母 DLL 的 dllmain 函數(shù)和 load 函數(shù):

回傳代碼執(zhí)行


雖然該 DLL 有 3 個導出函數(shù),并且 run 和 zidingyixiugaidaochuhanshu(喻指自定義修改導出函數(shù))并未執(zhí)行,但是它們所作的操作都圍繞著兩個點:

  • 第一個是獲取并修改前面 zd.jpg 待解密數(shù)據(jù)區(qū)中數(shù)據(jù)進行解密并與注冊表中 IP 數(shù)據(jù)相關聯(lián)。

這部分代碼將 shellcode 末尾加密數(shù)據(jù)的特定字符進行包括字符替換等解密方式后,得到一個類似于域名,時間,路由消息組成的以 "|" 分隔的關鍵字串,猜測是想創(chuàng)建并寫入注冊表 IpDate 中進行后續(xù)提取利用。

shellcode 末尾數(shù)據(jù)區(qū)解密


  • 第二個是開啟兩個后臺線程,一個是屏幕截圖,另一個是保持回連。

屏幕截圖所在的線程先會獲取系統(tǒng)目錄 "C:\ProgramData",然后在該目錄下創(chuàng)建 quickScreenShot 文件夾,以當天日期創(chuàng)建分類文件夾,最后把拍攝的屏幕數(shù)據(jù)以 "日期時間" 的命名方式寫入并保存。

獲取屏幕截圖


在進行屏幕截圖的過程中,另一個保持回連的線程也會同步開啟,但該線程會先休眠整整60分鐘:

進程休眠


之后會進行代碼解密操作,以 hackbrian 作為 key 執(zhí)行解密算法:

代碼解密


解密后的代碼與前面分析的 shellcode 同類,用于等待 C2 的下一步操作,可以執(zhí)行包括遠程控制在內的各種操作。(這里 ttkk.youbi.co 域名是錯誤的,末尾少了個m,懷疑由作者的疏漏導致)。

內嵌加密 shellcode


最后在該內嵌 dll 的字符串中發(fā)現(xiàn)有 "上線模塊.dll",猜測會在后續(xù)階段的由 C2 下發(fā)。

上線字符串


第二部分——md.exe

md.exe 也是由 rust 編寫,經過邏輯對比發(fā)現(xiàn)其與 zd.exe 一致, 代碼字節(jié)也是相同,故不再重復分析。

邏輯對比圖
代碼字節(jié)對比圖


第三部分——ttd.exe 和UnityPlayer.dll

ttd.exe 在本次樣本分析屬于第三部分,并未被啟動運行,懷疑是在開發(fā)中或暫時保留以備后續(xù)操作的模塊,這里出于安全研究的目的繼續(xù)對其進行分析。


病毒作者在這里利用了白加黑手法,通過合法的 ttd.exe 加載攜帶惡意代碼的 UnityPlayer.dll 躲避查殺,該 dll 在被加載時也會 "變相" 執(zhí)行 shellcode 中的代碼進行后續(xù)操作。


其先進行文件復制,把 "C:\Users\Public\Documents\md.jpg" 復制成 "C:\Users\8.jpg" :

文件復制


然后執(zhí)行打開本地畫板程序 mspaint.exe,以進程注入的方式在其內存空間中開辟適當空間,并寫入 jpg 中的 shellcode 代碼,隨后調用 CreateRemoteThread 進行遠程線程執(zhí)行。

進程注入

加載并寫入 shellcode


shellcode 的后續(xù)執(zhí)行部分在前面已詳細敘述,這里不再重復分析。


二、附錄:

C&C

HASH

惡意后門利用多種免殺手段,可遠控用戶電腦的評論 (共 條)

分享到微博請遵守國家法律
龙口市| 墨玉县| 望城县| 盱眙县| 库尔勒市| 宁陵县| 白玉县| 赤城县| 瑞安市| 沙洋县| 姚安县| 西宁市| 紫云| 图木舒克市| 怀柔区| 天峻县| 清原| 清水县| 姚安县| 新乐市| 德保县| 凤台县| 含山县| 厦门市| 界首市| 襄汾县| 巴塘县| 长沙县| 黎平县| 吉首市| 云霄县| 呼和浩特市| 莱阳市| 保德县| 岳阳县| 绥芬河市| 陵川县| 和平县| 根河市| 福清市| 格尔木市|