Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sleep_python_bridge — هذا المشروع هو 'جسر' بين sleep ولغة بايثون. يسمح بالتحكم في خادم فريق Cobalt Strike من خلال بايثون دون الحاجة إلى عميل الواجهة الرسومية القياسي. ملاحظة: هذا المشروع في مرحلة تجريبية جدًا. الهدف هو توفير بيئة للاختبار وليس ميزة مدعومة رسميًا بأي حال. ربما يمكن إضافة هذا في المستقبل إلى المنتج الأساسي. | Kitploit
أدوات/GitHubGitHub/cobalt-strike/sleep_python_bridge
إدارة مؤشرات الاختراق (IOC)توليد الحمولةالقيادة والسيطرةالفريق الأحمرتطوير الحمولاتتحليل السجلات
GitHubcobalt-strike/sleep_python_bridge

sleep_python_bridge

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

حول

1883229منذ سنة واحدةتمت المراجعة من قبل Kitploit

هذا المشروع هو 'جسر' بين sleep ولغة بايثون. يسمح بالتحكم في خادم فريق Cobalt Strike من خلال بايثون دون الحاجة إلى عميل الواجهة الرسومية القياسي. ملاحظة: هذا المشروع في مرحلة تجريبية جدًا. الهدف هو توفير بيئة للاختبار وليس ميزة مدعومة رسميًا بأي حال. ربما يمكن إضافة هذا في المستقبل إلى المنتج الأساسي.

مشاركة

Cobalt Strike Sleep Python Bridge

هذا المشروع هو 'جسر' بين لغة sleep ولغة python. يسمح بالتحكم في خادم الفريق (teamserver) الخاص بـ Cobalt Strike عبر python دون الحاجة إلى عميل الواجهة الرسومية القياسي.

ملاحظة: هذا المشروع في مرحلة تجريبية (BETA) إلى حد كبير. الهدف هو توفير بيئة للتجربة والاختبار وهو ليس ميزة مدعومة رسميًا بأي حال من الأحوال. ربما يمكن إضافة هذا في المستقبل إلى المنتج الأساسي.

استوحى هذا المشروع من العمل الذي قام به @BinaryFaultline و @Mcgigglez16 في المشروع https://github.com/emcghee/PayloadAutomation. أود أن أقدم شكرًا خاصًا لكما!!

