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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Pyramid — EDRs के अंध स्थानों में संचालन में सहायक उपकरण | Kitploit
उपकरण/GitHubGitHub/naksyn/pyramid
पोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubnaksyn/pyramid

Pyramid

EDRs के अंध स्थानों में संचालन में सहायक उपकरण

रिपॉजिटरी देखें
775902 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Supported Python versions Twitter

Pyramid

immagine

यह क्या है

Pyramid निम्नलिखित से बना है:

  1. एक Python HTTP/S सर्वर जो एन्क्रिप्टेड फ़ाइलें (chacha, xor) वितरित कर सकता है
  2. Python मॉड्यूल जो आक्रामक टूलिंग जैसे Bloodhound-py, secretsdump, LaZagne, Pythonnet, DonPAPI, pythonmemorymodule, paramiko, pproxy के इन-मेमोरी निर्भरताएँ लोड कर सकते हैं
  3. निश्चित Python निर्भरताएँ (ज़िप फ़ाइलें) जिन्हें मेमोरी में आयात किया जा सकता है
  4. Python क्रैडल जो Pyramid मॉड्यूल को डाउनलोड, डिक्रिप्ट और मेमोरी में निष्पादित कर सकता है

यह क्यों उपयोगी है

Pyramid एक हस्ताक्षरित बाइनरी (जैसे python.exe) से आक्रामक टूलिंग निष्पादित करके, उनकी निर्भरताओं को मेमोरी में आयात करके, पोस्ट-एक्सप्लॉइटेशन कार्यों को एक चालाकीपूर्ण तरीके से करने के लिए उपयोगी है। यह इसलिए संभव है क्योंकि:

  1. Python Embeddable पैकेज एक हस्ताक्षरित Python इंटरप्रेटर प्रदान करता है जिसकी अच्छी प्रतिष्ठा है;
  2. Python के कई वैध अनुप्रयोग हैं, इसलिए python.exe बाइनरी से बहुत अलग टेलीमेट्री आती है क्योंकि इंटरप्रेटर मूल रूप से APIs चलाता है। इसका दुरुपयोग Python.exe प्रक्रिया के भीतर काम करके और python.exe बाइनरी के विशाल "टेलीमेट्री फिंगरप्रिंट" में घुलने-मिलने की कोशिश करके किया जा सकता है।
  3. Python कोड निष्पादन के लिए ऑडिटिंग की कमी है - PEP-578 ने इसे हल करने का प्रयास किया लेकिन स्टॉक python.exe बाइनरी में डिफ़ॉल्ट रूप से ऑडिटिंग क्षमताएँ सक्षम नहीं हैं।
  4. संचालन python.exe के भीतर मूल रूप से Python भाषा का उपयोग करके किया जा सकता है, जैसे कि Python मॉड्यूल को गतिशील रूप से आयात करके आक्रामक उपकरण चलाना और Beacon Object Files (कुछ BOF संशोधनों के बाद) को सीधे python.exe के भीतर निष्पादित करना।

अधिक जानकारी के लिए कृपया DEFCON30 - Adversary village वार्ता "Python vs Modern Defenses" स्लाइड डेक और मेरे ब्लॉग पर यह पोस्ट देखें।

अस्वीकरण

