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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/oldboy21/shgenob
एन्क्रिप्शन/डिक्रिप्शन उपकरणपेलोड जनरेशनशोषणशेलकोडमालवेयर विश्लेषणबाइनरी विश्लेषणलर्निंग और शिक्षाशेलकोड जनरेशन
GitHuboldboy21/shgenob

SHGenOb

PIC C से Shellcode उत्पन्न करने के लिए Python-आधारित टूल

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

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

सभी देखें →

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

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

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

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

SHGenOB: PIC C कोड से शेलकोड जनरेटर

परिचय

SHGenOB एक Python-आधारित उपकरण है जो C में लिखे Position Independent Code (PIC) से शेलकोड उत्पन्न करने के लिए डिज़ाइन किया गया है। यह C कोड को संकलित करने, .text अनुभाग निकालने और वैकल्पिक रूप से XOR एन्क्रिप्शन का उपयोग करके परिणामी शेलकोड को एन्क्रिप्ट करने की प्रक्रिया को स्वचालित करता है।

यह परियोजना पूरी तरह से इस पर आधारित है जो hasherezade द्वारा लिखित है।

स्थिति स्वतंत्र कोड (PIC)

SHGenOB उपयोगकर्ताओं के लिए महत्वपूर्ण नोट: इस शेलकोड जनरेशन टूल के सही ढंग से काम करने के लिए, इनपुट फ़ाइल में C कोड को Position Independent Code (PIC) के रूप में लिखा जाना चाहिए। यह उपकरण मानता है कि प्रदान किया गया कोड PIC सिद्धांतों और नीचे वर्णित विशेषताओं का पालन करता है।

Position Independent Code (PIC) एक प्रकार का मशीन कोड है जो अपने निरपेक्ष मेमोरी पते की परवाह किए बिना निष्पादित किया जा सकता है। यह विशेषता PIC को शेलकोड, साझा लाइब्रेरी और कुछ प्रकार के मैलवेयर बनाने में विशेष रूप से उपयोगी बनाती है। PIC की मुख्य विशेषताओं में शामिल हैं:

  • पता स्वतंत्रता: PIC मेमोरी में जहाँ भी लोड किया जाए, सही ढंग से चल सकता है।
  • कोई निश्चित मेमोरी संदर्भ नहीं: यह निरपेक्ष पतों का उपयोग करने से बचता है, इसके बजाय मेमोरी स्थानों को संदर्भित करने के लिए सापेक्ष एड्रेसिंग या अन्य तकनीकों पर निर्भर करता है।
  • स्व-निहित: PIC में आमतौर पर कोड के भीतर ही सभी आवश्यक डेटा शामिल होता है, जिससे बाहरी निर्भरताएँ कम हो जाती हैं।
  • स्टैक-स्ट्रिंग्स: स्ट्रिंग्स को कैरेक्टर की ऐरे के रूप में घोषित करने से कंपाइलर उन्हें PE फ़ाइल के .data या .pdata अनुभाग के बजाय स्टैक में धकेलने के लिए बाध्य करता है।
  • रीलोकेशन-मुक्त: इसे लोडर को रीलोकेशन करने की आवश्यकता नहीं होती, जिससे लोड और निष्पादन तेज़ हो जाता है।
  • छोटा आकार: PIC के परिणामस्वरूप अक्सर पोज़ीशन-डिपेंडेंट कोड की तुलना में छोटे बाइनरी आकार होते हैं।
  • रजिस्टर-सापेक्ष एड्रेसिंग: यह डेटा तक पहुँचने और जंप करने के लिए अक्सर रजिस्टर-सापेक्ष एड्रेसिंग का उपयोग करता है।
  • ऑफसेट का उपयोग: निरपेक्ष पतों के बजाय, PIC वर्तमान इंस्ट्रक्शन पॉइंटर से ऑफसेट का उपयोग करता है।
  • प्लेटफ़ॉर्म-विशिष्ट तकनीकें: विभिन्न CPU आर्किटेक्चर को पोज़ीशन इंडिपेंडेंस प्राप्त करने के लिए विभिन्न तकनीकों की आवश्यकता हो सकती है।

