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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pwncat — منصة ما بعد الاستغلال تعمل على أتمتة عمليات التعداد، رفع الامتيازات، الثبات، وعمليات القيادة والتحكم عبر شل عكسي/مباشر مع دعم عبر المنصات لنظامي لينكس وويندوز. | Kitploit
أدوات/GitHubGitHub/calebstewart/pwncat
تصعيد الامتيازاتآليات الاستمراريةما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالفريق الأحمر
GitHubcalebstewart/pwncat

pwncat

منصة ما بعد الاستغلال تعمل على أتمتة عمليات التعداد، رفع الامتيازات، الثبات، وعمليات القيادة والتحكم عبر شل عكسي/مباشر مع دعم عبر المنصات لنظامي لينكس وويندوز.

عرض المستودع
2.9k292منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

pwncat

asciicast

pwncat هي منصة لمرحلة ما بعد الاستغلال خاصة بأهداف لينكس. بدأت كغلاف حول شيلات bind و reverse الأساسية وتطورت منذ ذلك الحين. إنها تبسط عمليات الفريق الأحمر الشائعة مع تنظيم الكود من جهاز المهاجم، وليس من الهدف.

كانت pwncat تدعم لينكس فقط سابقًا، ولكن تم بذل الكثير من العمل مؤخرًا لدعم منصات متعددة. حاليًا، يوجد دعم ألفا لأهداف ويندوز. يُرجى مراجعة [الوثائق] الأخيرة للحصول على تفاصيل حول كيفية استخدام pwncat مع هدف ويندوز.

تعترض pwncat الاتصال الخام مع شيل بعيد وتتيح للمستخدم تنفيذ إجراءات آلية على المضيف البعيد بما في ذلك التعداد، تثبيت الحمولات (implant)، وحتى تصعيد الامتيازات.

بعد استقبال اتصال، ستقوم pwncat بإعداد بعض التهيئات الشائعة للعمل مع الشيلات البعيدة.

  • تعطيل السجل في الشيل البعيد
  • تطبيع موجه الشيل (prompt)
  • تحديد موقع الثنائيات المفيدة (باستخدام which)
  • محاولة إنشاء محطة طرفية زائفة (pty) لجلسة تفاعلية كاملة

تعرف pwncat كيفية إنشاء pty بعدة طرق مختلفة وستقوم بمقارنة هذه الطرق مع الملفات التنفيذية التي تم تعدادها سابقًا. بعد إنشاء pty، ستقوم بإعداد الطرفية المسيطرة في وضع raw، حتى تتمكن من التفاعل بطريقة مشابهة لـ ssh.

ستقوم pwncat أيضًا بمزامنة إعدادات pty البعيدة (مثل الصفوف والأعمدة ومتغير البيئة TERM) مع إعداداتك المحلية لضمان تصرف الشيل بشكل صحيح مع التطبيقات التفاعلية مثل vim أو nano.

قدّم جون هاموند وأنا pwncat في مؤتمر GRIMMCon. يمكن العثور على عرضنا التقديمي على يوتيوب هنا. يوضح هذا الفيديو نسخة مبكرة من API والواجهة. يُرجى الرجوع إلى الوثائق للحصول على أحدث تعليمات الاستخدام وتوثيق API!

يتم بناء [الوثائق] على Read the Docs. توجّه إلى هناك للحصول على أحدث وثائق الاستخدام والتطوير!

تتطلب pwncat بايثون 3.9+ على لينكس

التثبيت

تعتمد pwncat فقط على بيئة تطوير بايثون عاملة على لينكس. من أجل تثبيت بعض الحزم المطلوبة باستخدام pip، ستحتاج على الأرجح إلى حزمة "Python Development" الخاصة بتوزيعتك. على الأنظمة المبنية على Debian، هذه الحزمة هي python-dev. على Arch، يتم شحن ملفات التطوير مع مستودع بايثون الرئيسي. على Enterprise Linux، الحزمة تسمى python-devel.

يتم دفع pwncat إلى PyPI تحت اسم pwncat-cs، ويمكن تثبيته باستخدام pip كالتالي:

root@kitploit:~
pip install pwncat-cs

ومع ذلك، يُوصى بتثبيت pwncat من بيئة افتراضية.

root@kitploit:~
python3 -m venv pwncat-env
source pwncat-env/bin/activate
pip install pwncat-cs

لبيئة تطوير، تستخدم pwncat Python Poetry. يمكنك استنساخ المستودع محليًا واستخدام poetry لإعداد بيئة تطوير.

root@kitploit:~
# Setup pwncat inside a poetry-managed virtual environment
git clone [email protected]:calebstewart/pwncat.git
cd pwncat
poetry install

# Enter the virtual environment
poetry shell

تغييرات التسمية

بسبب تضارب التسمية مع Cytopia's pwncat، قررت إعادة تسمية الحزمة إلى pwncat-cs. يتضمن ذلك إعادة تسمية نقطة الدخول بحيث لا تكون هناك تضاربات مباشرة مع مشروع Cytopia. إذا كنت تقوم بالتحديث من v0.4.*، فاسم الأمر سيكون قد تغير، وتمت إزالة المتغيرات pcat و pc. راجع أحدث ملاحظات الإصدار لمزيد من التفاصيل.