यह उपकरण EDRs के विरुद्ध एक बाईपास रणनीति प्रदर्शित करने के लिए बनाया गया था, जो कुछ ब्लाइंड-स्पॉट धारणाओं पर आधारित है। यह पहले से मौजूद तकनीकों और उपकरणों का एक संयोजन है, जो मेरी जानकारी के अनुसार एक नए तरीके से है जो रक्षा को बायपास करने में मदद कर सकता है। उपकरण का एकमात्र उद्देश्य समुदाय को इस प्रकार के उपयोग के बारे में जागरूकता बढ़ाने और समाधान में तेजी लाने में मदद करना है। यह कोई 0day नहीं है, यह कोई पूर्ण चमकदार C2 नहीं है, Pyramid EDRs के ब्लाइंड स्पॉट का शोषण कर सकता है और उपकरण को उन पर प्रकाश डालने के लिए सार्वजनिक किया गया है। एक रक्षा पैराग्राफ शामिल किया गया है, उम्मीद है कि अनुभवी ब्लू-टीमर्स योगदान दे सकते हैं और उस मुद्दे पर बेहतर संभावित समाधान प्रदान कर सकते हैं जिसे Pyramid उजागर करना चाहता है। सभी जानकारी केवल शैक्षिक उद्देश्यों के लिए प्रदान की गई है। निर्देशों का पालन अपने जोखिम पर करें। न तो लेखक और न ही उसका नियोक्ता किसी व्यक्ति या संगठन से उत्पन्न किसी भी प्रत्यक्ष या परिणामी क्षति या हानि के लिए जिम्मेदार है।

श्रेय

Pyramid का इन-मेमोरी लोडिंग प्रारंभ में xorrior के Empyre - Finder Class से प्रेरित और विस्तारित किया गया था।

योगदानकर्ता

snovvcrash ने मॉड्यूल mod-DonPAPI.py - mod-LaZagne.py - mod-clr.py का निर्माण किया।

वर्तमान विशेषताएँ

Pyramid मॉड्यूल की क्षमताएँ सीधे Python इंटरप्रेटर से निष्पादित की जा सकती हैं और वर्तमान में हैं:

  1. Python निर्भरताओं का डाउनलोड, डिक्रिप्शन और इन-मेमोरी लोडिंग।
  2. BloodHound Python, impacket secretsdump, DonPAPI, LaZagne का गतिशील लोडिंग और निष्पादन।
  3. PythonMemoryModule के माध्यम से दूरस्थ रूप से लाई गई dll या exe का इन-मेमोरी लोडिंग।
  4. SSH रिवर्स पोर्ट फॉरवर्ड टनल के माध्यम से SOCKS5 प्रॉक्सीिंग।
  5. Pythonnet के माध्यम से .NET असेंबली का इन-मेमोरी लोडिंग।

Pyramid HTTP सर्वर की मुख्य विशेषताएँ:

  1. वितरित की जाने वाली फ़ाइलों का ऑन-द-फ्लाई एन्क्रिप्शन (chacha, xor)
  2. पिरामिड कमांड लाइन के आधार पर सर्वर कॉन्फ़िगरेशन का स्वचालित जनरेशन
  3. HTTP पैरामीटर (URL) का डिकोडिंग और डिक्रिप्शन
  4. बेसिक HTTP प्रमाणीकरण

क्रैडल की मुख्य विशेषताएँ:

  1. Pyramid मॉड्यूल का डाउनलोड, डिक्रिप्शन और इन-मेमोरी निष्पादन।
  2. केवल Python-मानक-लाइब्रेरीज़ निर्भरता

विवरण

Pyramid का उपयोग लक्ष्य मशीन पर पहले से मौजूद Python इंटरप्रेटर के साथ किया जा सकता है, या एक आधिकारिक एम्बेडेबल Python पैकेज को अनज़िप करके और फिर Python डाउनलोड क्रैडल को निष्पादित करने के लिए python.exe चलाकर किया जा सकता है। यह असामान्य प्रक्रिया ट्री पैटर्न बनाने से बचने और सामान्य Python एप्लिकेशन उपयोग की तरह दिखने का एक सरल तरीका है।

Pyramid में डाउनलोड क्रैडल का उपयोग HTTP/S के माध्यम से एक Pyramid सर्वर तक पहुँचने और मॉड्यूल और निर्भरताएँ प्राप्त करने के लिए किया जाता है।