PIC उन परिदृश्यों में आवश्यक है जहाँ कोड का सटीक लोड पता पहले से ज्ञात नहीं होता है, जो इसे शेलकोड विकास और सिस्टम प्रोग्रामिंग के कुछ क्षेत्रों में एक महत्वपूर्ण अवधारणा बनाता है। SHGenOB का उपयोग करते समय, सुनिश्चित करें कि आपका इनपुट C कोड प्रभावी और विश्वसनीय शेलकोड उत्पन्न करने के लिए इन PIC सिद्धांतों का पालन करता है।

सुविधाएँ

  • Microsoft Visual Studio टूल का उपयोग करके PIC C कोड को संकलित करता है
  • संकलित निष्पादन योग्य से .text अनुभाग निकालता है
  • वैकल्पिक रूप से XOR एन्क्रिप्शन का उपयोग करके शेलकोड को एन्क्रिप्ट करता है
  • उत्पन्न शेलकोड को एक लोडर टेम्पलेट में सम्मिलित करता है
  • उत्पन्न शेलकोड के साथ लोडर को संकलित और परीक्षण करता है
  • मध्यवर्ती फ़ाइल निरीक्षण के लिए डीबग मोड का समर्थन करता है
  • सफल निष्पादन के बाद मध्यवर्ती फ़ाइलों को साफ़ करता है

आवश्यकताएँ

  • विंडोज ऑपरेटिंग सिस्टम
  • Python 3.6 या उच्चतर
  • Microsoft Visual Studio 2022 Community Edition (या संगत संस्करण)
  • निम्नलिखित Python पैकेज:
    • pefile
    • argparse
  • Visual Studio से एक C कंपाइलर (cl.exe) और असेंबलर (ml64.exe)
  • Visual Studio से vcvars64.bat फ़ाइल (संकलन वातावरण सेट करने के लिए)

स्थापना

  1. python.org से Python 3.6 या उच्चतर स्थापित करें
  2. Microsoft Visual Studio 2022 Community Edition स्थापित करें
  3. आवश्यक Python पैकेज स्थापित करें:

pip install pefile argparse

  1. इस रिपॉजिटरी को अपनी स्थानीय मशीन पर क्लोन या डाउनलोड करें

उपयोग

निम्नलिखित सिंटैक्स के साथ कमांड लाइन से स्क्रिप्ट चलाएँ:

root@kitploit:~
python shgenob.py --code-file <path_to_c_file> [--masm-file <path_to_masm_file>] [--debug] [--xor-key <key>]

आर्गुमेंट्स:

  • --code-file या -cf: (आवश्यक) PIC कोड वाली main.c फ़ाइल का पथ
  • --masm-file या -mf: (वैकल्पिक) शेलकोड में अतिरिक्त असेंबली लॉजिक शामिल करने के लिए बाहरी .masm फ़ाइल का पथ
  • --debug या -d: (वैकल्पिक) डीबग मोड सक्षम करें (मध्यवर्ती फ़ाइलों की सफाई छोड़ें)
  • --xor-key या -xk: (वैकल्पिक) शेलकोड को एन्क्रिप्ट करने के लिए XOR कुंजी (प्रारूप: AA,BB,CC)

उदाहरण:

root@kitploit:~
# मूल उपयोग
python shgenob.py --code-file main.c

# बाहरी MASM फ़ाइल के साथ
python shgenob.py --code-file main.c --masm-file custom_logic.masm

# सभी विकल्पों के साथ
python shgenob.py --code-file main.c --masm-file custom_logic.masm --debug --xor-key AA,BB,CC

