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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Freeze — Freeze is a payload toolkit for bypassing EDRs using suspended processes, direct syscalls, and alternative execution methods | Kitploit
उपकरण/GitHubGitHub/optiv/freeze
Penetration Testing FrameworksExploit FrameworksPayload GenerationIDS/IPS EvasionShellcodePost-ExploitationWAF BypassPenetration TestingRed TeamingShellcode GenerationPayload DevelopmentArchived
1.5k1943 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Freeze

Freeze is a payload toolkit for bypassing EDRs using suspended processes, direct syscalls, and alternative execution methods

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

यह भंडार संग्रहीत कर दिया गया है

Freeze के नवीनतम संस्करण को देखने या कोई समस्या सबमिट करने के लिए, https://github.com/Tylous/Freeze पर जाएं।



Freeze

अधिक जानकारी

यदि आप इस फ्रेमवर्क में उपयोग की गई तकनीकों के बारे में अधिक जानना चाहते हैं, तो कृपया SourceZero Blog देखें।

विवरण

Freeze एक पेलोड निर्माण उपकरण है जिसका उपयोग EDR सुरक्षा नियंत्रणों को दरकिनार करते हुए शेलकोड को गुप्त रूप से निष्पादित करने के लिए किया जाता है। Freeze न केवल यूज़रलैंड EDR हुक्स को हटाने के लिए, बल्कि शेलकोड को इस तरह से निष्पादित करने के लिए भी कई तकनीकों का उपयोग करता है जो अन्य एंडपॉइंट निगरानी नियंत्रणों को दरकिनार करता है।

एक निलंबित प्रक्रिया बनाना

जब कोई प्रक्रिया बनाई जाती है, तो Ntdll.dll पहली DLL होती है जो लोड होती है। ऐसा किसी भी EDR DLL के लोड होने से पहले होता है। इसका मतलब है कि EDR के लोड होने और सिस्टम DLLs की असेंबली को हुक और संशोधित करने शुरू करने से पहले थोड़ी देरी होती है। Ntdll.dll में विंडोज सिस्कॉल्स को देखने पर, हम देख सकते हैं कि अभी तक कुछ भी हुक नहीं किया गया है। यदि हम एक प्रक्रिया को निलंबित अवस्था (समय में जमी हुई) में बनाते हैं, तो हम देख सकते हैं कि Ntdll.dll को छोड़कर कोई अन्य DLL लोड नहीं होती है। आप यह भी देख सकते हैं कि कोई EDR DLL लोड नहीं है, जिसका अर्थ है कि Ntdll.dll में स्थित syscalls अपरिवर्तित हैं।

एड्रेस स्पेस लेआउट रैंडमाइज़ेशन

इस स्वच्छ निलंबित प्रक्रिया का उपयोग Freeze लोडर से हुक्स हटाने के लिए करने के लिए, हमें स्वच्छ निलंबित प्रक्रिया की मेमोरी को प्रोग्रामेटिक रूप से खोजने और पढ़ने का एक तरीका चाहिए। यह वह जगह है जहाँ एड्रेस स्पेस लेआउट रैंडमाइज़ेशन (ASLR) काम आता है। ASLR एक सुरक्षा तंत्र है जो स्टैक मेमोरी करप्शन-आधारित कमजोरियों को रोकने के लिए है। ASLR एक प्रक्रिया के अंदर एड्रेस स्पेस को रैंडमाइज़ करता है, ताकि यह सुनिश्चित किया जा सके कि सभी मेमोरी-मैप की गई वस्तुएं, स्टैक, हीप, और निष्पादन योग्य प्रोग्राम स्वयं अद्वितीय हों। अब, यह वह जगह है जहाँ यह दिलचस्प हो जाता है क्योंकि जबकि ASLR काम करता है, यह स्थिति-स्वतंत्र कोड जैसे DLLs के लिए काम नहीं करता है। DLLs (विशेष रूप से ज्ञात सिस्टम DLLs) के साथ क्या होता है कि एड्रेस स्पेस बूट समय पर एक बार रैंडमाइज़ किया जाता है। इसका मतलब है कि हमें अपने ntdll.dll का बेस एड्रेस खोजने के लिए रिमोट प्रक्रिया की जानकारी को एन्यूमरेट करने की आवश्यकता नहीं है क्योंकि यह सभी प्रक्रियाओं में समान है, जिसमें वह प्रक्रिया भी शामिल है जिसे हम नियंत्रित करते हैं। चूँकि प्रत्येक DLL का पता प्रति बूट एक ही स्थान पर होता है, हम इस जानकारी को अपनी प्रक्रिया से प्राप्त कर सकते हैं और कभी भी निलंबित प्रक्रिया को एन्यूमरेट करने की आवश्यकता नहीं है ताकि पता मिल सके।

