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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Octopus — خادم تحكم وقيادة (C2) مفتوح المصدر لما قبل العملية يعتمد على بايثون وباورشيل | Kitploit
أدوات/GitHubGitHub/mhaskar/octopus
أدوات التشفير/فك التشفيرتوليد الحمولةجمع المعلوماتاختبار الاختراقالقيادة والسيطرةالفريق الأحمر
GitHubmhaskar/octopus

Octopus

خادم تحكم وقيادة (C2) مفتوح المصدر لما قبل العملية يعتمد على بايثون وباورشيل

عرض المستودع
76315520منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ما هو Octopus ؟

Octopus هو خادم C2 مفتوح المصدر لما قبل العمليات مبني على بايثون يمكنه التحكم في وكيل Octopus powershell عبر HTTP/S.

الغرض الرئيسي من إنشاء Octopus هو استخدامه قبل أي عملية فريق أحمر (red team)، حيث بدلاً من بدء المهمة بترسانة عملياتية كاملة وبنية تحتية، يمكنك أولاً استخدام Octopus لمهاجمة الهدف وجمع المعلومات قبل بدء عملية فريقك الأحمر الفعلية.

يعمل Octopus بطريقة بسيطة جداً لتنفيذ الأوامر وتبادل المعلومات مع C2 عبر قناة مشفرة جيداً، مما يجعله غير واضح وغير قابل للكشف تقريباً من جميع حلول مكافحة الفيروسات (AV)، وحماية نقاط النهاية، ومراقبة الشبكة.

إحدى الميزات الرائعة في Octopus تسمى ESA، والتي تعني "الوعي الموقفي للنقطة النهائية" (Endpoint Situational Awareness)، حيث ستقوم بجمع بعض المعلومات المهمة حول الهدف مما سيساعدك على فهم أفضل لنقاط نهاية شبكة الهدف التي ستواجهها أثناء عمليتك، مما يتيح لك فرصة تخصيص عمليتك الحقيقية بناءً على هذه المعلومات.

تم تصميم Octopus ليكون خفيًا وسريًا أثناء الاتصال بـ C2، حيث يستخدم AES-256 افتراضيًا لقناته المشفرة بين وكيل powershell وخادم C2. يمكنك أيضًا اختيار استخدام SSL/TLS عن طريق تقديم شهادة صالحة لنطاقك وتكوين خادم Octopus C2 لاستخدامها.

الميزات الرئيسية لـ Octopus

يحتوي Octopus على عدد من الميزات التي تسمح لك بالحصول على نظرة ثاقبة لمهمتك القادمة قبل أن تحتاج فعليًا إلى نشر ترسانتك الكاملة أو أدواتك وتقنياتك، مثل:

  • التحكم في الوكلاء عبر HTTP/S.
  • تنفيذ أوامر النظام.
  • تحميل / رفع الملفات.
  • تحميل وحدات powershell الخارجية.
  • استخدام قنوات مشفرة (AES-256) بين C2 والوكلاء.
  • استخدام تقنيات غير واضحة لتنفيذ الأوامر ونقل النتائج.
  • إنشاء مستمعين مخصصين ومتعددين لكل هدف.
  • توليد أنواع مختلفة من الأحمال (payloads).
  • دعم جميع إصدارات ويندوز مع powershell 2.0 والإصدارات الأحدث.
  • تشغيل وكيل Octopus القابل للتنفيذ لويندوز دون لمس عملية powershell.exe.
  • ميزة جمع المعلومات تلقائيًا من نقطة النهاية (الوعي الموقفي للنقطة النهائية).

المتطلبات

يمكنك تثبيت جميع متطلبات Octopus عبر:

pip install -r requirements.txt

تحتاج إلى تثبيت nasm لنظام لينكس ومترجم mingw-w64 لاستخدام ميزة shellcoding ووكيل spoofed args.

يمكنك تثبيت nasm على توزيعات Debian باستخدام:

apt install nasm

ويمكنك تثبيت mingw-w64 على توزيعات Debian باستخدام:

apt install mingw-w64

تم اختبار Octopus على أنظمة التشغيل التالية:

  • Ubuntu (18.04)
  • Ubuntu (16.04)
  • Kali Linux (2019.2)

