国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

這篇具有很好參考價(jià)值的文章主要介紹了【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

引言

本文主要介紹“反射型 dll 注入”及“柔性加載”技術(shù)。

反射型 dll 注入

為什么需要反射型 dll 注入

常規(guī)的 dll 注入代碼如下:

int main(int argc, char *argv[]) {HANDLE processHandle;PVOID remoteBuffer;wchar_t dllPath[] = TEXT("C:\\experiments\\evilm64.dll");
printf("Injecting DLL to PID: %i\n", atoi(argv[1]));processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, DWORD(atoi(argv[1])));remoteBuffer = VirtualAllocEx(processHandle, NULL, sizeof dllPath, MEM_COMMIT, PAGE_READWRITE);        WriteProcessMemory(processHandle, remoteBuffer, (LPVOID)dllPath, sizeof dllPath, NULL);PTHREAD_START_ROUTINE threatStartRoutineAddress = (PTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW");CreateRemoteThread(processHandle, NULL, 0, threatStartRoutineAddress, remoteBuffer, 0, NULL);CloseHandle(processHandle); 
return 0;}

主要做了幾件事情:

  1. 從磁盤讀取 dll 到 wchar_t 數(shù)組

  2. 將該 payload 數(shù)組寫入目標(biāo)內(nèi)存

  3. 在目標(biāo)內(nèi)存中找到 LoadLibraryW 函數(shù)

  4. 通過 CreateRemoteThread 調(diào)用 LoadLibraryW 函數(shù),參數(shù)為 dll 在內(nèi)存中的地址。

這樣的操作模式有幾個(gè)很高危的點(diǎn)。首先,從磁盤讀取 dll 需要考慮 dll 的靜態(tài)免殺,對此我們可以直接寫在裝載器中并加密。

其次,在目標(biāo)內(nèi)存中找到 LoadLibraryW 函數(shù),需要 GetProcAddress LoadLibraryW,這種調(diào)用屬于很有特征的調(diào)用模式,容易被 AV/EDR 歸類。對此我們的解決措施就是接下來要提及的反射型 dll 注入技術(shù)。

最后,CreateRemoteThread 進(jìn)行遠(yuǎn)程線程注入 行為本身就很高危,同時(shí)參數(shù)是 LoadLibraryW 的地址,一眼 malware。

對此我們優(yōu)化調(diào)用,不再使用 CreateRemoteThread 進(jìn)而使用創(chuàng)建新進(jìn)程的方式結(jié)合反射型 dll 注入技術(shù)改變 dll 注入技術(shù)的調(diào)用模式。

實(shí)現(xiàn)思路

早期的 dll 注入實(shí)現(xiàn)原理:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

上圖比較清楚的寫了反射型 dll 注入的原理,1,2,3 步由 A 向 B 線程寫入 dll。第四步調(diào)用 B 線程中的 embedded bootstrapper code。最后通過 bootstrapper shellcode 調(diào)用 dll 的導(dǎo)出函數(shù) reflective loader。

reflective loader 實(shí)際上是一個(gè)自己實(shí)現(xiàn)的 LoadLibraryW 函數(shù),從內(nèi)存中找到我們寫入的 dll 并修復(fù)使其成為可以被正常使用的 pe 文件,最后調(diào)用 DLLmain 實(shí)現(xiàn)我們的惡意功能。

我們的具體實(shí)現(xiàn)和上面早期的思路有所區(qū)別,首先我們不使用遠(yuǎn)程進(jìn)程/線程注入的方式,其次我們不需要 bootstrapper shellcode 這個(gè)部分,我們可以直接在加載器部分算出 reflective loader 在內(nèi)存中的地址,直接調(diào)用即可。

【一一幫助安全學(xué)習(xí),所有資源獲取處一一】

①網(wǎng)絡(luò)安全學(xué)習(xí)路線

②20 份滲透測試電子書

③安全攻防 357 頁筆記

④50 份安全攻防面試指南

⑤安全紅隊(duì)滲透工具包

⑥網(wǎng)絡(luò)安全必備書籍

⑦100 個(gè)漏洞實(shí)戰(zhàn)案例

⑧安全大廠內(nèi)部視頻資源

⑨歷年 CTF 奪旗賽題解析

具體實(shí)現(xiàn)

加載器部分

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

首先 shellcode 使用 AES 解密,這部分添加了一些 c 的代碼加密

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

后來發(fā)現(xiàn)原本項(xiàng)目的 release 目錄下有 python 的加密腳本:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

解密載入內(nèi)存后,使用 GetReflectiveLoaderOffset 計(jì)算出 ReflectLoader 函數(shù)的偏移:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

最后創(chuàng)建線程調(diào)用 ReflectLoader 函數(shù)。

dll 部分