يتمثل جوهر هذا الجسر في تنفيذ بايثون لعميل Cobalt Strike بدون واجهة رسومية (headless). يتم تحقيق ذلك باستخدام وحدة تحكم Aggressor Script المقدمة من agscript كمحرك. تتيح agscript التفاعل بدون واجهة رسومية مع Cobalt Strike (https://www.cobaltstrike.com/aggressor-script/index.html). يعمل 'الجسر' باستخدام دوال مساعدة بلغة بايثون في sleepy.py لتوليد أوامر sleep اللازمة التي تتوقعها وحدة تحكم agscript. بدلاً من كتابة دوال sleep، توفر striker.py دوال مساعدة تجرّد sleep وتتيح استخدام بايثون.

تغييرات جديرة بالملاحظة عن المشروع الأصلي

نظرًا لأن مشروع PayloadAutomation كان مصدر الإلهام، فقد بدأ بالكثير من الكود نفسه، لكنني أردت تقليصه لاستخدام المكونات اللازمة للعمل كغلاف لـ agscript.

  • تمت إعادة التسمية من Payload_Automation إلى sleep_python_bridge. هذا المشروع أكثر من مجرد توليد حمولات.
  • تم التحويل من مكتبة PyPI إلى وحدات محلية. تم ذلك للاختبار وقد يكون مرشحًا جيدًا ليكون مكتبة بايثون بعد اختبارات مكثفة
  • تم تحديث وإضافة دوال مساعدة لتتوافق مع إصدارات aggressor
  • إضافة القدرة على تحميل السكربتات الخارجية.

المكتبات المضمنة

  • Striker: مجموعة من الدوال للتفاعل مع Cobalt Strike وتنفيذ وظائف لا يمكن الوصول إليها عادة إلا عبر Sleep/الواجهة الرسومية.
  • Sleepy: مجموعة من الدوال للمساعدة في تسهيل جسر بين كائنات Sleep وكائنات بايثون.
  • Compyler: مجموعة من الدوال لتجميع حمولات مختلفة من منصة أو عبر المنصات.
  • Artifactor: مجموعة من الدوال لفحص ومراجعة القطع الأثرية (artifacts) وجمع وتتبع مؤشرات الاختراق (IoCs).

الملفات والدلائل

العنصرالوصف
sleep_python_bridgeالمكتبة التي تتيح لبايثون التفاعل مع Cobalt Strike
output/htmlمسار عارضات بيانات HTML
output/html/dataمسار بيانات json المستخدمة بواسطة عارض البيانات
output/payloadsمسار الحمولات المحفوظة (يُستخدم بواسطة مولّد الحمولات)
payload_scriptsمسار السكربتات الخارجية التي سيتم تحميلها بواسطة payloadgenerator.py
beaconlogtracker.pyتنفيذ لمتتبع سجلات الـ beacon يستخدم شبكة بيانات HTML لعرض سجلات الـ beacon
payloadgenerator.pyتنفيذ لمولّد حمولات beacon ينشئ حمولات لكل مستمع (listener)
beacongrapher.pyتنفيذ لمتعقب رسومي للـ beacon يستخدم رسمًا بيانيًا موجّهًا بتقنية HTML/JavaScript للـ beacons

المهام المتبقية (TODO)

  • توثيق الدوال المكشوفة
  • نقل الدوال القائمة على التجميع من striker.py إلى compyler.py
  • إضافة فحص إضافي للأخطاء، تحديدًا لتبعيات التطبيق
  • توسيع compyler ليشمل البناء عن بُعد و mingw
  • إضافة تتبع مؤشرات الاختراق (IoC) للحمولات المولدة عبر artifactor.py
  • معالجة الخطأ: "User is already connected."
  • التفكير في تحويل هذا إلى مكتبة بايثون رسمية

كيفية الاستخدام

قد تكون الأمثلة في هذا المشروع أسهل طريقة للفهم، ويتمثل ذلك في السكربت example.py

#!/usr/local/bin/python3

## Import the bridge
from sleep_python_bridge.striker import CSConnector
from argparse import ArgumentParser
from pprint import pp, pprint

###################
## Argparse
def parseArguments():
    parser = ArgumentParser()
    parser.add_argument('host', help='The teamserver host.')
    parser.add_argument('port', help='The teamserver port.')
    parser.add_argument('username', help='The desired username.')
    parser.add_argument('password', help='The teamserver password.')
    parser.add_argument('path', help="Directory to CobaltStrike")
    
    args = parser.parse_args()
    return args

## Let's go
def main(args):

    cs_host = args.host
    cs_port = args.port
    cs_user = args.username
    cs_pass = args.password
    cs_directory = args.path

    ## Connect to server
    print(f"[*] Connecting to teamserver: {cs_host}")
    with CSConnector(
        cs_host=cs_host, 
        cs_port=cs_port, 
        cs_user=cs_user, 
        cs_pass=cs_pass,
        cs_directory=cs_directory) as cs:

        # Perform some actions
        # 
        # Get beacon metadata - i.e., x beacons() from the script console
        beacons = cs.get_beacons()
        print("BEACONS")
        pprint(beacons)

        # Get list of listners - i.e., x listeners_stageless() from the script console
        listeners = cs.get_listeners_stageless()
        print("LISTENERS")
        pprint(listeners)

if __name__ == "__main__":
    args = parseArguments()
    main(args)

قم باستدعاء السكربت

python3 example.py 127.0.0.1 50050 example password /path/to/cobaltstrike

أمثلة عملية

متتبع السجلات (Log Tracker)

سجلات الـ beacon متاحة في وقت التشغيل على خادم الفريق (teamserver) أو عبر ملفات سجلات الـ beacon المحفوظة على الخادم. البيانات موجودة دائمًا، ولكن قد لا يتم عرضها بالطريقة التي تريدها. هذا مثال على متتبع سجلات يستخدم شبكة بيانات HTML لعرض سجلات الـ beacon بسرعة.

beaconlogtracker.py هو سكربت يتصل بخادم الفريق، ويستخرج سجلات الـ beacon قيد التشغيل كل 30 ثانية، ويحفظها في <code>beaconlogs.json` ويعرضها في شبكة بيانات HTML قابلة للبحث والفرز.

تُحفظ سجلات الـ beacon دائمًا في دليل logs، لكن هذه طريقة بديلة لتتبع السجلات الموجودة في الذاكرة باستخدام عارض بديل. إذا تمت إعادة تشغيل خادم الفريق، تُفقد السجلات الموجودة في الذاكرة، ويجب عليك الرجوع إلى السجلات المخزنة في دليل logs على خادم الفريق. يحافظ هذا السكربت على مزامنة السجلات الموجودة في الذاكرة مع الملف beaconlogs.json. بهذه الطريقة لديك طريقة سريعة وسهلة لتصور جميع البيانات دون البحث في دليل logs حتى إذا تمت إعادة تشغيل Cobalt Strike.

ابدأ السكربت من خلال جعله يتصل بخادم الفريق لديك لمزامنة السجلات كل 30 ثانية

الاستخدام:

python3 beaconlogtracker.py 127.0.0.1 50050 logtracker password /path/to/cobaltstrike

سيؤدي ذلك إلى إبقاء beaconlogs.json متزامنًا مع سجلات الـ beacon المحفوظة وقيد التشغيل. تتم المزامنة كل 30 ثانية

شغّل خادم ويب من دليل output/html

python3 -m http.server 8000

اتصل بـ http://localhost:8000/beaconlogs.html

مولّد الحمولات (Payload Generator)

من الميزات التي يطلبها مشغلو الفرق الحمراء (red team) غالبًا القدرة على إنشاء الحمولات برمجيًا دون الحاجة إلى واجهة Cobalt Strike الرسومية. قام المشروع المرجعي بذلك عبر مولّد حمولات. كان ذلك رائعًا، لكن هناك تحدٍ فريد. توفر Aggressor عدة خطافات (hooks) للتأثير على كيفية بناء الحمولة. تُستخدم هذه الخطافات بواسطة الحزم المختلفة (أي artifact kit و sleep mask kit و UDRL kit). تُستخدم عادةً عن طريق تحميل سكربت aggressor عبر الواجهة الرسومية. تم توسيع هذا المشروع للسماح بتحميل السكربتات الخارجية. بدون ذلك، سيكون استخدام خطافات الحمولات هذه صعبًا. يمكن بسهولة توسيع هذا الكود لتمرير الحمولات إلى دوال خارجية لإضافة إخفاء مخصص (obfuscation)، أو تضمينها في أداة تحميل مخصصة، أو أي تعديل آخر.

يتصل سكربت مولّد الحمولات بخادم الفريق، ويحمّل السكربتات الإضافية، وينشئ الحمولات.

الاستخدام (بدون حزم خارجية):

  • شغّل python3 payloadgenerator.py 127.0.0.1 50050 payloads password /path/to/cobaltstrike

الاستخدام (مع حزمة خارجية)

سيعرض هذا المثال خطوات إضافة حزمة Arsenal التي تتضمن تفعيل حزمتي artifact و sleep mask.

تنزيل الأداة