您好,登錄后才能下訂單哦!
如何使用codecaves對PE文件植入后門代碼,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
小編將介紹使用codecaves對PE文件植入后門代碼。有幾個很好的工具可以幫到你了。比如BackdoorFactory和Shelter將完成相同的工作,甚至繞過一些靜態分析幾個防病毒。
讓我們理解一些術語:
可移植可執行文件(PE)格式是可執行文件,目標代碼和DLL的文件格式,用于32位和64位版本的Windows操作系統。
根據維基百科介紹 :
“Code Cave
是進程內存中的一系列空字節。進程內存中的Code Cave
通常是對代碼的腳本函數一部分的引用,這些函數具有注入自定義指令的能力。例如,如果腳本的內存允許5個字節并且只使用3個字節,則剩余的2個字節可用于向腳本添加外部代碼。“
根據維基百科介紹:
“shellcode是具有payload的一小段代碼。它被稱為”shellcode“
,因為它通常啟動一個命令shell,攻擊者可以通過該shell控制被入侵的機器,所以任何執行類似任務的代碼都可以稱為shellcode
“
讓我們開始吧 ....你可以從這里下載我用過的Putty版本。我將使用Immunity Debugger進行調試。您可以使用任何其他調試器,如Ollydbg。首先,我們需要找到可用的Code Cave,然后插入惡意代碼。您可以添加一個部分或修改現有的部分來使用Code Cave。我使用cave-miner腳本來定位可用的未使用字節。可以看到cave從00445CD5
開始。我將從00445CD6
注入我的shellcode。接下來,我將劫持程序的入口點并將執行流程重定向到我們的shellcode。首先,我們必須使用Lord PE或任何PE頭編輯器工具使.data
部分可執行。完成后,我們復制入口點的前幾條指令并將其保存在記事本中。插入第一條指令JMP 00445CD6
,這可以將執行流程重定向到我們新發現的code cave
。通過JMP指令回復入口點之后,我們需要記錄下哪些指令被覆蓋,因為這些指令需要在以后恢復。現在,讓我們來了解部分指令:
1.PUSHAD 2.PUSHFD 3.Shellcode 4.Stack Allignment(堆棧對齊) 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
以相反的順序從堆棧中彈出值,從而恢復所有寄存器值。PUSHAD
和POPAD
可用于執行通用寄存器的保存和恢復,而無需按下每個寄存器的PUSH和POP。同樣,PUSHFD
和POPFD
用于保存和恢復EFLAGS
寄存器。在PUSHFD指令在 code cave中以十六進制格式和二進制的方式從mstoxic生成一個反向tcp shell代碼。 在shellcode執行之前和shellcode執行之后記下ESP值,以找出差異并對齊堆棧。shellcode執行之前 :shellcode執行之后 - 差值= 0018FF68
- 0018FD6C
現在通過將此值添加到esp來對齊堆棧。恢復后保存新修改的可執行文件并監聽netcat上的反向連接。一旦我開始putty,它就卡住了,除非我關上反向連接。這是問題是因為在msfvenom shellcode中使用了一個名為WaitforSingleObject
的函數。
這有一篇很好的文章關于如何解決這個問題 https://simonuvarov.com/msfvenom-reverse-tcp-waitforsingleobject/
Msfvenom shellcode使用INFINITE
作為dwMilliseconds
參數的值。通過將dwMilliseconds
參數值從-1
設置為0
來修復waitforsingleobject問題(由于我使用NOP替換的dec esi指令)。最后把它修復并保存可執行文件,大功告成 !!!!!!!!!!!!!!!!
一旦打開putty.exe,它就會產生一個反向shell。..Happy Hacking .. :)
看完上述內容,你們掌握如何使用codecaves對PE文件植入后門代碼的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。