中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

設計網(wǎng)站的元素萬網(wǎng)域名管理入口

設計網(wǎng)站的元素,萬網(wǎng)域名管理入口,中國住房和城鄉(xiāng)建設網(wǎng)官網(wǎng),你的網(wǎng)站賺錢嗎#C2遠控-ShellCode-認知&環(huán)境 1.創(chuàng)建工程時關閉SDL檢查 2.屬性->C/C->代碼生成->運行庫->多線程 (/MT)如果是debug則設置成MTD 3.屬性->C/C->代碼生成->禁用安全檢查GS 4.關閉生成清單 屬性->鏈接器->清單文件->生成清單 選擇否 #C2遠控…

#C2遠控-ShellCode-認知&環(huán)境

1.創(chuàng)建工程時關閉SDL檢查

2.屬性->C/C++->代碼生成->運行庫->多線程 (/MT)如果是debug則設置成MTD

3.屬性->C/C++->代碼生成->禁用安全檢查GS

4.關閉生成清單 屬性->鏈接器->清單文件->生成清單 選擇否

#C2遠控-ShellCode-分析&提取

ShellCode的本質(zhì)其實就是一段可以自主運行的代碼。

它沒有任何文件結構,它不依賴任何編譯環(huán)境,無法像exe一樣雙擊運行,

因此需要通過控制程序流程跳轉到shellcode地址加載上去執(zhí)行shellcode。

目的:殺毒和感知平臺如何定性

分析:OD&xdb&ida

提取:010Editor

加載:各種Loader方法執(zhí)行

流程:ShellCode->Loader->EXE

思路:

1、Shellcode自寫打亂-殺毒不認識

2、Shellcode加密混淆-殺毒不知道

3、Shellcode分離隱藏-殺毒找不到

4、Shellcode注入回調(diào)-殺毒繞圈圈

內(nèi)存免殺是將shellcode直接加載進內(nèi)存,由于沒有文件落地,因此可以繞過文件掃描策略的查殺。為了使內(nèi)存免殺的效果更好,在申請內(nèi)存時一般采用漸進式申請一塊可讀寫內(nèi)存,在運行時改為可執(zhí)行,在執(zhí)行的時候遵循分離免殺的思想。分離免殺包含對特征和行為的分離兩個維度,把shellcode從放在程序轉移到加載進內(nèi)存,把整塊的ShellCode通過分塊傳輸?shù)姆椒ㄉ蟼魅缓笤倨唇?#xff0c;這些體現(xiàn)了基本的"分離"思想。

補充:

編輯器設置 VS

https://mp.weixin.qq.com/s/UJlVvagNjmy9E-B-XjBHyw

編譯器差異 G++ GCC

https://blog.csdn.net/weixin_41012767/article/details/129365597

突破內(nèi)存掃描

項目參考:https://github.com/wangfly-me/LoaderFly

??C2遠控-Loader加載器-動態(tài)API

->繞過殺毒對導入表的檢測定性

例:動態(tài)調(diào)用VirtualProtect

typedef BOOL(WINAPI* vp)(

LPVOID ?????Address,

DWORD ??????size,

DWORD ??????New,

PDWORD ?????Old

);

vp vip = (vp)GetProcAddress(

GetModuleHandleA("Kernel32.dll"),

"VirtualProtect"

);

演示:對回調(diào)loader進行某函數(shù)動態(tài)API加載

typedef LPVOID(WINAPI* VAlloc)(

????LPVOID ?????lpAddress,

????SIZE_T ?????dwSize,

????DWORD ??????flAllocationType,

????DWORD ??????flProtect

????);

VAlloc VAlloc = (VAlloc)GetProcAddress(

????GetModuleHandleA("Kernel32.dll"),

????"VirtualAlloc"

);

??C2遠控-Loader加載器-InlineHook

->繞過殺毒對內(nèi)存掃描檢測定性

InlineHook又稱為內(nèi)聯(lián)Hook,是一種強大而又靈活的Hook技術。

