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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
purpleteam-s2-containers — حاويات المرحلة الثانية | Kitploit
أدوات/GitLabGitLab/purpleteam-labs/purpleteam-s2-containers
ماسحات الثغرات الأمنيةأمن الحاوياتالتحليل الديناميكي (عزل)أمن الويباختبار الاختراقأمن السحابةDevSecOpsالتعلم والتعليمArchived
GitLabpurpleteam-labs/purpleteam-s2-containers

purpleteam-s2-containers

حاويات المرحلة الثانية

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

الأكثر شعبية

عرض الكل →

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

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

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

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

purpleteam logo

حاويات المرحلة الثانية لـ purpleteam


حاويات المرحلة الثانية لـ purpleteam




يتم تشغيل هذه الحاويات ديناميكيًا بناءً على إدخال تكوين المستخدم (Job) المقدم إلى واجهة سطر الأوامر الخاصة بـ purpleteam، وتحديدًا عدد جلسات الاختبار (testSession) التي تحددها.

التكوينات التالية ذات صلة إذا كنت تنوي تشغيل الواجهة الخلفية لـ purpleteam في البيئة local. في البيئة السحابية (cloud)، يتم ذلك تلقائيًا.

قم باستنساخ هذا المستودع.

تعريف متغيرات البيئة

app-slave (Zap)

نستخدم ملف .env مباشرة في دليل app-slave للاختبار.

ZAP_API_KEY

تأكد من تعيين قيمة لمتغير البيئة ZAP_API_KEY.

يمكن أن تكون ZAP_API_KEY ما تختاره، فقط تأكد من تعريفها لـ app-slave وإضافتها أيضًا إلى تكوين مشروع app-scanner. يحتاج مشروع app-scanner إلى تكوين مفتاح Zap API للمصادقة على Zap الذي يعمل في حاوية المرحلة الثانية. بالنسبة لمشروع app-scanner، يجب تعيين ذلك في:
{ "slave": { "apiKey": <zap-api-key-here> } }

HOST_ZAP_LOG4J_PROPERTIES_PATH و ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET

إذا/عندما تحتاج إلى سجلات تصحيح أخطاء Zap، ستحتاج أيضًا إلى إضافة متغيرات البيئة لتكوين LOG4J التصحيحي.

ملف .env

إذا اخترت استخدام ملف .env، فسيبدو إضافة جميع متغيرات البيئة هذه مشابهًا لما يلي:

ZAP_API_KEY=<zap-api-key-here>
HOST_ZAP_LOG4J_PROPERTIES_PATH=<absolute-path-to/purpleteam-s2-containers/app-slave/log4j.properties>
ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET=/home/zap/.ZAP/log4j.properties

تصحيح الأخطاء

app-slave (Zap)

تسجيل التصحيح

بشرط أن تكون قد أنشأت متغيرات البيئة التي نوقشت أعلاه:

لتشغيل تسجيل التصحيح لحاويات app-slave (Zap) التي تعمل في البيئة local، قم بإلغاء تعليق مصفوفة volumes والعنصر الذي يحتوي على مفتاح source مع متغير البيئة HOST_ZAP_LOG4J_PROPERTIES_PATH.

التفاصيل أدناه لعرض السجلات فعليًا.

التفاعل مع Zap