ستحتاج أيضًا إلى تثبيت mono للتأكد من أنك تستطيع تجميع كود المصدر C# دون مشاكل.

يعتمد Octopus على ثنائي mono-csc لتجميع كود المصدر C# ويمكنك تثبيته بالأمر التالي apt install mono-devel والذي تم اختباره على kali و ubuntu 16.04.

يمكنك استخدام Octopus دون تثبيت mono ولكنك لن تتمكن من استخدام الأمر generate_exe.

يرجى أيضًا ملاحظة أن تجميع C# يعتمد على التجميع System.Management.Automation.dll مع تجزئة SHA1 a43ed886b68c6ee913da85df9ad2064f1d81c470.

إذا واجهت أي مشاكل في استخدام Octopus، فلا تتردد في تقديم تقرير خطأ!

التثبيت

أولاً، تأكد من تنزيل أحدث إصدار من Octopus باستخدام الأمر التالي:

git clone https://github.com/mhaskar/Octopus/

ثم تحتاج إلى تثبيت المتطلبات باستخدام الأمر التالي:

pip install -r requirements.txt

بعد ذلك يمكنك بدء تشغيل خادم Octopus عن طريق تشغيل:

./octopus.py

سيتم استقبالك بالشكل التالي عند تشغيله:

┌─[askar@hackbook]─[/opt/redteaming/Octopus]
└──╼ $python3 octopus.py



      ___           ___                       ___           ___         ___           ___
     /  /\         /  /\          ___        /  /\         /  /\       /__/\         /  /\
    /  /::\       /  /:/         /  /\      /  /::\       /  /::\      \  \:\       /  /:/_
   /  /:/\:\     /  /:/         /  /:/     /  /:/\:\     /  /:/\:\      \  \:\     /  /:/ /\
  /  /:/  \:\   /  /:/  ___    /  /:/     /  /:/  \:\   /  /:/~/:/  ___  \  \:\   /  /:/ /::\
 /__/:/ \__\:\ /__/:/  /  /\  /  /::\    /__/:/ \__\:\ /__/:/ /:/  /__/\  \__\:\ /__/:/ /:/\:\
 \  \:\ /  /:/ \  \:\ /  /:/ /__/:/\:\   \  \:\ /  /:/ \  \:\/:/   \  \:\ /  /:/ \  \:\/:/~/:/
  \  \:\  /:/   \  \:\  /:/  \__\/  \:\   \  \:\  /:/   \  \::/     \  \:\  /:/   \  \::/ /:/
   \  \:\/:/     \  \:\/:/        \  \:\   \  \:\/:/     \  \:\      \  \:\/:/     \__\/ /:/
    \  \::/       \  \::/          \__\/    \  \::/       \  \:\      \  \::/        /__/:/
     \__\/         \__\/                     \__\/         \__\/       \__\/         \__\/


                    v1.2 stable !


 Octopus C2 | Control your shells


Octopus >>

الاستخدام

استخدام Octopus بسيط جداً، حيث تحتاج فقط إلى بدء مستمع (listener) وإنشاء الوكيل (agent) الخاص بك بناءً على معلومات ذلك المستمع.

يمكنك إنشاء أي عدد تريده من المستمعين، ثم يمكنك بدء التفاعل مع وكلائك الذين يتصلون بهم.

إعداد الملف الشخصي (Profile setup)

قبل أن تتمكن من بدء استخدام Octopus، يجب عليك إعداد ملف تعريف للتعامل مع عناوين URL والذي سيتحكم في سلوك ووظائف C2، نظرًا لأن Octopus هو C2 قائم على HTTP، فإنه يعتمد على عناوين URL لمعالجة الاتصالات وضمان أن عناوين URL لن تكون بمثابة توقيعات أو مؤشرات اصطياد (IoC) في الشبكة التي تهاجمها حاليًا، ويمكن تخصيص عناوين URL وإعادة تسميتها بسهولة حسب الحاجة.

يدعم إعداد الملف الشخصي حاليًا فقط معالجة URL وقيمة auto_kill والرؤوس (headers).

إعداد ملفك الشخصي