ReflectiveLoader 一共做了 5 件事:

一、 解析加載 DLL 所需 kernel32.dll WINAPI 的地址(例如 VirtualAlloc, LoadLibraryA 等),通過關(guān)鍵函數(shù)的 hash 在內(nèi)存中搜索,函數(shù) hash:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

遍歷內(nèi)存進(jìn)行搜索:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

二、 將 DLL 及其相應(yīng)的節(jié)寫入內(nèi)存中:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

三、 建立 DLL 導(dǎo)入表,以便 DLL 可以調(diào)用 ntdll.dll 和 kernel32.dll WINAPI

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

四、 修復(fù)重定位表:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

五、 調(diào)用 DLL 的入口點(diǎn):

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

最終我們的惡意代碼位于 dllmain 中,項(xiàng)目還是采用加載 shellcode 的方式上線 cs。

柔性加載

限制使用具有 RWX 標(biāo)記的內(nèi)存,cs 在 4+可以直接進(jìn)行相關(guān)配置。

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

推薦配置:

set startrwx        "false";set userwx          "false";set cleanup         "true";set stomppe         "true";set obfuscate       "true";set sleep_mask      "true";set smartinject     "true";

牛刀小試

360

使用 base64+xor 混淆 shellcode:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

成功 bypass:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

火絨

和上述方法相同:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

definder

加強(qiáng) shellcode 的混淆:

std::string rest2_reference = "xxx@@";std::string rest3_reference = replace(rest2_reference, "@@", "==");

依舊報(bào)毒,但是類型發(fā)生改變了,說明靜態(tài)的混淆有效果:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

異或的操作,比較可疑,經(jīng)過測試發(fā)現(xiàn)是 cs 的 shellcode 出現(xiàn)在數(shù)組里就報(bào)毒,應(yīng)該是對內(nèi)存進(jìn)行的掃描。

所以我們可以使用《文章二》中提及的技術(shù)“規(guī)避常見的惡意 API 調(diào)用模式”,將 shellcode 分片直接寫入連續(xù)內(nèi)存。

在測試的過程中發(fā)現(xiàn)莫名其妙的過了查殺:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

很神奇,這段并沒有實(shí)現(xiàn)內(nèi)存的切片寫入,因?yàn)?shellcode 的大小沒有達(dá)到 4096,實(shí)際上相當(dāng)于直接分配了個(gè)大小為 4096 的數(shù)組,寫入了 shellcode。

而且把這段代碼相同的格式放外面就不行,個(gè)人感覺 definder 還是沒有去檢查內(nèi)存。

可能是有語義分析的引擎,這次剛好繞過了語義分析。

macfee

同上方法可以成功 bypass:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

正常執(zhí)行命令:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

kasperky Endpoint 11 for windows

用過 macfee 和 definder 的 demo2 測試失敗,注釋掉代碼加載部分不報(bào)毒,改用 apc 和創(chuàng)建進(jìn)程的的方式加載內(nèi)存:

SIZE_T shellSize = 4096;STARTUPINFOA si = { 0 };PROCESS_INFORMATION pi = { 0 };
CreateProcessA("C:\\Windows\\System32\\calc.exe", NULL, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi);HANDLE victimProcess = pi.hProcess;HANDLE threadHandle = pi.hThread;
LPVOID shellAddress = VirtualAllocEx(victimProcess, NULL, shellSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);PTHREAD_START_ROUTINE apcRoutine = (PTHREAD_START_ROUTINE)shellAddress;
WriteProcessMemory(victimProcess, shellAddress, exec, shellSize, NULL);QueueUserAPC((PAPCFUNC)apcRoutine, threadHandle, NULL);ResumeThread(threadHandle);

依舊不行:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

使用 syscall 調(diào)用 NtCreateThreadEx。這里被坑了,WaitForSingleObject 要使用,不然會異步,沒法上線:

ANtCTE(    &hThread,    THREAD_ALL_ACCESS,    NULL,    GetCurrentProcess(),    (LPTHREAD_START_ROUTINE)exec,    NULL,    NULL,    0,    0,    0,    nullptr);WaitForSingleObject(hThread, INFINITE);

能看到效果,行為檢測依舊有問題:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

但漏洞利用防御已經(jīng)沒有相關(guān)報(bào)警:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

懷疑是 cs 本身流量特征的問題,為了驗(yàn)證我使用卡巴斯基本身的功能禁用了網(wǎng)絡(luò)請求:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

確實(shí)不殺也不報(bào)警了,確定是 cs 通信的問題。

ESET Endpoint Security

demo3 報(bào)警,并且明顯檢測到網(wǎng)絡(luò)連接行為

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

靜態(tài)沒有問題

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

主要應(yīng)該還是在對內(nèi)存的檢測,而且感覺已經(jīng)執(zhí)行到了發(fā)包

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

