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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
msteams — ملف تعريف Mythic C2 الذي ينفق حركة مرور الوكيل عبر قنوات Microsoft Teams باستخدام Microsoft Graph API، مع تشفير AES256، والتذبذب، وتواريخ الإيقاف، ودعم البروكسي. | Kitploit
أدوات/GitHubGitHub/whispergate/msteams
أدوات دفاعيةأطر اختبار الاختراقأدوات التشفير/فك التشفيرما بعد الاستغلالالقيادة والسيطرةالأدوات والمكوناتالفريق الأحمرتطوير الحمولات
GitHubwhispergate/msteams

msteams

ملف تعريف Mythic C2 الذي ينفق حركة مرور الوكيل عبر قنوات Microsoft Teams باستخدام Microsoft Graph API، مع تشفير AES256، والتذبذب، وتواريخ الإيقاف، ودعم البروكسي.

عرض المستودع
2817منذ 2 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

msteams

ملف تعريف C2 لـ Mythic يستخدم Microsoft Graph API للتواصل عبر قناة Microsoft Teams.

كيف يعمل

root@kitploit:~
Agent <---> Microsoft Teams Channel <---> C2 Server <---> Mythic
  1. يقوم الوكيل بالمصادقة إلى Microsoft Entra ID عبر OAuth2 client credentials
  2. ينشر رسالة Mythic الخاصة به (مشفرة بـ base64 و AES) إلى قناة Teams
  3. يستعلم خادم C2 عن القناة عبر Graph API، ويمرر الرسائل الجديدة إلى Mythic
  4. يتم نشر رد Mythic مرة أخرى إلى القناة
  5. يستعلم الوكيل عن القناة ويلتقط الرد

يظهر التواصل كنشاط عادي في قناة Teams.

يدعم ملف التعريف هذا:

  • Kill Dates
  • Sleep Intervals with Jitter
  • تشفير AES256
  • إعدادات Proxy
  • تنظيف اختياري للرسائل (حذف الرسائل بعد المعالجة)
  • Webhook fallback للإرسال

التثبيت

من خادم Mythic الخاص بك:

root@kitploit:~
sudo ./mythic-cli install github https://github.com/Whispergate/msteams

أو من مجلد محلي:

root@kitploit:~
sudo ./mythic-cli install folder /path/to/msteams

إعداد Entra ID

  1. App Registration - أنشئ في Azure Portal > Microsoft Entra ID > App registrations
  2. Client Secret - أنشئ تحت Certificates & secrets
  3. API Permissions - امنح أذونات التطبيق وموافقة المسؤول:
    • ChannelMessage.Read.All - قراءة رسائل القناة
    • ChannelMessage.Send - إرسال رسائل القناة
  4. Team & Channel IDs - احصل عليها عبر Graph Explorer أو رابط قناة Teams client

إذا لم يكن ChannelMessage.Send متاحًا، استخدم Group.ReadWrite.All أو قم بإعداد webhook URL.

توجد تعليمات الإعداد الكاملة في صفحة وثائق Mythic بعد التثبيت على https://<your-mythic-server>:7443/docs/c2-profiles/msteams.

الإعدادات

قم بالتحرير عبر واجهة Mythic: C2 Profiles > msteams > View/Edit Config.

الوكلاء المتوافقون

  • Starburst - دعم كامل عبر نقل MS Teams القائم على WinHTTP

أي وكيل Mythic يطبق معاملات ملف تعريف C2 الخاص بـ msteams يمكنه استخدام ملف التعريف هذا. يحتاج الوكيل إلى:

  1. المصادقة إلى Graph API باستخدام بيانات الاعتماد المُعدّة
  2. نشر رسائل Mythic المشفرة بـ base64 إلى قناة Teams المُعدّة
  3. الاستعلام عن القناة للحصول على الردود من خادم C2

الاختبار بدون Azure

توجد بنية اختبار وهمية في test/ للاختبار المحلي بدون أي حساب Azure أو M365. يتيح لك هذا اختبار خط أنابيب C2 الكامل — بما في ذلك الحمولات المُجمّعة — مقابل Graph API وهمي محلي.