Inline Hook的主要思想就是直接修改目標函數(shù)的代碼,

通常是在目標函數(shù)的開頭插入一個跳轉指令(jmp)。

這個跳轉指令會將程序的執(zhí)行流跳轉到我們自定義的函數(shù)中。

實現(xiàn)方式:

X86

// 方式一,使用jmp相對地址跳轉

jmp <相對地址> ??; E9 <相對地址>

// 方式二,使用寄存器jmp絕對地址跳轉

mov eax, <絕對地址> ??; B8 <絕對地址>

jmp eax ????????????; FF E0

// 方式三,使用push ret絕對地址跳轉

push <絕對地址> ??; 68 <絕對地址>

ret ????????????; C3

X64

// 方式二,使用寄存器jmp絕對地址跳轉

mov r12, <絕對地址> ??; 49 BC <絕對地址>

jmp r12 ????????????; 41 FF E4

// 方式三,使用push ret絕對地址跳轉

mov r12, <絕對地址> ??; 49 BC <絕對地址>

push r12 ????????????; 41 54 <絕對地址>

ret ????????????????; C3

注意事項

1.E9方式替換5個字節(jié),B8方式替換7個字節(jié)。

2.原函數(shù)的內(nèi)存保護屬性在代碼替換后要進行恢復,不然可能導致hook不成功。

3.保證原函數(shù)可正常運行,需在hook執(zhí)行目標函數(shù)中執(zhí)行原函數(shù)并返回值進行返回。

4.為了保證下次原函數(shù)被調(diào)用時繼續(xù)執(zhí)行hook,所以在執(zhí)行完原函數(shù)后再次進行替換使得下次原函數(shù)被調(diào)用時再次進入hook函數(shù)。

拓展技術:

API hook大致有以下幾種方式:

1、Inline hook,應用層的注入hook,通過在內(nèi)存中找到想要hook函數(shù)地址,并在其之前加入自己構造的跳轉指令,當被hook位置執(zhí)行時,便可以跳轉到hook使用者自己編寫的執(zhí)行代碼,在其執(zhí)行完畢后,還原被修改的字節(jié),接著執(zhí)行正常流程。

2、IAT hook,導入表hook,通過修改導入表中某函數(shù)的地址到自己補丁函數(shù)來實現(xiàn)。

3、SSDT hook,內(nèi)核層的hook技術,通過修改系統(tǒng)服務表中某個服務函數(shù)的地址到自己的補丁函數(shù)來實現(xiàn)。

4、IRP hook,內(nèi)核層的hook技術,通過修改IRP結構體中某個成員變量指向自己的補丁函數(shù)來實現(xiàn)。

例子:

SetHook->MessageBoxA->MyMessageBoxA

??C2遠控-DF-動態(tài)調(diào)用&InlineHook&混淆

1動態(tài)調(diào)用:

typedef BOOL(WINAPI* Write)(

HANDLE ?????hprocess,

LPVOID ?????BaseAddr,

LPCVOID ????BUffer,

SIZE_T ?????Size,

SIZE_T* NumberOfBytes

);

Write Writer = (Write)GetProcAddress(

GetModuleHandleA("Kernel32.dll"),

"WriteProcessMemory"

);

typedef BOOL(WINAPI* vp)(

LPVOID ?????Address,

DWORD ??????size,

DWORD ??????New,

PDWORD ?????Old

);

vp vip = (vp)GetProcAddress(

GetModuleHandleA("Kernel32.dll"),

"VirtualProtect"

);

2、InlineHook

->OpenProcess函數(shù)進行InlineHook

//這里是獲取我們需要hook的api的地址,我們這里是hook OpenProcess這個api

hookFunc = GetProcAddress(GetModuleHandleA("Kernel32.dll"), "OpenProcess");

//這里構建jmp指令

Newbyte[0] = '\xE9';

//這里加1是為了不把jmp給覆蓋,然后把偏移地址賦值到NewByte中