इस जानकारी के साथ, हम किसी प्रक्रिया की मेमोरी पढ़ने के लिए API ReadProcessMemory का उपयोग कर सकते हैं। यह API कॉल आमतौर पर किसी भी क्रेडेंशियल-आधारित हमले के हिस्से के रूप में LSASS को पढ़ने से जुड़ा होता है; हालाँकि, अपने आप में यह स्वाभाविक रूप से दुर्भावनापूर्ण नहीं है, खासकर यदि हम केवल मेमोरी का एक मनमाना भाग पढ़ रहे हैं। ReadProcessMemory को केवल तभी संदिग्ध के रूप में चिह्नित किया जाएगा जब आप कुछ ऐसा पढ़ रहे हों जो आपको नहीं पढ़ना चाहिए (जैसे LSASS की सामग्री)। EDR उत्पादों को कभी भी इस तथ्य को ध्वजांकित नहीं करना चाहिए कि ReadProcessMemory को कॉल किया गया था, क्योंकि इस फ़ंक्शन के वैध परिचालन उपयोग हैं और इसके परिणामस्वरूप कई झूठी सकारात्मकता होगी।

हम इसे एक कदम आगे ले जा सकते हैं केवल Ntdll.dll के उस भाग को पढ़कर जहाँ सभी syscalls संग्रहीत हैं - इसका .text सेक्शन, पूरी DLL को पढ़ने के बजाय।

इन तत्वों को मिलाकर, हम प्रोग्रामेटिक रूप से Ntdll.dll के .text सेक्शन की एक प्रतिलिपि प्राप्त कर सकते हैं ताकि शेलकोड निष्पादित करने से पहले अपने मौजूदा हुक किए गए .text सेक्शन को ओवरराइट किया जा सके।

ETW पैचिंग

ETW इस टेलीमेट्री को उत्पन्न करने के लिए अंतर्निहित syscalls का उपयोग करता है। चूँकि ETW भी विंडोज में निर्मित एक मूल सुविधा है, सुरक्षा उत्पादों को जानकारी तक पहुँचने के लिए ETW syscalls को "हुक" करने की आवश्यकता नहीं है। परिणामस्वरूप, ETW को रोकने के लिए, Freeze कई ETW syscalls को पैच करता है, रजिस्टरों को फ्लश करता है और निष्पादन प्रवाह को अगले निर्देश पर लौटाता है। ETW पैचिंग अब सभी लोडरों में डिफ़ॉल्ट है।

शेलकोड

चूँकि केवल Ntdll.dll बहाल किया गया है, शेलकोड निष्पादित करने के लिए सभी बाद के कॉल Ntdll.dll में रहने चाहिए। Go का उपयोग करके (ध्यान दें कि आप इसे अन्य भाषाओं में कर सकते हैं लेकिन Go में, इसे लागू करना काफी आसान है) हम शेलकोड को आवंटित, लिखने और सुरक्षित करने के लिए आवश्यक NT syscalls को परिभाषित और कॉल कर सकते हैं, जो kernel32d.dll और Kernelbase.dll में स्थित मानक कॉलों को छोड़ते हुए, क्योंकि ये अभी भी हुक हो सकते हैं।

योगदान

Freeze को Golang में विकसित किया गया था।

स्थापना

Freeze को स्थापित करने के लिए, निम्नलिखित कमांड चलाएँ, या संकलित बाइनरी का उपयोग करें:

root@kitploit:~
go build Freeze.go

सहायता

root@kitploit:~
        ___________                                    
        \_   _____/______   ____   ____ ________ ____  
         |    __) \_  __ \_/ __ \_/ __ \\___   // __ \ 
         |     \   |  | \/\  ___/\  ___/ /    /\  ___/ 
         \___  /   |__|    \___  >\___  >_____ \\___  >
             \/                \/     \/      \/    \/ 
                                        (@Tyl0us)
        जल्द ही वे सीखेंगे कि बदला एक ऐसा व्यंजन है... जो ठंडा परोसा जाता है...
                 