إعداد الخادم الوهمي

  1. انسخ test/mock_server.py إلى مضيف Mythic الخاص بك وابدأه:

    root@kitploit:~
    python3 mock_server.py
    

    يبدأ هذا Graph API وهمي على المنفذ 8443.

  2. قم بإعداد ملف تعريف msteams C2 في Mythic بقيم وهمية:

    root@kitploit:~
    {
      "tenant_id": "fake-tenant-id",
      "client_id": "fake-client-id",
      "client_secret": "fake-client-secret",
      "team_id": "fake-team-id",
      "channel_id": "fake-channel-id",
      "graph_base": "http://<mythic-host-ip>:8443/v1.0",
      "login_base": "http://<mythic-host-ip>:8443",
      "poll_interval": 3,
      "clear_messages": true,
      "debug": true
    }
    
  3. ابدأ ملف تعريف msteams في واجهة Mythic.

الاختبار باستخدام حمولة مُجمّعة (Starburst)

لاختبار وكيل مُجمّع حقيقي مقابل الخادم الوهمي، يجب بناء ملف الوكيل التنفيذي مع تضمين IP ومنفذ الخادم الوهمي بشكل ثابت بدلاً من نقاط نهاية Graph API الحقيقية. في كود وكيل Starburst (agent_code/src/transport/msteams.cc):

root@kitploit:~
// Change these for mock testing:
#define GRAPH_API_HOST  "<mythic-host-ip>"
#define LOGIN_HOST      "<mythic-host-ip>"
#define API_PORT        8443

// And change WINHTTP_FLAG_SECURE to 0 in WinHttpOpenRequest
// since the mock server uses plain HTTP:
        WINHTTP_DEFAULT_ACCEPT_TYPES,
        0

ثم أعد تثبيت Starburst، وابنِ حمولة باستخدام ملف تعريف msteams (باستخدام نفس معرفات tenant/client/team/channel الوهمية)، وشغّلها على جهاز Windows VM يمكنه الوصول إلى مضيف Mythic.

تذكر إعادة هذه التغييرات قبل بناء الحمولات الإنتاجية:

root@kitploit:~
#define GRAPH_API_HOST  "graph.microsoft.com"
#define LOGIN_HOST      "login.microsoftonline.com"
#define API_PORT        443

        WINHTTP_DEFAULT_ACCEPT_TYPES,
        WINHTTP_FLAG_SECURE

الاختبار باستخدام الوكيل الوهمي (بدون تجميع)

لاختبار سريع لخط الأنابيب بدون تجميع وكيل:

root@kitploit:~
GRAPH_URL=http://<mythic-host-ip>:8443 python test/fake_agent.py

راجع test/README.md لمزيد من التفاصيل.

اعتبارات OPSEC

  • استخدم قناة خاصة مخصصة بعضوية محدودة
  • فعّل clear_messages للتنظيف بعد المعالجة
  • حافظ على poll_interval معقولاً (10-30 ثانية) لتجنب تحديد المعدل
  • جميع الرسائل مشفرة بـ AES256 على مستوى حمولة Mythic
  • رسائل Teams ليست مشفرة من طرف إلى طرف (مرئية لمسؤولي المستأجر و Microsoft)
  • حد معدل Graph API هو حوالي 30 طلبًا في الثانية لكل تطبيق لكل مستأجر

بنية الملفات

root@kitploit:~
msteams/
  config.json                          # Mythic container config
  C2_Profiles/msteams/
    Dockerfile                         # Container image
    main.py                            # Mythic service entrypoint
    requirements.txt                   # Python dependencies
    rabbitmq_config.json               # RabbitMQ settings
    msteams/
      c2_functions/msteams.py          # C2Profile class + parameters
      c2_code/
        server.py                      # Main polling loop
        graph_client.py                # MS Graph API client
        mythic_client.py               # Mythic API forwarder
        config.py                      # Config singleton
        config.json                    # Default config values
  documentation-c2/msteams/_index.md   # Mythic docs page
  test/
    mock_server.py                     # Mock Graph API server
    fake_agent.py                      # Simulated agent for testing
    test_c2_server.py                  # Standalone C2 server test harness
    test_config.json                   # Test config with fake values
تنزيل الأداة
ParameterDescriptionDefault
tenant_idEntra ID tenant (directory) ID
client_idApp registration client ID
client_secretApp registration client secret
team_idTeams team ID
channel_idTeams channel ID
webhook_urlOptional webhook URL for sending
graph_baseGraph API base URLhttps://graph.microsoft.com/v1.0
login_baseLogin endpoint base URLhttps://login.microsoftonline.com
poll_intervalSeconds between polls10
clear_messagesDelete messages after processingfalse
debugEnable verbose loggingfalse