Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Hollow — एक शेलकोड लोडर जनरेटर जो कई इंजेक्शन तकनीकों का समर्थन करता है, रेड टीम अभियानों के लिए बनाया गया। | Kitploit
उपकरण/GitHubGitHub/chaelsoo/hollow
एन्क्रिप्शन/डिक्रिप्शन उपकरणपेलोड जनरेशनशोषणआईडीएस/आईपीएस से बचनाशेलकोडपेनिट्रेशन टेस्टिंगरेड टीमिंगशेलकोड जनरेशनपेलोड डेवलपमेंटबाइनरी शोषण
GitHubchaelsoo/hollow

Hollow

99251 महीना पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

एक शेलकोड लोडर जनरेटर जो कई इंजेक्शन तकनीकों का समर्थन करता है, रेड टीम अभियानों के लिए बनाया गया।

रिपॉजिटरी देखें

हॉलो

हॉलो एक शेलकोड लोडर जनरेटर है। आप इसे एक रॉ शेलकोड बाइनरी और एक प्रोफ़ाइल देते हैं, और यह एक संकलित विंडोज पीई लोडर आउटपुट करता है जिसमें आपका शेलकोड एन्क्रिप्टेड होता है।

शुरू करना

बाइनरी रिलीज़ पेज पर उपलब्ध हैं, या स्रोत से बिल्ड करें:

root@kitploit:~
go build -o hollow .

क्रॉस-कम्पाइलेशन के लिए x86_64-w64-mingw32-gcc की आवश्यकता है।

आर्क लिनक्स पर: pacman -S mingw-w64-gcc डेबियन/उबंटू पर: apt install gcc-mingw-w64-x86-64

उपयोग

root@kitploit:~
./hollow -shellcode payload.bin -profile profiles/new_process_injection_sc.json
फ़्लैगविवरण
-shellcodeरॉ शेलकोड (.bin) का पथ
-profileप्रोफ़ाइल JSON फ़ाइल का पथ
-templatesटेम्पलेट्स निर्देशिका (डिफ़ॉल्ट: ./templates)

यह कैसे काम करता है?

हॉलो तीन-चरणीय पाइपलाइन का अनुसरण करता है: एन्क्रिप्ट, सब्स्टीट्यूट, कम्पाइल।

आपका शेलकोड हर रन पर बेतरतीब ढंग से जनरेट की गई कुंजी और IV के साथ AES-256-CBC से एन्क्रिप्ट किया जाता है। दोनों आउटपुट बाइनरी के अंदर एम्बेड होते हैं। चयनित C टेम्पलेट में इसके प्लेसहोल्डर्स को एन्क्रिप्टेड शेलकोड, कुंजी और IV से बदल दिया जाता है, और परिणाम MinGW द्वारा एक स्ट्रिप्ड, स्टैटिकली लिंक्ड PE में संकलित किया जाता है।

रनटाइम पर, लोडर विंडोज BCrypt का उपयोग करके शेलकोड को डिक्रिप्ट करता है और इसे उस इंजेक्शन तकनीक का उपयोग करके निष्पादित करता है जो टेम्पलेट लागू करता है।

टेम्पलेट्स

टेम्पलेट्स C स्रोत फ़ाइलें हैं जो वास्तविक इंजेक्शन लॉजिक को लागू करती हैं। प्रत्येक templates/ में रहता है और इसमें प्लेसहोल्डर टोकन (${SHELLCODE}, ${KEY}, ${IV}, ${TARGET_PROCESS}) होते हैं जिन्हें हॉलो संकलन से पहले भरता है। आप अपनी प्रोफ़ाइल के माध्यम से एक टेम्पलेट चुनते हैं।

हॉलो छह टेम्पलेट्स के साथ आता है:

आप अपने स्वयं के टेम्पलेट लिख सकते हैं और उन्हें templates/ में डाल सकते हैं — हॉलो उन्हें स्वचालित रूप से उठा लेगा जब तक आपकी प्रोफ़ाइल उनकी ओर इशारा करती है।

प्रोफ़ाइल्स

