
أداة استغلال ret2win تلقائية لتحديات CTF. تجد إزاحة المكدس، وتولّي حمولات، وتدعم الاستغلال عن بُعد، وتربط GDB لتصحيح أخطاء ثنائيات x86.
____ ________ __________ __
/ __ \_ ______ / ____/ /_/ __/_ __/___ ____ / /
/ /_/ / | /| / / __ \/ / / __/ /_ / / / __ \/ __ \/ /
/ ____/| |/ |/ / / / / /___/ /_/ __/ / / /_/ / /_/ / /
/_/ |__/|__/_/ /_/\____/\__/_/ /_/ \____/\____/_/
By: DiegoAltF4 and Dbd4
يمكن استخدامه محلياً وعن بُعد (مع تحديد IP والمنفذ). يجد تلقائياً الإزاحة إلى مؤشر التعليمات (Instruction Pointer) المخزن في المكدس.
علاوة على ذلك، يمكن تكوينه لإرجاع شيل (shell). بشكل افتراضي، يطبع البيانات التي يستقبلها الاتصال (ربما العلم - flag).
كما يسمح بعرض الإزاحة إلى مؤشر التعليمات في المكدس ويدعم بنية x86 في كل من 32 بت و64 بت، ويمكن استخدامه لتصحيح الاستغلال باستخدام GDB.
| المعامل | المعلومات |
|---|---|
| -f | يشير إلى الثنائي المراد استغلاله (معامل إجباري). |
| -t | يشير إلى الدالة الهدف التي نريد القفز إليها (معامل إجباري). |
| -v | يشير إلى وضع المعلومات التفصيلية (verbose). |
| -vv | يشير إلى أعلى قيمة تفصيلية، وضع التصحيح. |
| -g | يسمح بإرفاق GDB لأغراض التصحيح. |
| --offset | يطبع الإزاحة إلى مؤشر التعليمات. |
| --shell | يسمح بالحفاظ على جلسة تفاعلية بعد الاستغلال. |
| --remote | يسمح بالاستغلال على خادم بعيد. |
| --before | يسمح بإضافة محتوى من ملف قبل الحمولة. |
| --after | يسمح بإضافة محتوى من ملف بعد الحمولة. |
./PwnCtfTool.py -f vuln.bin -t flag_func
في هذا الجزء، سنشرح الاستخدامات المختلفة للأداة مع أمثلة. لقد قمنا برفع قائمة من الثنائيات القابلة للاستغلال وسنقوم بتحديث هذه القائمة كلما أضفنا خيارات جديدة للأداة. لتسهيل العثور على المعلومات، سنشير إلى المعاملات المستخدمة في الأمر النهائي الذي يسمح لنا باستغلال الثنائي. بالإضافة إلى ذلك، سنقوم بتصنيف صعوبة التحديات باستخدام رمز 💣. قنبلة واحدة تعني أنها سهلة جداً، وخمس قنابل تشير إلى أن الصعوبة عالية جداً. لكل تحدٍ قمنا بتضمين شرح صغير (writeup) يشرح بتفصيل أكبر كيف يمكننا الوصول إلى الحل.
استخدام المعاملات
-f-t--shell--offset
للحصول على الشرح الكامل، يمكنك قراءة الشرح:
الأمر النهائي:
python3 ../../PwnCtfTool.py -f ./vuln1 -t win --shell --offset
استخدام المعاملات
-f-t--before--shell
للحصول على الشرح الكامل، يمكنك قراءة الشرح:
الأمر النهائي:
python3 ../../PwnCtfTool.py --before before2.txt -f vuln2 -t rce --shell
git clone https://github.com/Diego-AltF4/PwnCtfTool.git
cd ./PwnCtfTool
pip3 install -r requirements.txt
chmod +x PwnCtfTool.py
./PwnCtfTool.py
تم الإنشاء بواسطة DiegoAltF4 و Dbd4