./Freeze का उपयोग:
  -I स्ट्रिंग
        कच्चे 64-बिट शेलकोड का पथ।
  -O स्ट्रिंग
        आउटपुट फ़ाइल का नाम (जैसे loader.exe या loader.dll)। परिभाषित फ़ाइल एक्सटेंशन के आधार पर यह निर्धारित होगा कि Freeze dll या exe बनाता है या नहीं।
  -console
        केवल बाइनरी पेलोड के लिए - पेलोड निष्पादित होने पर वर्बोज़ कंसोल जानकारी उत्पन्न करता है। यह छिपी हुई विंडो सुविधा को अक्षम कर देगा।
  -encrypt
        AES 256 एन्क्रिप्शन का उपयोग करके शेलकोड को एन्क्रिप्ट करता है
  -export स्ट्रिंग
        केवल DLL लोडर के लिए - लोडर के लिए एक विशिष्ट एक्सपोर्ट फ़ंक्शन निर्दिष्ट करें।
  -process स्ट्रिंग
        स्पॉन करने की प्रक्रिया का नाम। यह प्रक्रिया C:\Windows\System32\ में मौजूद होनी चाहिए। उदाहरण 'notepad.exe' (डिफ़ॉल्ट "notepad.exe")
  -sandbox
        जाँच करके सैंडबॉक्स से बचाव सक्षम करता है:
                क्या एंडपॉइंट किसी डोमेन से जुड़ा है?
                क्या एंडपॉइंट में 2 से अधिक CPU हैं?
                क्या एंडपॉइंट में 4 गीगाबाइट से अधिक RAM है?
  -sha256
        लोडरों का SHA256 मान प्रदान करता है (यह ट्रैकिंग के लिए उपयोगी है)

बाइनरी बनाम DLL

Freeze या तो .exe या .dll फ़ाइल उत्पन्न कर सकता है। इसे निर्दिष्ट करने के लिए, सुनिश्चित करें कि -O कमांड लाइन विकल्प बाइनरी के लिए .exe या dll के लिए .dll में समाप्त होता है। वर्तमान में किसी अन्य फ़ाइल प्रकार का समर्थन नहीं किया जाता है। DLL फ़ाइलों के मामले में, Freeze अतिरिक्त एक्सपोर्ट कार्यक्षमता भी जोड़ सकता है। ऐसा करने के लिए -export का उपयोग विशिष्ट एक्सपोर्ट फ़ंक्शन नाम के साथ करें।

कंसोल

Freeze एक तकनीक का उपयोग करता है जहाँ पहले प्रक्रिया बनाई जाती है और फिर इसे पृष्ठभूमि में ले जाया जाता है। यह दो काम करता है - पहला, यह प्रक्रिया को छिपाने में मदद करता है, और दूसरा, किसी भी EDR उत्पाद द्वारा पता लगाए जाने से बचाता है। प्रक्रिया को तुरंत पृष्ठभूमि में स्पॉन करना बहुत संदिग्ध हो सकता है और दुर्भावनापूर्णता का संकेत हो सकता है। Freeze ऐसा प्रक्रिया बनने और EDR के हुक लोड होने के बाद 'GetConsoleWindow' और 'ShowWindow' विंडोज फ़ंक्शन को कॉल करके, और फिर विंडो विशेषताओं को छिपा हुआ में बदलकर करता है। Freeze इन API का उपयोग पारंपरिक -ldflags -H=windowsgui के बजाय करता है, क्योंकि यह अत्यधिक हस्ताक्षरित है और अधिकांश सुरक्षा उत्पादों में समझौता के संकेतक के रूप में वर्गीकृत है।

यदि -console कमांड-लाइन विकल्प चुना जाता है, तो Freeze प्रक्रिया को पृष्ठभूमि में नहीं छिपाएगा। इसके बजाय, Freeze कई डीबग संदेश जोड़ेगा जो दिखाते हैं कि लोडर क्या कर रहा है।

श्रेय

  • AlternativeShellcodeExec विकसित करने के लिए aahmad097 को विशेष धन्यवाद

  • Garble विकसित करने के लिए mvdan को विशेष धन्यवाद

टूल डाउनलोड करें