फ़ंक्शन विवरण

  1. save_to_file(content, filename): दी गई सामग्री को वर्तमान निर्देशिका में एक फ़ाइल में सहेजता है
  2. cleanup(): वर्तमान निर्देशिका में मध्यवर्ती फ़ाइलों (.asm, .exe, .obj, .lnk) को हटाता है
  3. xor_encrypt(shellcode, key): प्रदान की गई कुंजी का उपयोग करके XOR के साथ शेलकोड को एन्क्रिप्ट करता है
  4. insert_shellcode_into_loader(formatted_shellcode, loader_file): लोडर टेम्पलेट में शेलकोड सम्मिलित करता है
  5. extract_text_section(file_path, key): PE फ़ाइल से .text अनुभाग निकालता है और वैकल्पिक रूप से इसे एन्क्रिप्ट करता है
  6. find_file(root_dir, file_name): दिए गए निर्देशिका और उसकी उपनिर्देशिकाओं में एक फ़ाइल खोजता है
  7. run_command_with_vcvars(command, vcvars_path): Visual Studio पर्यावरण चर सेट करके एक कमांड चलाता है
  8. compile_cpp_file(cpp_file, vcvars_path, output_exe): Visual Studio कंपाइलर का उपयोग करके C++ फ़ाइल संकलित करता है
  9. modify_asm_file(asm_file): शेलकोड संगतता के लिए उत्पन्न असेंबली फ़ाइल को संशोधित करता है
  10. main(cpp_file, args): मुख्य फ़ंक्शन जो शेलकोड जनरेशन प्रक्रिया का समन्वय करता है

कार्यप्रवाह

  1. कमांड-लाइन आर्गुमेंट्स पार्स करें
  2. Visual Studio टूल (vcvars64.bat, cl.exe, ml64.exe) का पता लगाएँ
  3. इनपुट C फ़ाइल को असेंबली में संकलित करें
  4. उत्पन्न असेंबली फ़ाइल को संशोधित करें
  5. संशोधित असेंबली फ़ाइल को असेंबल करें
  6. परिणामी निष्पादन योग्य से .text अनुभाग निकालें
  7. वैकल्पिक रूप से निकाले गए शेलकोड को एन्क्रिप्ट करें
  8. शेलकोड को एक फ़ाइल में सहेजें
  9. शेलकोड को लोडर टेम्पलेट में सम्मिलित करें
  10. लोडर को संकलित करें
  11. उत्पन्न शेलकोड के साथ लोडर का परीक्षण करें
  12. मध्यवर्ती फ़ाइलों को साफ़ करें (डीबग मोड में छोड़कर)

डीबगिंग

सफाई प्रक्रिया को छोड़ने और मध्यवर्ती फ़ाइलों का निरीक्षण करने के लिए --debug फ़्लैग का उपयोग करें। यह समस्या निवारण और शेलकोड जनरेशन प्रक्रिया को समझने के लिए उपयोगी है।

सुरक्षा संबंधी विचार

  • यह उपकरण केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए है
  • उत्पन्न शेलकोड एंटीवायरस सॉफ़्टवेयर द्वारा फ़्लैग किया जा सकता है
  • शेलकोड को अस्पष्ट करने के लिए एन्क्रिप्शन (XOR कुंजी) का उपयोग करें, लेकिन ध्यान दें कि यह अस्पष्टीकरण का एक बुनियादी रूप है
  • सुनिश्चित करें कि आपके पास लक्ष्य प्रणालियों पर इस उपकरण का उपयोग करने की अनुमति है

सीमाएँ

  • वर्तमान में केवल विंडोज और Microsoft Visual Studio टूलचेन का समर्थन करता है
  • कुछ किनारे मामलों के लिए सीमित त्रुटि प्रबंधन
  • XOR एन्क्रिप्शन अस्पष्टीकरण का एक बुनियादी रूप है और सभी उपयोग मामलों के लिए पर्याप्त नहीं हो सकता है

योगदान देना

SHGenOB को बेहतर बनाने के लिए योगदान का स्वागत है। कृपया इन चरणों का पालन करें:

  1. रिपॉजिटरी को फोर्क करें
  2. अपनी सुविधा के लिए एक नई शाखा बनाएँ
  3. अपने परिवर्तनों को कमिट करें
  4. शाखा को पुश करें
  5. एक नया पुल रिक्वेस्ट बनाएँ
टूल डाउनलोड करें