لبدء إعداد ملفك الشخصي، تحتاج إلى تحرير ملف profile.py، والذي يحتوي على عدد من المتغيرات الرئيسية، وهي:

  • file_reciever_url: يتعامل مع تنزيل الملفات.
  • report_url: يتعامل مع تقارير ESA.
  • command_send_url: يتعامل مع الأوامر التي سيتم إرسالها إلى الهدف.
  • command_receiver_url: يتعامل مع الأوامر التي سيتم تنفيذها على الهدف.
  • first_ping_url: يتعامل مع الاتصال الأول من الهدف.
  • server_response_header: هذا الرأس سيظهر في كل استجابة.
  • auto_kill: متغير للتحكم في وقت إنهاء الوكيل بعد N من المحاولات الفاشلة للاتصال بـ C2.

مثال:

#!/usr/bin/python3

# هذا هو ملف تعريف مستمع الويب لـ Octopus C2
# يمكنك تخصيص ملفك الشخصي لمعالجة URLs محددة للتواصل مع الوكيل
# TODO: إضافة القدرة على تخصيص رؤوس الطلبات

# معالجة تنزيل الملفات
# مثال: /anything
# مثال: /anything.php
file_receiver_url = "/messages"


# معالجة إنشاء التقرير
# مثال: /anything
# مثال: /anything.php
report_url = "/calls"

# إرسال الأوامر إلى الوكيل (تخزين الأمر الذي سيتم تنفيذه على مضيف)
# اترك <hostname> كما هو بنفس التنسيق
# مثال: /profile/<hostname>
# مثال: /messages/<hostname>
# مثال: /bills/<hostname>
command_send_url = "/view/<hostname>"


# معالجة الأمر المنفذ
# مثال: /anything
# مثال: /anything.php
command_receiver_url = "/bills"


# معالجة الاتصال الأول من الوكيل
# مثال: /anything
# مثال: /anything.php
first_ping_url = "/login"

# سيتم إرجاعه في كل استجابة كرأس Server
server_response_header = "nginx"

# سيتم إرجاع صفحة بيضاء تحتوي على سكريبت HTA
mshta_url = "/hta"

# قيمة auto_kill بعد n محاولة

auto_kill = 10


سيتم تكوين الوكيل والمستمعين لاستخدام هذا الملف الشخصي للتواصل مع بعضهم البعض. بعد ذلك نحتاج إلى معرفة كيفية إنشاء مستمع.

المستمعون (Listeners)

لدى Octopus مستمعان رئيسيان، "مستمع http" و"مستمع https"، وخيارات كلا المستمعين متطابقة إلى حد كبير.

مستمع HTTP:

يأخذ الأمر listen_http الوسائط التالية لبدء التشغيل:

  • BindIP: يحدد عنوان IP الذي سيستخدمه المستمع.
  • BindPort: يحدد المنفذ الذي تريد الاستماع عليه.
  • Hostname: سيتم استخدامه لطلب الحمولة (payload) منه.
  • Interval: عدد الثواني التي سينتظرها الوكيل قبل التحقق من الأوامر.
  • URL: اسم الصفحة التي تستضيف الحمولة.
  • Listener_name: اسم المستمع لاستخدامه.

يمكنك أيضًا رؤية مثال عليه عن طريق تشغيل الأمر listen_http:

Octopus >>listen_http
[-] يرجى التحقق من وسائط المستمع!
الصيغة: listen_http BindIP BindPort hostname interval URL listener_name
مثال (مع نطاق): listen_http 0.0.0.0 8080 myc2.live 5 comments.php op1_listener
مثال (بدون نطاق): listen_http 0.0.0.0 8080 172.0.1.3 5 profile.php op1_listener

##########
معلومات الخيارات:

BindIP: عنوان IP الذي سيستخدمه المستمع
BindPort: المنفذ الذي تريد الاستماع عليه
Hostname: سيتم استخدامه لطلب الحمولة منه
Interval: عدد الثواني التي سينتظرها الوكيل قبل التحقق من الأوامر
URL: اسم الصفحة التي ستحتوي الحمولة
Listener_name: اسم المستمع لاستخدامه

Octopus >>

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

تنزيل الأداة