प्रोफ़ाइल्स JSON फ़ाइलें हैं जो हॉलो को बताती हैं कि कौन सा टेम्पलेट उपयोग करना है, किस प्रक्रिया को लक्षित करना है, और आउटपुट कैसे संकलित करना है। ये profiles/ में रहते हैं और प्रति एंगेजमेंट अनुकूलित करने के लिए होते हैं।

root@kitploit:~
{
    "name": "New Process Injection via Direct Syscalls",
    "author": "",
    "template": "new_process_injection_sc",
    "target_process": "C:\\Windows\\System32\\cmd.exe",
    "arch": "x64",
    "compile": {
        "automatic": true,
        "gcc": "x86_64-w64-mingw32-gcc",
        "strip": true,
        "output_type": "exe"
    },
    "output_dir": "./output"
}

output_type या तो exe या dll है। automatic: false सेट करने पर संकलन के बजाय प्रतिस्थापित C स्रोत को डिस्क पर डंप करता है, जो कोड को बनाने से पहले संशोधित करने के लिए उपयोगी है।

आउटपुट फ़ाइल output_dir में लिखी जाती है, जिसका नाम {template}_loader.{exe|dll} है।

विस्तार से टेम्पलेट्स

न्यू प्रोसेस इंजेक्शन

टेम्पलेट: new_process_injection

तकनीक: ताज़ा स्पॉन की गई प्रक्रिया में रिमोट थ्रेड इंजेक्शन।

लक्ष्य प्रक्रिया को CREATE_BREAKAWAY_FROM_JOB | CREATE_NO_WINDOW के साथ स्पॉन करता है, इसके आरंभीकरण के लिए दो सेकंड प्रतीक्षा करता है, फिर उसके एड्रेस स्पेस में मेमोरी आवंटित करता है, डिक्रिप्टेड शेलकोड लिखता है, इसे निष्पादन योग्य चिह्नित करता है, और उस पर इंगित एक रिमोट थ्रेड बनाता है। BREAKAWAY ध्वज की आवश्यकता तब होती है जब लोडर WinRM से लॉन्च किया जाता है, जो सभी प्रक्रियाओं को एक जॉब ऑब्जेक्ट में लपेटता है। लक्ष्य एक पूर्ण निष्पादन योग्य पथ है।

Win32 कॉल: CreateProcessA, VirtualAllocEx, WriteProcessMemory, VirtualProtectEx, CreateRemoteThread।


डायरेक्ट सिस्कॉल्स के माध्यम से न्यू प्रोसेस इंजेक्शन

टेम्पलेट: new_process_injection_sc

तकनीक: ताज़ा स्पॉन की गई प्रक्रिया में रिमोट थ्रेड इंजेक्शन, डायरेक्ट सिस्कॉल्स (हेल्स गेट) के माध्यम से।

new_process_injection के समान व्यवहार, लेकिन हर आवंटन और थ्रेडिंग कॉल Win32 परत को पूरी तरह से बायपास करता है। SSN रनटाइम पर ntdll से हल किए जाते हैं और रॉ syscall निर्देश के माध्यम से निष्पादित किए जाते हैं। बेंचमार्क अनुभाग देखें।


रिमोट थ्रेड इंजेक्शन

टेम्पलेट: remote_thread_injection

तकनीक: मौजूदा प्रक्रिया में क्लासिक रिमोट थ्रेड इंजेक्शन।

CreateToolhelp32Snapshot का उपयोग करके नाम से एक चल रही प्रक्रिया ढूंढता है, उसके लिए एक हैंडल खोलता है, फिर मेमोरी आवंटित करता है, शेलकोड लिखता है, और एक रिमोट थ्रेड बनाता है। कोई नई प्रक्रिया स्पॉन नहीं की जाती है। explorer.exe जैसी लंबे समय तक चलने वाली प्रक्रियाओं के खिलाफ सबसे अच्छा उपयोग किया जाता है। लक्ष्य एक प्रक्रिया इमेज नाम है, पूर्ण पथ नहीं।

