真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用codecaves對(duì)PE文件植入后門代碼

如何使用codecaves對(duì)PE文件植入后門代碼,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

為武陟等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及武陟網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站制作、網(wǎng)站建設(shè)、武陟網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

小編將介紹使用codecaves對(duì)PE文件植入后門代碼。有幾個(gè)很好的工具可以幫到你了。比如BackdoorFactory和Shelter將完成相同的工作,甚至繞過(guò)一些靜態(tài)分析幾個(gè)防病毒。

開始

讓我們理解一些術(shù)語(yǔ):

PE文件:

可移植可執(zhí)行文件(PE)格式是可執(zhí)行文件,目標(biāo)代碼和DLL的文件格式,用于32位和64位版本的Windows操作系統(tǒng)。

Code Cave:

根據(jù)維基百科介紹 :

Code Cave是進(jìn)程內(nèi)存中的一系列空字節(jié)。進(jìn)程內(nèi)存中的Code Cave通常是對(duì)代碼的腳本函數(shù)一部分的引用,這些函數(shù)具有注入自定義指令的能力。例如,如果腳本的內(nèi)存允許5個(gè)字節(jié)并且只使用3個(gè)字節(jié),則剩余的2個(gè)字節(jié)可用于向腳本添加外部代碼?!?/blockquote>

Shellcode:

根據(jù)維基百科介紹:

“shellcode是具有payload的一小段代碼。它被稱為”shellcode“,因?yàn)樗ǔ?dòng)一個(gè)命令shell,攻擊者可以通過(guò)該shell控制被入侵的機(jī)器,所以任何執(zhí)行類似任務(wù)的代碼都可以稱為shellcode“    

讓我們開始吧 ....你可以從這里下載我用過(guò)的Putty版本。我將使用Immunity Debugger進(jìn)行調(diào)試。您可以使用任何其他調(diào)試器,如Ollydbg。首先,我們需要找到可用的Code Cave,然后插入惡意代碼。您可以添加一個(gè)部分或修改現(xiàn)有的部分來(lái)使用Code Cave。我使用cave-miner腳本來(lái)定位可用的未使用字節(jié)。如何使用codecaves對(duì)PE文件植入后門代碼可以看到cave從00445CD5開始。我將從00445CD6注入我的shellcode。接下來(lái),我將劫持程序的入口點(diǎn)并將執(zhí)行流程重定向到我們的shellcode。首先,我們必須使用Lord PE或任何PE頭編輯器工具使.data部分可執(zhí)行。完成后,我們復(fù)制入口點(diǎn)的前幾條指令并將其保存在記事本中。如何使用codecaves對(duì)PE文件植入后門代碼插入第一條指令JMP 00445CD6,這可以將執(zhí)行流程重定向到我們新發(fā)現(xiàn)的code cave。通過(guò)JMP指令回復(fù)入口點(diǎn)之后,我們需要記錄下哪些指令被覆蓋,因?yàn)檫@些指令需要在以后恢復(fù)。現(xiàn)在,讓我們來(lái)了解部分指令:

1.PUSHAD
2.PUSHFD
3.Shellcode
4.Stack Allignment(堆棧對(duì)齊)
5.POPFD
6.POPAD
7.RETORE instructions
8.JMP to next instruction(JMP到下一條指令PUSHAD指令)

PUSHAD的用法與寫作是一樣的:

Push EAXPush ECXPush EDXPush EBXPush ESPPush EBPPush ESIPush EDI

POPAD以相反的順序從堆棧中彈出值,從而恢復(fù)所有寄存器值。PUSHADPOPAD可用于執(zhí)行通用寄存器的保存和恢復(fù),而無(wú)需按下每個(gè)寄存器的PUSH和POP。同樣,PUSHFDPOPFD用于保存和恢復(fù)EFLAGS寄存器。在PUSHFD指令在 code cave中以十六進(jìn)制格式和二進(jìn)制的方式從mstoxic生成一個(gè)反向tcp shell代碼。    如何使用codecaves對(duì)PE文件植入后門代碼在shellcode執(zhí)行之前和shellcode執(zhí)行之后記下ESP值,以找出差異并對(duì)齊堆棧。shellcode執(zhí)行之前 :如何使用codecaves對(duì)PE文件植入后門代碼shellcode執(zhí)行之后 - 如何使用codecaves對(duì)PE文件植入后門代碼差值= 0018FF68- 0018FD6C如何使用codecaves對(duì)PE文件植入后門代碼現(xiàn)在通過(guò)將此值添加到esp來(lái)對(duì)齊堆棧。如何使用codecaves對(duì)PE文件植入后門代碼如何使用codecaves對(duì)PE文件植入后門代碼恢復(fù)后保存新修改的可執(zhí)行文件并監(jiān)聽netcat上的反向連接。如何使用codecaves對(duì)PE文件植入后門代碼一旦我開始putty,它就卡住了,除非我關(guān)上反向連接。這是問(wèn)題是因?yàn)樵趍sfvenom shellcode中使用了一個(gè)名為WaitforSingleObject的函數(shù)。

這有一篇很好的文章關(guān)于如何解決這個(gè)問(wèn)題 https://simonuvarov.com/msfvenom-reverse-tcp-waitforsingleobject/ 

Msfvenom shellcode使用INFINITE作為dwMilliseconds參數(shù)的值。通過(guò)將dwMilliseconds參數(shù)值從-1設(shè)置為0來(lái)修復(fù)waitforsingleobject問(wèn)題(由于我使用NOP替換的dec esi指令)。如何使用codecaves對(duì)PE文件植入后門代碼最后把它修復(fù)并保存可執(zhí)行文件,大功告成 !!!!!!!!!!!!!!!!

POC

如何使用codecaves對(duì)PE文件植入后門代碼

最后

一旦打開putty.exe,它就會(huì)產(chǎn)生一個(gè)反向shell。..Happy Hacking .. :) 

看完上述內(nèi)容,你們掌握如何使用codecaves對(duì)PE文件植入后門代碼的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


分享名稱:如何使用codecaves對(duì)PE文件植入后門代碼
分享路徑:http://weahome.cn/article/ggccgp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部