मॉड्यूल उस सुविधा के लिए विशिष्ट हैं जिसका आप उपयोग करना चाहते हैं और इसमें शामिल हैं:

  1. आवश्यक निर्भरताओं (ज़िप फ़ाइलें) को मेमोरी में आयात करने के लिए कस्टम Finder वर्ग।
  2. आवश्यक निर्भरताओं को डाउनलोड करने का कोड।
  3. उस प्रोग्राम का मुख्य तर्क जिसे आप निष्पादित करना चाहते हैं (bloodhound, secretsdump, paramiko आदि)।

Python निर्भरताएँ पहले से तय और संशोधित की गई हैं ताकि बिना किसी विरोध के मेमोरी में आयात किया जा सके।

वर्तमान में 8 Pyramid मॉड्यूल उपलब्ध हैं:

  1. bh.py - मेमोरी में python-BloodHound को आयात और निष्पादित करेगा।
  2. secretsdump.py - मेमोरी में Impacket secretsdump को आयात और निष्पादित करेगा।
  3. shellcode.py - एक सरल इन-मेमोरी शेलकोड इंजेक्टर है।
  4. DonPAPI.py स्क्रिप्ट - मेमोरी में DonPAPI को आयात और निष्पादित करेगी। निकाले गए परिणाम और क्रेडेंशियल्स Python Embeddable Package Directory में डिस्क पर सहेजे जाते हैं।
  5. LaZagne.py स्क्रिप्ट - मेमोरी में LaZagne को आयात और निष्पादित करेगी।
  6. tunnel-socks5 स्क्रिप्ट - एक नए थ्रेड पर SSH रिमोट पोर्ट फॉरवर्ड बनाने के लिए paramiko को आयात और निष्पादित करती है, फिर लक्ष्य पर स्थानीय रूप से एक socks5 प्रॉक्सी सर्वर निष्पादित होता है और SSH टनल के माध्यम से दूरस्थ रूप से सुलभ बनाया जाता है।
  7. clr स्क्रिप्ट - .NET असेंबली को मेमोरी में लोड और निष्पादित करने के लिए Pythonnet को आयात करती है।
  8. pythonmemorymodule स्क्रिप्ट - मेमोरी से dll लोड करने के लिए PythonMemoryModule को आयात करती है।

उपयोग

सर्वर प्रारंभ करना

git clone https://github.com/naksyn/Pyramid

HTTP सर्वर के लिए SSL प्रमाणपत्र जनरेट करें:

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

यदि आप अपने स्वयं के हस्ताक्षरित SSL प्रमाणपत्र का उपयोग करना चाहते हैं तो सुनिश्चित करें:

  1. pem प्रारूप का उपयोग करें
  2. फ़ाइलों को key.pem और cert.pem नाम दें
  3. दोनों फ़ाइलों को Server फ़ोल्डर में रखें।

मॉड्यूल को कॉन्फ़िगर करना

उदाहरण के लिए, यदि आप Pyramid के साथ pythonmemorymodule का उपयोग करना चाहते हैं, तो अपने पेलोड को Delivery_files फ़ोल्डर में रखें, फिर pythonmemorymodule.py खोलें और स्क्रिप्ट के शीर्ष पर आवश्यक पैरामीटर कॉन्फ़िगर करें, जैसे पेलोड फ़ाइल का नाम और वह प्रक्रिया जिसे PE लोड होने के बाद कॉल करना है।

लक्ष्य पर embeddable पैकेज को अनज़िप करें और डाउनलोड क्रैडल निष्पादित करें

एक बार Pyramid सर्वर चल रहा है और Base स्क्रिप्ट तैयार है, तो आप Agent/cradle.py फ़ाइल में वेरिएबल pyramid_module सेट कर सकते हैं और इसे लक्ष्य पर निष्पादित कर सकते हैं। क्रैडल को Python मानक लाइब्रेरीज़ के साथ चलाने के लिए बनाया गया है।

उदाहरण

