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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Medusa — Mythic के लिए क्रॉस-प्लेटफ़ॉर्म C2 एजेंट जिसमें डायनेमिक फंक्शन लोडिंग, SOCKS5 प्रॉक्सी, फ़ाइल ऑपरेशन, शेलकोड इंजेक्शन, और macOS/Windows पोस्ट-एक्सप्लॉयटेशन मॉड्यूल शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/mythicagents/medusa
भेद्यता परीक्षण फ्रेमवर्कविशेषाधिकार वृद्धिशोषण फ्रेमवर्कपार्श्व आंदोलनशेलकोडपोस्ट-शोषणकमांड एंड कंट्रोलरेड टीमिंगरिमोट एक्सेस टूलशेलकोड जनरेशनपेलोड डेवलपमेंट
2085221 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Medusa

Mythic के लिए क्रॉस-प्लेटफ़ॉर्म C2 एजेंट जिसमें डायनेमिक फंक्शन लोडिंग, SOCKS5 प्रॉक्सी, फ़ाइल ऑपरेशन, शेलकोड इंजेक्शन, और macOS/Windows पोस्ट-एक्सप्लॉयटेशन मॉड्यूल शामिल हैं।

रिपॉजिटरी देखें

Medusa लोगो

मेडुसा

Medusa एक क्रॉस-प्लेटफ़ॉर्म एजेंट है जो Python 3.8 और Python 2.7 दोनों के साथ संगत है।

स्थापना

Medusa को स्थापित करने के लिए, आपको एक दूरस्थ कंप्यूटर पर Mythic v3 स्थापित होना चाहिए। Mythic के लिए स्थापना निर्देश Mythic परियोजना पृष्ठ पर पाए जा सकते हैं।

Mythic स्थापना रूट से, निम्न कमांड चलाएँ:

./mythic-cli install github https://github.com/MythicAgents/Medusa.git

एक बार स्थापित होने के बाद, नया एजेंट बनाने के लिए Mythic को पुनरारंभ करें।

RabbitMQ कॉन्फ़िग नोट्स

फ़ाइल Payload_Type/medusa/rabbitmq_config.json एक टेम्पलेट है और इसे आपके Mythic वातावरण से मेल खाना चाहिए।

  • अपने Mythic RABBITMQ_PASSWORD मान पर rabbitmq_password सेट करें (आमतौर पर Mythic .env से)।
  • अपने RabbitMQ होस्ट/कंटेनर नाम पर rabbitmq_host सेट करें (अक्सर docker-compose सेटअप में mythic_rabbitmq, या स्थानीय बाइंड के लिए 127.0.0.1)।
  • अपने Mythic सर्वर होस्ट/कंटेनर नाम पर mythic_server_host सेट करें (अक्सर docker-compose सेटअप में mythic_server, या स्थानीय बाइंड के लिए 127.0.0.1)।

उल्लेखनीय विशेषताएँ

  • एजेंट क्षमताओं के ऑन-डिस्क एक्सपोज़र को सीमित करने के लिए एजेंट फ़ंक्शनों का गतिशील लोडिंग/अनलोडिंग।
  • कस्टम स्क्रिप्ट में उपयोग के लिए Python मॉड्यूल का मेमोरी में लोड करना।
  • क्रॉस-प्लेटफ़ॉर्म SOCKS5 प्रॉक्सी
  • macOS क्लिपबोर्ड रीडर, स्क्रीनशॉट ग्रैबर और TCC डेटाबेस पार्सिंग
  • अपलोड/डाउनलोड के साथ फ़ाइल ब्राउज़र संगतता
  • गतिशील Python कोड का Eval()
  • बेसिक ऑथेंटिकेशन प्रॉक्सी संगतता

कमांड मैनुअल त्वरित संदर्भ