الفائدة الإضافية لهذه الخطوة هي أن المشروع يتم الآن دفعه إلى PyPI لتسهيل التثبيت/التحديث في المستقبل.

دعم ويندوز

تدعم pwncat الآن الاتصالات من أهداف ويندوز بدءًا من v0.4.0a1. تستخدم منصة ويندوز مكتبة C2 مبنية على .Net يتم تحميلها تلقائيًا. يجب أن تتصل أهداف ويندوز بإما شيل cmd.exe أو powershell.exe، وستتولى pwncat الباقي.

المكتبات التي تنفذ C2 موجودة في pwncat-windows-c2. سيتم تنزيل ملفات DLL الخاصة بـ C2 تلقائيًا من الإصدار المستهدف لك. إذا لم يكن لديك اتصال إنترنت على جهاز الهدف، يمكنك إخبار pwncat بتجهيز ملفات DLL مسبقًا باستخدام الوسيط --download-plugins. إذا كنت تستخدم إصدارًا من pwncat، يمكنك أيضًا تنزيل أرشيف tarball لجميع الإضافات المدمجة من صفحة الإصدارات.

يتم تخزين الإضافات افتراضيًا في ~/.local/share/pwncat، ولكن هذا قابل للتكوين باستخدام إعداد plugin_path. إذا قمت بتنزيل مجموعة الإضافات المجمعة من صفحة الإصدارات، يجب فك ضغطها إلى المسار المشار إليه بواسطة plugin_path.

بصرف النظر عن ملفات DLL الرئيسية لـ C2، قد تكون إضافات أخرى متاحة أيضًا. حاليًا، الإضافات الافتراضية الوحيدة المقدمة هي C2 وتنفيذ BadPotato. يمكن لـ pwncat تحميل ثنائيات .Net بشكل عكسي لاستخدامها كإضافات لـ C2. لمزيد من المعلومات حول إضافات Windows C2، يُرجى الاطلاع على [الوثائق].

الوحدات (Modules)

مؤخرًا، تم إعادة تصميم بنية إطار عمل pwncat لتضمين هيكل "وحدة" عام. يتم الآن تنفيذ جميع الوظائف كوحدات. يشمل ذلك التعداد والاستمرارية وتصعيد الامتيازات. التفاعل مع الوحدات مشابه لمعظم منصات ما بعد الاستغلال الأخرى. يمكنك استخدام الأوامر المألوفة run و search و info والدخول إلى سياقات الوحدات باستخدام الأمر use. راجع الوثائق لمزيد من المعلومات.

حزمة BlackArch

Packaging status

التثبيت على BlackArch بسيط مثل:

root@kitploit:~
pacman -Syu pwncat-caleb

الاتصال بضحية

تحاول معاملات سطر أوامر pwncat أن تكون مرنة وتقبل مجموعة متنوعة من صيغ الاتصال الشائعة. على وجه التحديد، ستحاول قبول صيغ مشابهة لـ netcat و ssh. ما يلي جميعها صالحة:

root@kitploit:~
# Connect to a bind shell
pwncat-cs connect://10.10.10.10:4444
pwncat-cs 10.10.10.10:4444
pwncat-cs 10.10.10.10 4444
# Listen for reverse shell
pwncat-cs bind://0.0.0.0:4444
pwncat-cs 0.0.0.0:4444
pwncat-cs :4444
pwncat-cs -lp 4444
# Connect via ssh
pwncat-cs ssh://user:[email protected]
pwncat-cs [email protected]
pwncat-cs user:[email protected]
pwncat-cs -i id_rsa [email protected]
# SSH w/ non-standard port
pwncat-cs -p 2222 [email protected]
pwncat-cs [email protected]:2222
# Reconnect utilizing installed persistence
#   If reconnection fails and no protocol is specified,
#   SSH is used as a fallback.
pwncat-cs reconnect://[email protected]
pwncat-cs reconnect://user@c228fc49e515628a0c13bdc4759a12bf
pwncat-cs [email protected]
pwncat-cs c228fc49e515628a0c13bdc4759a12bf
pwncat-cs 10.10.10.10

افتراضيًا، تفترض pwncat أن منصة الهدف هي لينكس. من أجل الاتصال بشيل reverse أو bind في ويندوز، يجب تمرير الوسيط --platform/-m:

root@kitploit:~
pwncat-cs -m windows 10.10.10.10 4444
pwncat-cs -m windows -lp 4444

لمزيد من المعلومات حول الصياغة ومعالجة الوسائط، راجع معلومات المساعدة باستخدام pwncat-cs --help أو قم بزيارة [الوثائق].

صورة Docker

طريقة التثبيت الموصى بها هي بيئة بايثون افتراضية. يوفر هذا أسهل استخدام يومي لـ pwncat. ومع ذلك، كان هناك اهتمام باستخدام pwncat من صورة Docker، لذا قمت بتوفير Dockerfile يوفر تثبيتًا عاملًا لـ pwncat. لبناء الصورة استخدم:

root@kitploit:~
docker build -t pwncat .

سيؤدي هذا إلى بناء صورة Docker لـ pwncat بالعلامة "pwncat". دليل العمل داخل الحاوية هو /work. نقطة الدخول للحاوية هي الثنائي pwncat. يمكن استخدامه كالتالي:

root@kitploit:~
# Connect to a bind shell at 10.0.0.1:4444
docker run -v "/some/directory":/work -t pwncat 10.0.0.1 4444

في هذا المثال، يتم عرض الملفات الموجودة في /some/directory فقط للحاوية. من الواضح أنه للرفع/التنزيل، ستتمكن الحاوية فقط من رؤية الملفات المعروضة من خلال أي أدلة مثبتة.

الميزات والوظائف

توفر pwncat ميزتين رئيسيتين. في جوهرها، هدفها هو إعداد محطة طرفية زائفة عن بعد (pty) تلقائيًا تسمح بالتفاعل مع المضيف البعيد مثل جلسة SSH كاملة. عند العمل في pty، يمكنك استخدام الميزات الشائعة لشيلك البعيد مثل السجل وتحرير الأسطر وتطبيقات الطرفية الرسومية.

النصف الآخر من pwncat هو إطار عمل يستخدم شيلك البعيد لتنفيذ مهام آلية للتعداد والاستمرارية وتصعيد الامتيازات. يوفر موجه pwncat المحلي عددًا من الميزات المفيدة لاختبارات الاختراق القياسية بما في ذلك:

  • رفع وتنزيل الملفات
  • تعداد آلي لتصعيد الامتيازات
  • تنفيذ آلي لتصعيد الامتيازات
  • تثبيت/إزالة تلقائي للاستمرارية
  • تتبع آلي للملفات المعدلة/المنشأة
    • تقدم pwncat أيضًا القدرة على التراجع عن هذه "العبثات" البعيدة تلقائيًا

يهدف الإطار الأساسي للتفاعل مع المضيف البعيد إلى تجريد الشيل الأساسي وطريقة الاتصال قدر الإمكان، مما يسمح للأوامر والإضافات بالتفاعل بسلاسة مع المضيف البعيد.

يمكنك معرفة المزيد عن التفاعل مع pwncat وعن الإطار الأساسي في [الوثائق]. إذا كانت لديك فكرة لطريقة جديدة لتصعيد الامتيازات أو طريقة استمرارية، يُرجى إلقاء نظرة على توثيق API بشكل خاص. طلبات السحب (Pull requests) مرحب بها!

الميزات المخطط لها

  • المزيد من طرق تصعيد الامتيازات (sudo -u#-1 CVE, حاويات LXD، إلخ.)
  • طرق الاستمرارية (شيل bind, مهام cron, وصول SSH, إساءة استخدام PAM، إلخ.)
  • طرق العدوانية (إغراق المحطات بالعشوائية، تفريغ جدار الحماية، إلخ.)
  • طرق الميم (terminal-parrot, cowsay, wall، إلخ.)
  • طرق الشبكة (توجيه المنافذ، الوصول إلى الإنترنت عبر المضيف، إلخ.)

المشكلات المعروفة

نظرًا لأن pwncat تحاول التفاعل بشكل مجرد مع أي شيل بأقل تبعيات على النظام البعيد، هناك بعض الحالات الحدودية التي وجدناها. حيث نجدها، نبذل قصارى جهدنا لمراعاتها وإخفائها عن المستخدم. ومع ذلك، تسلل بعضها عبر الشقوق وتم ملاحظتها في الواقع. عندما يحدث هذا، ستفعل pwncat ما في وسعها للحفاظ على محطة الطرفية الخاصة بك، ولكن قد تستقبل بمخرجات غريبة أو فشل في الأوامر.

دعم BSD

بينما BSD هو نواة مبنية على Unix، إلا أن أدوات مساحة المستخدم الخاصة بها تختلف بشكل ملحوظ عن نظيراتها في لينكس. بسبب هذا، لن تعمل العديد من الميزات الآلية لـ pwncat أو ستفشل تمامًا عند التشغيل ضد هدف مبني على BSD. لقد حاولت التقاط جميع الأخطاء أو الحالات الحدودية، ومع ذلك من المحتمل وجود بعض المشكلات التي لم يتم اختبارها بالكامل ضد BSD. في أي حال، يجب أن يعمل الشيل المستقر داخل بيئة BSD، لكنني لا أقدم أي ضمانات.

إذا وجدت بعض الوقت في وقت لاحق، قد أحاول تثبيت pwncat على BSD، لكن في الوقت الحالي تركيزي على توزيعات لينكس. إذا كنت ترغب في المساهمة في جعل pwncat يتصرف بشكل أفضل على BSD، فنحن نرحب بك للتواصل أو ببساطة عمل fork للمستودع. كالعادة، طلبات السحب مرحب بها!

تنزيل الأداة