下面根據(jù)《三》中的“beacon 的內(nèi)存加密”對 demo3 進(jìn)行優(yōu)化,使用 RefleXXion 工具的第二種將內(nèi)存設(shè)為 NO_ACCESS 并通過注冊異常處理還原的方式進(jìn)行免殺。

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

設(shè)置流量的白名單:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

關(guān)閉 web 控制后成功并上線

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

eset 在持續(xù)在掃描內(nèi)存,但一直沒有權(quán)限,一直觸發(fā)異常,無法進(jìn)入正常的后門邏輯

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

能繞過內(nèi)存的檢測,但無法正常使用

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

感覺 ESET 一直在我程序里進(jìn)行內(nèi)存操作,訪問到了不可訪問的內(nèi)存段。

可能 ESET 的機(jī)制是一直在掃描程序內(nèi)存,也可能是想要做一些 hook。

我嘗試使用 RefleXXion 的第一種方法,將 shellcode 加密并使屬性為 RW 或 RX 的方式加載 shellcode:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

可以成功上線,并且正常使用:

【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺

總結(jié)

該系列文章所有的 bypass edr 方法都只在用戶態(tài)進(jìn)行操作,已經(jīng)能規(guī)避大多數(shù) AV/EDR 的檢測。但不乏一些 edr 進(jìn)行了比較多的內(nèi)核層面的限制,如炭黑、fireeye 等。文章來源地址http://www.zghlxwxcb.cn/news/detail-430287.html