बेस एजेंट और शामिल कमांड सभी बिल्ट-इन Python लाइब्रेरी का उपयोग करते हैं, इसलिए कार्य करने के लिए अतिरिक्त पैकेज की आवश्यकता नहीं है। एजेंट कमांड को थ्रेड में चलाएंगे, इसलिए लंबे समय तक चलने वाले अपलोड या डाउनलोड मुख्य एजेंट को ब्लॉक नहीं करेंगे।

सामान्य कमांड

macOS कमांड

विंडोज कमांड

Python संस्करण

Medusa एजेंट के दोनों संस्करण बिल्ट-इन लाइब्रेरी के साथ लिखे गए AES256 HMAC कार्यान्वयन का उपयोग करते हैं (यहाँ से अनुकूलित), एक मानक Python स्थापना के अलावा किसी अतिरिक्त निर्भरता की आवश्यकता को समाप्त करते हुए। इस प्रकार एजेंट को Windows, Linux और macOS होस्ट पर काम करना चाहिए। यह उल्लेखनीय है कि यह क्रिप्टो कार्यान्वयन बड़ी फ़ाइलों (स्क्रीनशॉटिंग, डाउनलोड आदि) को संभालते समय कुछ ओवरहेड प्रस्तुत करता है लेकिन यह काम करने योग्य है।

Py2 बनाम Py3 कमांड

Payload_Type/Medusa/agent_code निर्देशिका के भीतर, आप py2 और py3 दोनों प्रत्ययों वाली base_agent फ़ाइलें देखेंगे। इसी प्रकार, व्यक्तिगत फ़ंक्शन फ़ाइलों के लिए भी समान फ़ाइल एक्सटेंशन देखे जा सकते हैं।

इन्हें builder.py स्क्रिप्ट द्वारा पढ़ा जाता है ताकि पहले Medusa एजेंट के सही बेस Python संस्करण का चयन किया जा सके। builder.py फिर चुने गए Python संस्करण के लिए विशिष्ट कमांड शामिल करेगा। ऐसे मामले में जहां एक कमांड में केवल .py एक्सटेंशन है, इसे डिफ़ॉल्ट रूप से उपयोग किया जाएगा, यह मानते हुए कि Py2 और Py3 संस्करणों के बीच कोई वैकल्पिक कोड की आवश्यकता नहीं है।

थ्रेडेड जॉब्स

Medusa जॉब निष्पादन के लिए बुनियादी थ्रेडिंग का उपयोग करता है। जहां जॉब संभावित रूप से लंबे समय तक चलने वाले होते हैं, उन्हें jobkill कार्य से सिग्नल का जवाब देने के लिए 'स्टॉप चेक' के साथ कार्यान्वित किया जा सकता है। इसे नीचे दिखाए गए समान कोड स्निपेट के साथ कार्यान्वित किया जा सकता है:

root@kitploit:~
if [task for task in self.taskings if task["task_id"] == task_id][0]["stopped"]:
  # Some job-specific tidy up
  return "Job stopped."

यह हैंडलर download, upload, watch_dir और screenshot कमांड में कार्यान्वित देखा जा सकता है।

इसके अतिरिक्त, यदि लंबे समय तक चलने वाले जॉब से निरंतर आउटपुट प्रदान करने की अपेक्षा की जाती है, तो sendTaskOutputUpdate फ़ंक्शन - बेस एजेंट में शामिल - का उपयोग कार्य पूरा होने से पहले Mythic को अपडेट करने के लिए किया जा सकता है। एक डमी फ़ंक्शन जो निरंतर आउटपुट प्रदान करता है और jobkill किया जा सकता है, नीचे देखा जा सकता है।

root@kitploit:~
def dummyFunction(self, task_id):
  while(True):
      # Check if we've got a stop signal.
      if [task for task in self.taskings if task["task_id"] == task_id][0]["stopped"]: return "Job stopped."

      # Send output back to Mythic
      self.sendTaskOutputUpdate(task_id, "We're still running")

      time.sleep(10)