يمكنك التفاعل مع Zap (الاستعلام عن واجهة مستخدم Zap) أثناء تشغيل اختباراتك. لقد وجدنا هذا مفيدًا في الماضي للتحقق من حالة Zap أثناء تصحيح أخطاء app-scanner.

  1. تأكد من تشغيل حاوية appslave_zap_[n] باستخدام:
    docker stats
    
  2. تحقق من منفذ المضيف الذي ترتبط به حاوية appslave_zap_[n] باستخدام:
    docker container ls
    
    يمكن أن يكون هذا أي منفذ بين 8080-8091 كما هو محدد في ملف docker-compose.yml.
    المنفذ الذي يستمع إليه Zap داخل الحاوية سيكون دائمًا 8080
  3. في متصفحك باستخدام FoxyProxy، قم بإعداد وكيل إلى localhost:[zap-host-port]
    FoxyProxyDetails_Zap-min
    اختياري: قم بإعداد نمط URL التالي في FoxyProxy: zap:8080/*
    FoxyProxyURLPattern_Zap-min
    إذا استخدمت نمط URL، فسيسمح لك ذلك بترك FoxyProxy قيد التشغيل، مع تحديد "Use proxies based on their predefined patterns and priorities". وإلا يمكنك فقط تحديد الوكيل المحدد الذي أنشأته
  4. تصفح إلى http://zap:8080/
    سيتم توجيه طلباتك عبر منفذ المضيف وسيتم الرد عليها من خلال عملية zap في الحاوية المحددة بواسطة منفذ المضيف في تكوين FoxyProxy الخاص بك

selenium-standalone

تسجيل التصحيح

لتشغيل تسجيل التصحيح لحاويات Selenium التي تعمل في البيئة local، قم بإلغاء تعليق مصفوفة environment والعنصر SE_OPTS=-debug لـ chrome و/أو firefox.

التفاصيل أدناه لعرض السجلات فعليًا.

عرض المتصفح في حاوية Selenium

يوضح ما يلي ما ستحتاج إلى فعله لعرض المتصفح داخل أي من حاويات Selenium التي يتم تشغيلها من هذا المشروع.

إعداد docker-compose.yml:

  • استبدل صور الحاوية بصور -debug. قد تكون صور -debug معلقة، لذا ببساطة قم بتعليق الصورة المعتادة وإلغاء تعليق الصورة التي تحتوي على -debug في نهايتها
  • تأكد من أنه يمكنك الوصول إلى خادم VNC داخل الحاوية عن طريق إلغاء تعليق نطاق المنفذ 5900. من خلال تحديد نطاق كمنفذ خارجي (مثال: 5900-5901) ستتمكن من الاتصال عبر VNC بأكثر من حاوية في نفس الوقت، في المثال سمحنا بفتح جلستين في وقت واحد. إذا كنت بحاجة إلى الاتصال عبر VNC بأكثر من اثنين، قم بتوسيع نطاق المنفذ الخارجي

إعداد عميل VNC:

  1. ستحتاج إلى عميل VNC لفتح اتصال بخادم VNC داخل الحاوية. لقد نجحنا مع استخدام Remmina Remote Desktop Client على Linux Mint. قم بتثبيت Remmina-plugin-vnc عبر مدير البرامج

  2. قم بتشغيل عميل سطح المكتب البعيد Remmina

  3. أنشئ إدخالات جديدة. إذا كنت تنوي الاتصال عبر VNC بعدة حاويات Selenium في وقت واحد، يمكنك إعداد كل منها على النحو التالي:

    المفتاحالقيمة
    الاسمseleniumstandalone_chrome_1
    البروتوكولVNC - حوسبة الشبكة الافتراضية
    في علامة التبويب الأساسية
    الخادم127.0.0.1:5900
    كلمة المرورsecret
    عمق الألوانألوان حقيقية (24 بت) # هذا هو الوحيد الذي عمل معنا
    الجودةضعيف (الأسرع)
    المفتاحالقيمة
    الاسمseleniumstandalone_chrome_2
    البروتوكولVNC - حوسبة الشبكة الافتراضية
    في علامة التبويب الأساسية
    الخادم127.0.0.1:5901
    كلمة المرورsecret
    عمق الألوانألوان حقيقية (24 بت) # هذا هو الوحيد الذي عمل معنا
    الجودةضعيف (الأسرع)

تفاصيل إضافية على SeleniumHQ github

عرض المتصفح داخل حاوية Selenium

بمجرد تشغيل حاويات Selenium (من المفيد الاحتفاظ بـ docker stats قيد التشغيل في محطة طرفية لعرض ذلك)، يمكنك تأكيد أي حاوية Selenium تستخدم أي منفذ خارجي باستخدام docker container ls، حيث لا يعرف Docker أي المنافذ التي قمت بتعيينها لكل إدخال من إدخالات عميل VNC الخاص بك، لذلك قد لا يتطابق اسم إدخال عميل VNC مع اسم حاوية Selenium. لهذا السبب من الجيد تأكيد تعيينات المنافذ باستخدام docker container ls.

لربط أي حاوية Selenium يتم استخدامها لأي جلسة اختبار عندما يكون لديك جلسات اختبار متعددة، قد تحتاج إلى مراجعة سجل app-scanner الجاري. قد تحتاج أيضًا إلى التأكد من أن app-scanner مهيأ لمستوى السجل debug لرؤية بعض أو المزيد من رسائل السجل التالية:

[app.parallel] cucCli process with PID "28" has been spawned for test session with Id "lowPrivUser"

[app.parallel] cucCli process with PID "34" has been spawned for test session with Id "adminUser"

[pid-28,world] seleniumContainerName is: seleniumstandalone_chrome_1

[pid-34,world] seleniumContainerName is: seleniumstandalone_chrome_2

في هذا المثال لدينا جلستي اختبار مهيأتين في تكوين المستخدم (Job). الأولى لها id بقيمة lowPrivUser والثانية لها id بقيمة adminUser. في هذا المثال، جلسة الاختبار lowPrivUser لها عملية مع PID 28 وجلسة الاختبار adminUser لها عملية مع PID 34.
في رسالتي السجل التاليتين بعد ذلك، نرى من خلال ربط PIDs أن جلسة الاختبار lowPrivUser تشغل حاوية باسم seleniumstandalone_chrome_1 وجلسة الاختبار adminUser تشغل حاوية باسم seleniumstandalone_chrome_2.
لا توجد ضمانات بشأن أي جلسة اختبار ستشغل أيًا من حاويات seleniumstandalone_chrome_[n]، لذا إذا كنت بحاجة إلى التأكد، فاستخدم تقنية الربط هذه.

لاتصال VNC بحاويات Selenium، بمجرد تشغيل Remmina، انقر نقرًا مزدوجًا على واحد أو أكثر من إدخالات VNC التي أنشأتها أعلاه وستتمكن من رؤية المتصفح يتم التفاعل معه... بشرط أن تكون خطوات اختبار Cucumber في app-scanner قد وصلت بالفعل إلى تلك النقطة.
يمكنك بالطبع إبطاء اختباراتك، أو إيقافها مؤقتًا، أو التنقل خلالها باستخدام مصحح الأخطاء. هذه التفاصيل موجودة في wiki الخاص بـ purpleteam في صفحة سير العمل

توجيه وعرض سجلات الحاوية

تنزيل الأداة