Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Medusa — وكيل C2 متعدد المنصات لـ Mythic، مع تحميل ديناميكي للوظائف، وبروكسي SOCKS5، وعمليات ملفات، وحقن شيلكود، ووحدات ما بعد الاستغلال لنظامي macOS وWindows. | Kitploit
أدوات/GitHubGitHub/mythicagents/medusa
أطر اختبار الاختراقتصعيد الامتيازاتأطر الاستغلالالحركة الجانبيةشيل كودما بعد الاستغلالالقيادة والسيطرةالفريق الأحمرأداة الوصول عن بعدتوليد شيفرة القشرةتطوير الحمولات
208524منذ شهر واحدتمت المراجعة من قبل Kitploit
GitHub
mythicagents/medusa

Medusa

وكيل C2 متعدد المنصات لـ Mythic، مع تحميل ديناميكي للوظائف، وبروكسي SOCKS5، وعمليات ملفات، وحقن شيلكود، ووحدات ما بعد الاستغلال لنظامي macOS وWindows.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

شعار Medusa

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 الخاصة بك.

  • عيّن rabbitmq_password إلى قيمة RABBITMQ_PASSWORD الخاصة بـ Mythic (عادةً من ملف .env الخاص بـ Mythic).
  • عيّن rabbitmq_host إلى اسم مضيف/حاوية RabbitMQ (غالباً mythic_rabbitmq في إعدادات docker-compose، أو 127.0.0.1 للربط المحلي).
  • عيّن mythic_server_host إلى اسم مضيف/حاوية خادم Mythic (غالباً mythic_server في إعدادات docker-compose، أو 127.0.0.1 للربط المحلي).
  • الميزات البارزة

    • تحميل/إلغاء تحميل ديناميكي لوظائف الوكيل للحد من كشف قدرات الوكيل على القرص.
    • تحميل وحدات Python في الذاكرة لاستخدامها في سكريبتات مخصصة.
    • بروكسي SOCKS5 متعدد المنصات
    • قراءة حافظة macOS، والتقاط لقطات الشاشة، وتحليل قاعدة بيانات TCC
    • التوافق مع مستعرض الملفات مع الرفع/التنزيل
    • تنفيذ Eval() لكود Python ديناميكي
    • التوافق مع بروكسي المصادقة الأساسية

    مرجع سريع لدليل الأوامر

    يستخدم الوكيل الأساسي والأوامر المضمنة مكتبات Python المدمجة، لذا لا تحتاج إلى حزم إضافية لتعمل. سيقوم الوكيل بتشغيل الأوامر في خيوط (threads)، لذا فإن عمليات الرفع أو التنزيل الطويلة لن تحجب الوكيل الرئيسي.

    أوامر عامة

    الأمرالصيغةالوصف
    catcat path/to/fileقراءة وإخراج محتوى الملف.
    cdcd [.. dir]تغيير دليل العمل (.. للصعود دليلاً واحداً).
    cpcp src_file_or_dir dst_file_or_dirنسخ ملف أو مجلد إلى الوجهة.
    cwdcwdطباعة دليل العمل الحالي.
    downloaddownload [path]تنزيل ملف من النظام الهدف.
    download_bulkdownload_bulk [path1] [path2] ...تنزيل ملفات متعددة من النظام الهدف في مهمة واحدة.
    exitexitإنهاء اتصال (callback).
    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

    أوامر macOS

    الأمرالصيغةالوصف
    clipboardclipboardإخراج محتويات الحافظة (يستخدم واجهة Objective-C API، كما أوضحها Cedric Owens هنا. نظام macOS فقط، Python 2.7 فقط).
    list_appslist_appsسرد تطبيقات macOS (Python 2.7 فقط، macOS فقط).
    list_tcclist_tcc [path]سرد الإدخالات في قاعدة بيانات TCC بنظام macOS (يتطلب وصولاً كاملاً للقرص و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 على فترات زمنية محددة للبحث عن التعديلات غير المحفوظة.

    أوامر Windows

    الأمرالصيغةالوصف
    shinjectshinjectحقن كود شيل (shellcode) في PID الهدف باستخدام CreateRemoteThread (Windows فقط - مقتبس من هنا).
    load_dllload_dll dll_path dll_exportتحميل DLL من القرص وتنفيذ دالة مُصدَّرة (ملاحظة: يجب أن يعيد هذا الـ DLL قيمة int عند الاكتمال، فمثلاً DLL مُنشأ بواسطة msfvenom سيقتل وكيلك عند الاكتمال).
    list_dllslist_dlls [pid]قراءة ذاكرة العملية (PEB) للعملية المحلية أو المستهدفة لجلب قائمة DLLs المحملة (Python 3 فقط)
    pspsالحصول على معلومات محدودة عن العمليات، مثل PID وأسماء العمليات والبنية ومسارات الملفات الثنائية (Python 3 فقط)
    ps_fullps_fullالحصول على معلومات كاملة عن العمليات، بما في ذلك PPID ومستوى السلامة (integrity level) وسطر الأوامر (Python 3 فقط)
    killkillإنهاء عملية بواسطة معرف العملية (Python 3 فقط)

    إصدارات Python

    يستخدم كلا إصدارَي وكيل Medusa تطبيق AES256 HMAC مكتوباً بمكتبات مدمجة (مقتبس من هنا)، مما يلغي الحاجة إلى أي تبعيات إضافية تتجاوز تثبيت Python القياسي. وبناءً على ذلك، يجب أن يعمل الوكيل عبر مضيفي Windows وLinux وmacOS. ومن الجدير بالذكر أن تطبيق التشفير هذا يُدخل بعض الحمل الإضافي عند التعامل مع الملفات الكبيرة (التقاط الشاشة، التنزيلات، إلخ) لكنه قابل للاستخدام.

    أوامر Py2 مقابل Py3

    داخل دليل Payload_Type/Medusa/agent_code، سترى ملفات base_agent ذات لاحقتي py2 وpy3. وبالمثل، يمكن رؤية امتدادات ملفات مشابهة لملفات الوظائف الفردية أيضاً.

    تتم قراءتها بواسطة سكريبت builder.py لاختيار إصدار Python الأساسي الصحيح لوكيل Medusa أولاً. ثم سيقوم builder.py بتضمين الأوامر الخاصة بإصدار Python المختار. في الحالة التي يكون فيها للأمر امتداد .py فقط، سيتم استخدامه افتراضياً، على افتراض عدم الحاجة إلى كود بديل بين إصدارَي Py2 وPy3.

    المهام متعددة الخيوط

    يستخدم Medusa خيوطاً (threading) أساسية لتنفيذ المهام. عندما يحتمل أن تكون المهام طويلة التشغيل، يمكن تنفيذها باستخدام "فحص إيقاف" (stop check) للاستجابة لإشارة من مهمة 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
    تنزيل الأداة
    نقل ملف أو مجلد إلى الوجهة.
    pip_freezepip_freezeسرد الحزم المثبتة على النظام برمجياً.
    ptypty [/bin/bash] / pty self / pty forkفتح جلسة PTY تفاعلية. الأوضاع: spawn يشغّل برنامجاً مع PTY، وself يفتح REPL بلغة Python داخل العملية مع حالة وكيل حية، وfork يفرّع الوكيل إلى REPL بلغة Python مع حالة مُلتقطة (Linux/macOS فقط).
    rmrm file_or_dirحذف ملف أو مجلد.
    shellshell [command]تشغيل أمر شل يتم إطلاقه باستخدام subprocess.Popen(). لاحظ أنه سينتظر اكتمال الأمر لذا كن حذراً حتى لا تحجب وكيلك.
    sockssocks start/stop [port]بدء/إيقاف بروكسي SOCKS5 عبر وكيل Medusa.
    sleepsleep [seconds] [jitter percentage]تعيين فترة استدعاء الوكيل بالثواني.
    unloadunload commandإلغاء تحميل قدرة موجودة من وكيل.
    unload_moduleunload_module module_nameإلغاء تحميل وحدة Python تم تحميلها مسبقاً في الذاكرة.
    uploaduploadرفع ملف إلى مسار بعيد على الجهاز.
    watch_dirwatch_dir path secondsمراقبة التغييرات في الدليل الهدف، مع استطلاع التغييرات بمعدل محدد.