समर्थित C2 प्रोफाइल

Medusa वर्तमान में दो C2 प्रोफाइल का समर्थन करता है: http (AES256 HMAC एन्क्रिप्शन के साथ और बिना दोनों) और azure_blob।

HTTP प्रोफाइल

HTTP प्रोफाइल बुनियादी, गैर-गतिशील प्रोफाइल पर Mythic सर्वर पर कॉल बैक करता है। कार्यों के लिए GET अनुरोध, प्रतिक्रियाओं के साथ POST अनुरोध।

धन्यवाद

  • ब्राउज़र स्क्रिप्ट और एजेंट कोड @its_a_feature_ और @djhohnstein से अनुकूलित।
  • MacC2 और Cedric Owens का यह ब्लॉग पोस्ट
  • EmPyre और Chris Ross का यह ब्लॉग पोस्ट।
  • क्रिप्टो विज़ार्डरी यहाँ पाई गई।
  • एजेंट आइकन flaticon.com से
टूल डाउनलोड करें
CommandSyntaxDescription
catcat path/to/fileफ़ाइल सामग्री को पढ़ें और आउटपुट करें।
cdcd [.. dir]कार्यशील निर्देशिका बदलें (एक निर्देशिका ऊपर जाने के लिए ..)।
cpcp src_file_or_dir dst_file_or_dirफ़ाइल या फ़ोल्डर को गंतव्य पर कॉपी करें।
cwdcwdकार्यशील निर्देशिका प्रिंट करें।
downloaddownload [path]लक्ष्य सिस्टम से एक फ़ाइल डाउनलोड करें।
download_bulkdownload_bulk [path1] [path2] ...एक कार्य में लक्ष्य सिस्टम से कई फ़ाइलें डाउनलोड करें।
exitexitकॉलबैक से बाहर निकलें।
envenvपर्यावरण चर प्रिंट करें।
eval_codeeval_code [commands]Python कोड निष्पादित करें और आउटपुट लौटाएँ।
jobkilljobkill [task id]लंबे समय तक चलने वाले कार्य को रोकने का संकेत भेजें।
jobsjobsलंबे समय तक चलने वाले कार्यों की सूची बनाएं, जैसे डाउनलोड।
list_moduleslist_modules [module_name]मेमोरी में मॉड्यूल या किसी विशिष्ट मॉड्यूल के लिए पूर्ण फ़ाइल सूची सूचीबद्ध करता है।
loadload commandएजेंट में एक नई क्षमता लोड करें।
load_moduleload_moduleएक ज़िप्ड Python मॉड्यूल को मेमोरी में लोड करें (यहाँ और यहाँ से अनुकूलित)।
load_scriptload_scriptएजेंट के माध्यम से एक Python स्क्रिप्ट लोड और निष्पादित करें।
lsls [. path][path] में फ़ाइलें और फ़ोल्डर सूचीबद्ध करें या वर्तमान कार्यशील निर्देशिका के लिए . का उपयोग करें।
mvmv src_file_or_dir dst_file_or_dirफ़ाइल या फ़ोल्डर को गंतव्य पर ले जाएँ।
pip_freezepip_freezeप्रोग्रामेटिक रूप से सिस्टम पर स्थापित पैकेजों की सूची बनाएं।
ptypty [/bin/bash] / pty self / pty forkएक इंटरैक्टिव PTY सत्र खोलें। मोड: spawn एक PTY के साथ एक प्रोग्राम चलाता है, self लाइव एजेंट स्थिति के साथ एक इन-प्रोसेस Python REPL खोलता है, fork एजेंट को स्नैपशॉट स्थिति के साथ Python REPL में फोर्क करता है (केवल Linux/macOS)।
rmrm file_or_dirफ़ाइल या फ़ोल्डर हटाएँ।
shellshell [command]एक शेल कमांड चलाएँ जो subprocess.Popen() का उपयोग करके स्पॉन होगा। ध्यान दें कि यह कमांड पूरा होने तक प्रतीक्षा करेगा, इसलिए अपने एजेंट को ब्लॉक न करने का ध्यान रखें।
sockssocks start/stop [port]Medusa एजेंट के माध्यम से SOCKS5 प्रॉक्सी प्रारंभ/बंद करें।
sleepsleep [seconds] [jitter percentage]एजेंट के कॉलबैक अंतराल को सेकंड में सेट करें।
unloadunload commandएजेंट से एक मौजूदा क्षमता अनलोड करें।
unload_moduleunload_module module_nameपहले मेमोरी में लोड किए गए Python मॉड्यूल को अनलोड करें।
uploaduploadमशीन पर एक दूरस्थ पथ पर एक फ़ाइल अपलोड करें।
watch_dirwatch_dir path secondsलक्ष्य निर्देशिका में परिवर्तनों की निगरानी करें, एक निर्दिष्ट दर पर परिवर्तनों के लिए पोलिंग करें।
CommandSyntaxDescription
clipboardclipboardक्लिपबोर्ड की सामग्री आउटपुट करें (Objective-C API का उपयोग करता है, जैसा कि Cedric Owens यहाँ ने रेखांकित किया है। केवल macOS, केवल Python 2.7)।
list_appslist_appsmacOS अनुप्रयोगों की सूची बनाएं (केवल Python 2.7, केवल macOS)।
list_tcclist_tcc [path]macOS TCC डेटाबेस में प्रविष्टियों की सूची बनाएं (फिलहाल केवल पूर्ण-डिस्क एक्सेस और Big Sur की आवश्यकता है)।
screenshotscreenshotस्क्रीनशॉट लें (Objective-C API का उपयोग करता है, केवल macOS, केवल Python 2.7)।
spawn_jxaspawn_jxaएक osascript प्रक्रिया स्पॉन करें और इसमें Javascript सामग्री पाइप करें।
vscode_list_recentvscode_list_recent [state_db]VSCode के साथ हाल ही में खोली गई फ़ाइलों और फ़ोल्डरों की सूची बनाता है।
vscode_open_editsvscode_open_edits [backup_dir_path]VSCode में फ़ाइलों में किए गए असंग्रहीत परिवर्तनों की सूची बनाता है।
vscode_watch_editsvscode_watch_edits [path to remote dir] [poll_interval]असंग्रहीत संपादनों के लिए दिए गए अंतराल पर VSCode बैकअप निर्देशिका की पोलिंग करें।
CommandSyntaxDescription
shinjectshinjectCreateRemoteThread का उपयोग करके लक्ष्य PID में शैलकोड इंजेक्ट करें (केवल Windows - यहाँ से अनुकूलित)।
load_dllload_dll dll_path dll_exportडिस्क पर एक DLL लोड करें और एक निर्यातित फ़ंक्शन निष्पादित करें (नोट: इस DLL को पूरा होने पर एक int मान लौटाना चाहिए, उदाहरण के लिए, msfvenom-निर्मित DLL पूरा होने पर आपके एजेंट को मार डालेगा)।
list_dllslist_dlls [pid]लोड किए गए DLL की सूची प्राप्त करने के लिए स्थानीय या लक्ष्य प्रक्रिया की प्रक्रिया मेमोरी (PEB) पढ़ें (केवल Python 3)
pspsसीमित प्रक्रिया जानकारी प्राप्त करें, जैसे PID, प्रक्रिया नाम, आर्किटेक्चर और बाइनरी पथ (केवल Python 3)
ps_fullps_fullपूर्ण प्रक्रिया जानकारी प्राप्त करें, जिसमें PPID, अखंडता स्तर और कमांड लाइन शामिल है (केवल Python 3)
killkillप्रक्रिया ID द्वारा प्रक्रिया समाप्त करें (केवल Python 3)