到了這里,關(guān)于【網(wǎng)絡(luò)安全】紅隊(duì)基礎(chǔ)免殺的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【網(wǎng)絡(luò)安全】滲透測試之木馬免殺

    博主昵稱:跳樓梯企鵝 博主主頁面鏈接: 博主主頁傳送門 博主專欄頁面連接:

    2024年02月02日
    瀏覽(31)
  • 162.網(wǎng)絡(luò)安全滲透測試—[Cobalt Strike系列]—[Veil免殺]

    162.網(wǎng)絡(luò)安全滲透測試—[Cobalt Strike系列]—[Veil免殺]

    1 Veil的使用 (1)Veil主要用于生成:免殺payload (2)下載地址:https://github.com/Veil-Framework/Veil (3)安裝過程:https://blog.csdn.net/qq_53079406/article/details/126192511 2 生成有效載荷payload 選擇payload Generator 選擇Veil 不要選擇 x64可能出錯。不要打勾就可以了。 3 Veil免殺過程 運(yùn)行veil 在終

    2023年04月23日
    瀏覽(90)
  • 【網(wǎng)絡(luò)安全面經(jīng)】滲透面經(jīng)、安服面經(jīng)、紅隊(duì)面經(jīng)、hw面經(jīng)應(yīng)有盡有 這一篇真的夠了

    目錄 ?面經(jīng) ???奇安信面經(jīng)(五星推薦) ??兔娼?jīng)(推薦) 滲透測試面經(jīng)(推薦) 滲透測試技巧 計(jì)網(wǎng)面經(jīng) SQL注入漏洞 注入繞過 XXE漏洞 最強(qiáng)面經(jīng) Github面經(jīng) 模擬面 WEB安全 PHP安全 網(wǎng)絡(luò)安全 密碼學(xué) 一、青藤 二、360 三、漏洞盒子 四、未知廠商 五、長亭-紅隊(duì) 六、qax 七、天

    2024年02月03日
    瀏覽(29)
  • 【網(wǎng)絡(luò)安全】網(wǎng)絡(luò)安全基礎(chǔ)必備技能

    【網(wǎng)絡(luò)安全】網(wǎng)絡(luò)安全基礎(chǔ)必備技能

    ??博__主??:米碼收割機(jī) ??技__能??:C++/Python語言 ??公眾號??:測試開發(fā)自動化【獲取源碼+商業(yè)合作】 ??榮__譽(yù)??:阿里云博客專家博主、51CTO技術(shù)博主 ??專__注??:專注主流機(jī)器人、人工智能等相關(guān)領(lǐng)域的開發(fā)、測試技術(shù)。 網(wǎng)絡(luò)安全(Cybersecurity)是一個(gè)廣泛的領(lǐng)域

    2024年02月08日
    瀏覽(23)
  • 安全基礎(chǔ)——常見網(wǎng)絡(luò)安全產(chǎn)品

    安全基礎(chǔ)——常見網(wǎng)絡(luò)安全產(chǎn)品

    安全產(chǎn)品: 端點(diǎn)安全:惡意軟件防護(hù)、終端安全管理 網(wǎng)絡(luò)安全:安全網(wǎng)關(guān)、入侵檢測與防御、網(wǎng)絡(luò)監(jiān)控與審計(jì) 應(yīng)用安全:web安全、數(shù)據(jù)庫安全、郵件安全 數(shù)據(jù)安全:數(shù)據(jù)治理、文件管理與加密、數(shù)據(jù)備份與恢復(fù) 身份與訪問管理:認(rèn)證與權(quán)限管理、高級認(rèn)證 安全管理:安全

    2024年02月08日
    瀏覽(27)
  • 如何學(xué)習(xí)網(wǎng)絡(luò)安全?(零基礎(chǔ)入門網(wǎng)絡(luò)安全學(xué)習(xí)筆記)

    如何學(xué)習(xí)網(wǎng)絡(luò)安全?(零基礎(chǔ)入門網(wǎng)絡(luò)安全學(xué)習(xí)筆記)

    概括來說,網(wǎng)絡(luò)安全課程的主要內(nèi)容包括: 安全基本知識 應(yīng)用加密學(xué) 協(xié)議層安全 Windows安全(攻擊與防御) Unix/Linux安全(攻擊與防御) 防火墻技術(shù) 入侵監(jiān)測系統(tǒng) 審計(jì)和日志分析 下面分別對每部分知識介紹相應(yīng)的具體內(nèi)容和一些參考書。 一、安全基本知識 這部分的學(xué)習(xí)過

    2024年02月11日
    瀏覽(35)
  • 【網(wǎng)絡(luò)安全入門】學(xué)習(xí)網(wǎng)絡(luò)安全必須知道的100 個(gè)網(wǎng)絡(luò)基礎(chǔ)知識

    【網(wǎng)絡(luò)安全入門】學(xué)習(xí)網(wǎng)絡(luò)安全必須知道的100 個(gè)網(wǎng)絡(luò)基礎(chǔ)知識

    什么是鏈接? 鏈接是指兩個(gè)設(shè)備之間的連接。它包括用于一個(gè)設(shè)備能夠與另一個(gè)設(shè)備通信的電纜類型和協(xié)議。 2 OSI 參考模型的層次是什么? 有 7 個(gè) OSI 層:物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層,會話層,表示層和應(yīng)用層。 3 什么是骨干網(wǎng)? 骨干網(wǎng)絡(luò)是集中的基礎(chǔ)設(shè)施,旨在將

    2024年02月08日
    瀏覽(30)
  • 從零基礎(chǔ)到網(wǎng)絡(luò)安全專家:全網(wǎng)最全的網(wǎng)絡(luò)安全學(xué)習(xí)路線

    網(wǎng)絡(luò)安全知識體系非常廣泛,涉及的領(lǐng)域也非常復(fù)雜,有時(shí)候即使有想法和熱情,也不知道從何入手。 為了幫助那些想要進(jìn)入網(wǎng)絡(luò)安全行業(yè)的小伙伴們更快、更系統(tǒng)地學(xué)習(xí)網(wǎng)絡(luò)安全知識,我制定了這份學(xué)習(xí)路線。本路線覆蓋了網(wǎng)絡(luò)安全的各個(gè)方面,從基礎(chǔ)的計(jì)算機(jī)技術(shù)知識、

    2024年02月01日
    瀏覽(33)
  • 網(wǎng)絡(luò)安全(零基礎(chǔ))自學(xué)

    網(wǎng)絡(luò)安全(零基礎(chǔ))自學(xué)

    一、網(wǎng)絡(luò)安全基礎(chǔ)知識 1.計(jì)算機(jī)基礎(chǔ)知識 了解了計(jì)算機(jī)的硬件、軟件、操作系統(tǒng)和網(wǎng)絡(luò)結(jié)構(gòu)等基礎(chǔ)知識,可以幫助您更好地理解網(wǎng)絡(luò)安全的概念和技術(shù)。 2.網(wǎng)絡(luò)基礎(chǔ)知識 了解了網(wǎng)絡(luò)的結(jié)構(gòu)、協(xié)議、服務(wù)和安全問題,可以幫助您更好地解決網(wǎng)絡(luò)安全的原理和技術(shù)。 3.安全基礎(chǔ)

    2024年02月16日
    瀏覽(18)
  • 網(wǎng)絡(luò)安全基礎(chǔ)詞匯釋義

    資產(chǎn),寬泛的理解是對組織具有價(jià)值的任何東西。在安全領(lǐng)域,通常說的保護(hù)信息資產(chǎn),所指的更多是IT信息系統(tǒng),也包括IT基礎(chǔ)設(shè)施、網(wǎng)絡(luò)、軟硬件、數(shù)據(jù)等。 威脅,是指對資產(chǎn)或組織可能導(dǎo)致負(fù)面結(jié)果的一個(gè)事件的潛在源。威脅的分類方法很多,有直接威脅,如黑客攻擊

    2024年02月11日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包