
إطار عمل C2 مدرك للبروكسي يُستخدم لمساعدة فرق الاختراق في استغلال ما بعد الاختراق والحركة الجانبية.

PoshC2 هو إطار عمل C2 يدرك الـ Proxy ويُستخدم لمساعدة مختبري الاختراق في عمليات الفريق الأحمر، وما بعد الاستغلال، والحركة الجانبية.
PoshC2 مكتوب بشكل أساسي بلغة Python3 ويتبع تنسيقًا معياريًا لتمكين المستخدمين من إضافة وحداتهم وأدواتهم الخاصة، مما يتيح إطار عمل C2 قابلًا للتوسع والمرونة. خارج الصندوق، يأتي PoshC2 مع غرسات PowerShell/C# وPython2/Python3 مع حمولات مكتوبة بـ PowerShell v2 وv4، وكود مصدر C++ وC#، ومجموعة متنوعة من الملفات التنفيذية، وDLLs، وشيل كود خام بالإضافة إلى حمولة Python2/Python3. هذه تمكن وظائف C2 على نطاق واسع من الأجهزة وأنظمة التشغيل، بما في ذلك Windows و*nix وOSX.
تشمل الميزات البارزة الأخرى لـ PoshC2 ما يلي:
نحن نحتفظ بتوثيق PoshC2 على https://poshc2.readthedocs.io/en/latest/
تجدنا على #Slack - poshc2.slack.com (لطلب دعوة، أرسل بريدًا إلكترونيًا إلى [email protected])
يمكنك تثبيت PoshC2 مباشرة أو استخدام صور Docker، تعليمات كليهما أدناه.
يتم توفير سكربت تثبيت لتثبيت PoshC2:
*** سكربت تثبيت PoshC2 ***
الاستخدام:
./Install.sh -b <فرع git> -p <الدليل الذي سيتم استنساخ PoshC2 إليه>
الافتراضيات هي فرع master إلى /opt/PoshC2
صلاحيات مرتفعة مطلوبة لأن سكربت التثبيت يقوم بتحديثات وتثبيتات apt.
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash
بدلاً من ذلك، يمكن استنساخ المستودع وتشغيل سكربت التثبيت يدويًا.
sudo ./Install.sh
يمكنك تعيين دليل تثبيت PoshC2 يدويًا عن طريق تمريره إلى سكربت Install.sh كوسيطة -p. الافتراضي هو /opt/PoshC2:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash -s -- -p /root/PoshC2
نريد الحفاظ على فرع master مستقرًا لضمان قدرة المستخدمين على الاعتماد عليه عند الحاجة، ولهذا السبب غالبًا ما تكون التغييرات كاملة الميزات ولكنها غير موجودة بعد على master لأنها لم تُختبر بالكامل ولم يتم التوقيع عليها بعد.
إذا كنت ترغب في الاطلاع على الميزات القادمة في PoshC2، يمكنك التحقق من فرع dev، أو أي فروع ميزات فردية متفرعة من dev.
نظرًا لأن الميزات يتم اختبارها قبل دمجها في dev، يجب أن يكون هذا الفرع مستقرًا إلى حد ما، ويمكن للمشغلين اختيار استخدام هذا الفرع أو فرع ميزة معين لمشاركتهم.
ومع ذلك، فإن هذا يتبادل الاستقرار مع الميزات الجديدة، لذا افعل ذلك على مسؤوليتك الخاصة.
لاستخدام dev أو فرع ميزة، قم بتمرير اسم الفرع إلى سكربت Install.sh كوسيطة -b:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/dev/Install.sh | sudo bash -s -- -b dev
لاحظ أن عنوان URL يتضمن اسم الفرع أيضًا (هنا dev بدلاً من master).
يمكنك أيضًا تشغيل PoshC2 باستخدام Docker، وهذا يسمح بتشغيل أكثر استقرارًا ويمكن PoshC2 من العمل بسهولة على أنظمة تشغيل أخرى.
تثبيت Docker لا يقوم باستنساخ PoshC2 حيث يتم استخدام صور PoshC2 على Docker Hub، لذلك يتم فقط تثبيت الحد الأدنى من بعض التبعيات والسكربتات.
للبدء، قم بتثبيت Docker على المضيف ثم أضف دليل مشاريع PoshC2 إلى Docker كدليل مشترك إذا كان ذلك مطلوبًا لنظام التشغيل الخاص بك. بشكل افتراضي، هذا هو /var/poshc2 على *nix و /private/var/poshc2 على Mac.
سكربت التثبيت:
*** سكربت تثبيت PoshC2 لـ Docker ***
الاستخدام:
./Install-for-Docker.sh -b <فرع git>
الافتراضي هو فرع master
صلاحيات مرتفعة مطلوبة لأن سكربت التثبيت يقوم بتثبيت السكربتات.
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install-for-Docker.sh | sudo bash
لاستخدام فروع dev أو الميزات مع Docker، قم بتحميل Install-for-Docker.sh على الفرع المناسب وقم بتمرير اسم الفرع كوسيطة:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/BRANCHNAME/Install-for-Docker.sh | sudo bash -s -- -b BRANCHNAME
على Windows، قم باستيراد وحدة PowerShell النمطية PoshC2.psm1.
Import-Module -DisableNameChecking C:\PoshC2\resources\scripts\PoshC2.psm1
posh-project -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" -Arg1 "-n" -Arg2 "newproject"
posh-config -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project"
posh-server -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project"
posh -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" username
أنشئ مشروعًا جديدًا:
posh-project -n <اسم-المشروع>
يمكن التبديل بين المشاريع أو عرضها باستخدام هذا السكربت:
[*] الاستخدام: posh-project -n <اسم-مشروع-جديد>
[*] الاستخدام: posh-project -s <مشروع-للتبديل-إليه>
[*] الاستخدام: posh-project -l (يعرض المشاريع)
[*] الاستخدام: posh-project -d <مشروع-للحذف>
[*] الاستخدام: posh-project -c (يعرض المشروع الحالي)
قم بتعديل التكوين لمشروعك:
posh-config
شغّل خادم PoshC2:
posh-server
بدلاً من ذلك، قم بتشغيله كخدمة:
posh-service
بشكل منفصل، قم بتشغيل ImplantHandler للتفاعل مع الغرسات:
posh -u <اسم-المستخدم>
راجع https://poshc2.readthedocs.io/en/latest/ للحصول على التوثيق الكامل لـ PoshC2.
إذا كنت تستخدم Docker، يمكنك تحديد علامة صورة Docker لتشغيلها باستخدام الخيار -t لكل من posh-server و posh.
مثال:
posh-server -t latest
لا يُوصى بتحديث PoshC2 أثناء المشاركة. قد تكون التغييرات الواردة غير متوافقة مع مشروع موجود وقد تؤدي إلى سلوك غير منتظم.
عند استخدام نسخة مستنسخة من PoshC2 عبر git، يمكنك تحديث تثبيت PoshC2 الخاص بك باستخدام الأمر التالي:
*** سكربت تحديث PoshC2 ***
الاستخدام:
posh-update -b <فرع git>
الافتراضي هو فرع master
يمكنك استخدام إصدار أقدم من PoshC2 عن طريق الإشارة إلى العلامة المناسبة. لاحظ أن هذا يعمل فقط إذا قمت باستنساخ المستودع. يمكنك عرض العلامات للمستودع عن طريق إصدار الأمر:
git tag --list
إذا كان لديك نسخة محلية من PoshC2، يمكنك تغيير الإصدار المستخدم أثناء عدم الاتصال بالإنترنت عن طريق التحقق من الإصدار الذي تريد استخدامه:
git reset --hard <اسم العلامة>
على سبيل المثال:
git reset --hard v4.8
ومع ذلك، لاحظ أن هذا سيؤدي إلى استبدال أي تغييرات محلية في الملفات، مثل التغييرات في ملفات التكوين، وقد تضطر إلى إعادة تشغيل سكربت التثبيت لهذا الإصدار أو إعادة إعداد البيئة بشكل مناسب.
يجب استخدام هذا البرنامج فقط لأنشطة الاختبار المصرح بها وليس للاستخدام الضار.
بتنزيل هذا البرنامج، فإنك تقبل شروط الاستخدام واتفاقية الترخيص.