SSL प्रमाणपत्र का उपयोग करके बेसिक प्रमाणीकरण प्रदान करने वाले Pyramid HTTP सर्वर को चलाने, ChaCha का उपयोग करके डिलीवरी फ़ाइलों को एन्क्रिप्ट करने, मॉड्यूल में सर्वर कॉन्फ़िगरेशन को स्वचालित रूप से जनरेट करने और pythonmemorymodule के लिए एक पेस्ट करने योग्य क्रैडल प्रिंट करने का उदाहरण:

root@kitploit:~
python3 pyramid.py -p 443 -ssl -u testuser -pass Sup3rP4ss! -enc "chacha20" -passenc "TestPass1" -server "192.168.1.2" -generate -setcradle pythonmemorymodule.py

स्टार्टअप पर pyramid.py अपनी फ़ोल्डर संरचना को पार्स करके key.pem, cert.pem की तलाश करेगा और Server फ़ोल्डर से फ़ाइलें वितरित करेगा।

https://github.com/naksyn/Pyramid/assets/59816245/4fbc997e-af2d-4ead-881b-ee108c91d195

बिना दृश्य प्रॉम्प्ट के Pyramid निष्पादित करने का टिप

दृश्य python.exe प्रॉम्प्ट लाए बिना Pyramid को निष्पादित करने के लिए, आप pythonw.exe का लाभ उठा सकते हैं जो निष्पादन पर एक कंसोल विंडो नहीं खोलेगा और उसी Windows Embeddable Package में समाहित है। निम्नलिखित चित्र एक रिमोट मशीन पर pythonw.exe का उपयोग करके base-tunnel-socks5.py को निष्पादित करने का एक उदाहरण दिखाता है, बिना python.exe कंसोल विंडो खोले।

image

सीमाएँ

Python मॉड्यूल को गतिशील रूप से लोड करना मूल रूप से *.pyd फ़ाइलों को आयात करने का समर्थन नहीं करता है जो मूलतः dlls हैं। मेरी जानकारी के अनुसार इस समस्या को हल करने वाला एकमात्र सार्वजनिक समाधान Scythe (इन-मेमोरी-एक्ज़ीक्यूशन) द्वारा CPython इंटरप्रेटर को पुनः इंजीनियर करके प्रदान किया गया है। डिजिटल हस्ताक्षर न खोने के लिए, एक समाधान जो मूल Python embeddable पैकेज का उपयोग करने की अनुमति देगा, उसमें आवश्यक pyd फ़ाइलों या व्हील्स को डिस्क पर ड्रॉप करना शामिल है। अधिकांश मामलों में इसके महत्वपूर्ण OPSEC निहितार्थ नहीं होने चाहिए, हालांकि ध्यान रखें कि डायनामिक लोडिंग को पूरा करने के लिए निम्नलिखित व्हील्स जिनमें pyd फ़ाइलें हैं, को डिस्क पर ड्रॉप किया जाता है: *. Cryptodome - Bloodhound-Python, Impacket, DonPAPI और LaZagne के लिए आवश्यक *. bcrypt, cryptography, nacl, cffi - paramiko के लिए आवश्यक

इस तकनीक से कैसे बचाव करें

Python.exe एक हस्ताक्षरित बाइनरी है जिसकी अच्छी प्रतिष्ठा है और Python गतिशील कोड पर दृश्यता प्रदान नहीं करती है। Pyramid इन चोरी गुणों का शोषण करके उसी python.exe प्रक्रिया के भीतर आक्रामक कार्य करता है।

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

एम्बेडेबल पैकेज के डाउनलोड पर अलर्ट भी उठाए जा सकते हैं।

PEP-578 को तैनात करना भी संभव है, हालांकि जटिल है, यह एक नमूना कार्यान्वयन है। हालाँकि, स्टॉक python बाइनरी के उपयोग को अवरुद्ध किए बिना PEP-578 को तैनात करना इस प्रतिउपाय को बेकार कर सकता है।

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