Win32 कॉल: OpenProcess, VirtualAllocEx, WriteProcessMemory, VirtualProtectEx, CreateRemoteThread।


डायरेक्ट सिस्कॉल्स के माध्यम से रिमोट थ्रेड इंजेक्शन

टेम्पलेट: remote_thread_injection_sc

तकनीक: मौजूदा प्रक्रिया में क्लासिक रिमोट थ्रेड इंजेक्शन, डायरेक्ट सिस्कॉल्स (हेल्स गेट) के माध्यम से।

remote_thread_injection के समान व्यवहार, Win32 परत को बायपास करता है। बेंचमार्क अनुभाग देखें।


अर्ली बर्ड APC इंजेक्शन

टेम्पलेट: earlybird_apc

तकनीक: अर्ली बर्ड APC इंजेक्शन (CyberArk, 2018)।

लक्ष्य प्रक्रिया को निलंबित स्थिति में स्पॉन करता है (CREATE_SUSPENDED | CREATE_BREAKAWAY_FROM_JOB | CREATE_NO_WINDOW), डिक्रिप्टेड शेलकोड को इसके एड्रेस स्पेस में लिखता है, फिर QueueUserAPC के माध्यम से मुख्य थ्रेड में शेलकोड पर इंगित एक एसिंक्रोनस प्रोसीजर कॉल (APC) को कतारबद्ध करता है, और ResumeThread के साथ रिज्यूम करता है। क्योंकि APC प्रक्रिया एंट्री पॉइंट चलने से पहले फायर करता है, शेलकोड प्रक्रिया में किसी भी डिफेंसिव टूलिंग के आरंभ होने से पहले निष्पादित होता है। यह VirtualAllocEx + WriteProcessMemory + CreateRemoteThread ट्रायड को पूरी तरह से टालता है।


DLL साइडलोड

टेम्पलेट: dll_sideload

तकनीक: DLL साइडलोडिंग / इन-प्रोसेस शेलकोड निष्पादन।

EXE के बजाय एक DLL उत्पन्न करता है। DLL_PROCESS_ATTACH पर, एक थ्रेड स्पॉन किया जाता है जो शेलकोड को इन-प्रोसेस डिक्रिप्ट और निष्पादित करता है: VirtualAlloc, memcpy, VirtualProtect, फिर शेलकोड में सीधा फंक्शन कॉल। होस्ट प्रक्रिया को तब तक जीवित रहना चाहिए जब तक पेलोड आरंभ न हो जाए (Sliver बीकन के लिए लगभग 10 सेकंड)। DLL को ऐसे स्थान पर रखकर तैनात करें जहां एक वैध बाइनरी इसे लापता DLL खोज पथ प्रविष्टि के माध्यम से लोड करेगी।


बेंचमार्क: Win32 बनाम डायरेक्ट सिस्कॉल्स

विंडोज 10 बिल्ड 19041 पर परीक्षण किया गया, विंडोज डिफेंडर रियलटाइम सुरक्षा सक्षम, परिभाषाएँ 1.453.354.0, पेलोड के रूप में 17 MB डोनट-रैप्ड Sliver बीकन के साथ:

Trojan:Win64/AsyncRat.RPY!MTB एक मशीन-थ्रेट-व्यवहार नियम है जो क्लासिक रिमोट इंजेक्शन अनुक्रम द्वारा ट्रिगर होता है: Win32 API परत के माध्यम से रिमोट प्रक्रिया हैंडल पर VirtualAllocEx + WriteProcessMemory + CreateRemoteThread कॉल किया जाता है। डिफेंडर एक कर्नेल कॉलबैक पंजीकृत करता है जो तब फायर करता है जब ये तीन कॉल अनुक्रम में दिखाई देते हैं।