*(DWORD*)(Newbyte + 1) = (DWORD)FuncAddr - (DWORD)hookFunc - 5;

//這里就是把定義好的跳轉指令寫入到我們需要hook的api的前5個字節(jié)中

Writer(GetCurrentProcess(), hookFunc, Newbyte, 5, &d);

//這個api作用是利用第一個參數(shù)(回調(diào)函數(shù))來執(zhí)行我們修改了前5個字節(jié)的api

EnumSystemLanguageGroupsA((LANGUAGEGROUP_ENUMPROCA)hookFunc, LGRPID_INSTALLED, NULL);

??C2遠控-卡巴-動態(tài)調(diào)用&InlineHook&沙箱

一種規(guī)避殺軟檢測的技術就是內(nèi)存加密技術。由于殺軟并不是一直掃描內(nèi)存,而是間隙性的掃描敏感內(nèi)存,因此可以在cs的shellcode調(diào)用sleep休眠將可執(zhí)行內(nèi)存區(qū)域加密,在休眠結束時再將內(nèi)存解密來規(guī)避殺軟內(nèi)存掃描達到免殺的目的。基于以上原理,結合想法進行了實現(xiàn),成功實現(xiàn)動態(tài)免殺火絨、360、defender、卡巴等

參考:https://mp.weixin.qq.com/s/nD7RLhPpBC9Gqg_c1glNzQ

http://www.risenshineclean.com/news/45332.html

相關文章:

  • 做網(wǎng)站需要多少固定帶寬seo人才網(wǎng)
  • 下載網(wǎng)上國網(wǎng)app汕頭seo收費
  • 彩票網(wǎng)站開發(fā)風險國外網(wǎng)站制作
  • 新疆所有的網(wǎng)站百度知道客服
  • 一些網(wǎng)站是用什么顏色做的怎么申請建立網(wǎng)站
  • 網(wǎng)站開發(fā)設計實訓 報告蘇州seo關鍵詞優(yōu)化方法
  • 鹽城有沒有做網(wǎng)站嗎湖南專業(yè)的關鍵詞優(yōu)化
  • 鎮(zhèn)江網(wǎng)站制作優(yōu)化老哥們給個關鍵詞
  • 怎樣做化妝品公司網(wǎng)站百度產(chǎn)品大全首頁
  • it運維工程師證書湖北seo
  • htm網(wǎng)站模板上海公司網(wǎng)站seo
  • 誰教我做啊誰會做網(wǎng)站啊整站排名服務
  • wordpress 查看訪客站長工具seo綜合查詢源碼
  • 百度云盤做網(wǎng)站空間百度上怎么打廣告宣傳
  • 紹興市中等專業(yè)學校網(wǎng)站軟文外鏈代發(fā)
  • 開發(fā)企業(yè)門戶網(wǎng)站友情鏈接賺錢
  • 中組部兩學一做網(wǎng)站如何建網(wǎng)站教程
  • 安徽 網(wǎng)站制作線上推廣平臺
  • jsp網(wǎng)站建設期末作業(yè)廣州疫情最新情況
  • 網(wǎng)站建設5000費用運營網(wǎng)站
  • 長春網(wǎng)站建設 信賴吉網(wǎng)傳媒什么是競價推廣
  • wordpress自定義主頁廣告優(yōu)化師發(fā)展前景
  • 網(wǎng)站做指向是什么意思合肥做網(wǎng)站哪家好
  • 做中學網(wǎng)站企業(yè)宣傳冊
  • 買的網(wǎng)站模板怎么做成都seo學徒
  • 網(wǎng)站建設和管理河南百度推廣代理商
  • 廣州視頻網(wǎng)站建站公司知識營銷
  • wordpress小程序教程免費網(wǎng)站seo
  • 怎么樣建立一個網(wǎng)站百度一下 你就知道首頁官網(wǎng)
  • 便宜做網(wǎng)站的公司靠譜嗎國家免費職業(yè)技能培訓官網(wǎng)