_sc टेम्पलेट उन Win32 फंक्शन को कभी कॉल न करके इससे बचते हैं। इसके बजाय, वे हेल्स गेट का उपयोग करके रनटाइम पर ntdll से सीधे संबंधित कर्नेल सिस्कॉल सर्विस नंबर (SSN) हल करते हैं: प्रत्येक अनहुक्ड ntdll स्टब चार-बाइट प्रोलॉग 4C 8B D1 B8 से शुरू होता है, और SSN ऑफसेट 4 पर बैठता है। वास्तविक syscall एक GCC नेकेड फंक्शन है जिसमें केवल movq %rcx, %r10 / movl ssn(%rip), %eax / syscall / ret होता है, जो ठीक वही अनुक्रम है जो ntdll स्टब स्वयं निष्पादित करेगा। डिफेंडर का कॉलबैक कभी फायर नहीं होता क्योंकि मॉनिटर किए गए Win32 रैपर कभी आह्वान नहीं किए जाते।

उन सिस्टमों पर जहां ntdll स्टब्स को पूर्ण EDR द्वारा पैच किया जाता है (प्रोलॉग को जंप से बदल दिया जाता है), साफ-स्टब जाँच विफल हो जाती है और लोडर जल्दी बाहर निकल जाता है। हेलो गेट (SSN का अनुमान लगाने के लिए पड़ोसी स्टब्स को स्कैन करना) लागू नहीं किया गया है।

बाइनरी आकार

लोडर कोड लगभग 19 KB ओवरहेड जोड़ता है। आउटपुट का आकार मूलतः इनपुट शेलकोड के आकार के बराबर है। 17 MB Sliver बीकन 18 MB लोडर उत्पन्न करता है। एक विशिष्ट Metasploit शेलकोड (~200 KB) लगभग ~220 KB लोडर उत्पन्न करेगा।

योगदान

योगदान का स्वागत है। यदि आपके पास एक टेम्पलेट है जो आपने लिखा है और इसे जोड़ना चाहते हैं, या मौजूदा टेम्पलेट्स में सुधार, तो बेझिझक PR खोलें। यदि आपको कोई बग मिलता है या कोई सुझाव है, तो एक मुद्दा खोलें।

इस उपकरण का लक्ष्य लोडर विकास प्रक्रिया को आसान बनाना है, न कि एक तैयार उत्पाद होना। नए टेम्पलेट, बेहतर प्रोफ़ाइल और कोर में सुधार सभी स्वीकार्य हैं। हॉलो को शेलकोड लोडर और इंजेक्शन तकनीकों के पीछे की अवधारणाओं को समझने में लोगों की मदद करने के इरादे से भी बनाया गया था, इसलिए स्पष्ट और पठनीय टेम्पलेट कोड कार्यक्षमता के समान ही मूल्यवान है।

ब्लॉग

मैं जल्द ही अपने ब्लॉग पर प्रत्येक तकनीक के पीछे की अवधारणाओं और हॉलो के पूर्ण उपयोग के बारे में विस्तार से बताऊंगा। बने रहें।

संदर्भ

  • ldrgen गटारी द्वारा, शेलकोड लोडर डिज़ाइन के लिए प्रेरणा और संदर्भ
टूल डाउनलोड करें
टेम्पलेटतकनीक
new_process_injectionताज़ा स्पॉन की गई प्रक्रिया में रिमोट थ्रेड इंजेक्शन
new_process_injection_scवही, डायरेक्ट सिस्कॉल्स (हेल्स गेट) के माध्यम से
remote_thread_injectionक्लासिक रिमोट थ्रेड इंजेक्शन किसी मौजूदा प्रक्रिया में
remote_thread_injection_scवही, डायरेक्ट सिस्कॉल्स (हेल्स गेट) के माध्यम से
earlybird_apcअर्ली बर्ड APC इंजेक्शन
dll_sideloadDLL साइडलोडिंग, EXE के बजाय DLL उत्पन्न करता है
टेम्पलेटडिफेंडर व्यवहार संबंधी चेतावनीसत्र स्थापित
new_process_injectionTrojan:Win64/AsyncRat.RPY!MTBहाँ
remote_thread_injectionTrojan:Win64/AsyncRat.RPY!MTBहाँ
earlybird_apcकोई नहींहाँ
dll_sideloadकोई नहींहाँ
new_process_injection_scकोई नहींहाँ
remote_thread_injection_scकोई नहींहाँ