
أداة مسح واستغلال متطورة ومتخفية لـ Path Traversal و LFI مع مراحل هجومية مكتوبة بلغة Python

هجمات مسار العبور و LFI متعددة المراحل
Vailyn 3.0
منذ الإصدار 3.0، يدعم Vailyn مغلفات PHP الخاصة بـ LFI في المرحلة الأولى. استخدم
--lfiلتضمينها في المسح.
Vailyn هي أداة تحليل واستغلال ثغرات متعددة المراحل لثغرات مسار العبور وتضمين الملفات. صُممت لتكون بأعلى أداء ممكن، وتقدم مجموعة واسعة من تقنيات تجاوز الفلاتر.
يعمل Vailyn في مرحلتين. أولاً، يتحقق من وجود الثغرة. يفعل ذلك بمحاولة الوصول إلى /etc/passwd (أو ملف يحدده المستخدم)، مع جميع حمولات التهرب الخاصة به. بتحليل الاستجابة، يتم فصل الحمولات التي نجحت عن غيرها.
الآن، يمكن للمستخدم اختيار الحمولات التي يريد استخدامها بحرية. سيتم استخدام هذه الحمولات فقط في المرحلة الثانية.
المرحلة الثانية هي مرحلة الاستغلال. هنا، يحاول تسريب أكبر عدد ممكن من الملفات من الخادم باستخدام قاموس ملفات وقاموس أدلة. يمكن تعديل عمق البحث ومستوى تبديل الدليل عبر الوسائط. اختيارياً، يمكن تنزيل الملفات التي تم العثور عليها وحفظها في مجلد الغنائم. بدلاً من ذلك، سيحاول الحصول على شل عكسي على النظام، مما يمنح المهاجم سيطرة كاملة على الخادم.
حالياً، يدعم العديد من متجهات الهجوم: الحقن عبر الاستعلام، المسار، ملفات تعريف الارتباط، وبيانات POST.
يتم الفصل بين المراحل لتحسين أداء الأداة بشكل كبير. في الإصدارات السابقة، تم فحص كل تركيبة ملف-دليل مع كل حمولة. مما أدى إلى عبء زائد كبير بسبب إعادة استخدام الحمولات دائماً، على الرغم من عدم نجاحها مع الصفحة الحالية.
إصدارات Python الموصى بها والمختبرة هي 3.7+، لكنها يجب أن تعمل بشكل جيد مع Python 3.5 و Python 3.6 أيضاً. لتثبيت Vailyn، قم بتنزيل الأرشيف من علامة التبويب "الإصدارات"، أو نفذ
$ git clone https://github.com/VainlyStrain/Vailyn
بمجرد أن يصبح على نظامك، ستحتاج إلى تثبيت تبعيات Python.
على أنظمة Unix، يكفي تشغيل
$ pip install -r requirements.txt # --user
بعض المكتبات التي يستخدمها Vailyn لا تعمل بشكل جيد مع ويندوز، أو ستفشل في التثبيت.
إذا كنت تستخدم ويندوز، استخدم pip لتثبيت المتطلبات المدرجة في Vailyn\·›\requirements-windows.txt.
إذا فشل تثبيت twisted، فهناك إصدار غير رسمي متاح هنا، والذي يجب أن يتم بناؤه تحت ويندوز. فقط ضع في اعتبارك أن هذا تحميل من طرف ثالث، والسلامة غير مضمونة بالضرورة. بعد نجاح هذا التثبيت، يجب أن يعمل تشغيل pip مرة أخرى على requirements-windows.txt.
إذا كنت تريد استخدام وحدة الشل العكسي بالكامل، ستحتاج إلى تثبيت sshpass و ncat و konsole. تختلف أسماء الحزم حسب توزيعة Linux. على ويندوز، ستحتاج إلى بدء المستمع يدوياً مسبقاً. إذا لم تعجبك konsole، يمكنك تحديد محاكي طرفية مختلف في core/config.py.
هذا كل شيء! شغّل Vailyn بالانتقال إلى دليل تثبيته وتنفيذ
$ python Vailyn -h
لدى Vailyn 3 وسائط إلزامية: -v VIC, -a INT و -p2 TP P1 P2. لكن، اعتماداً على -a، قد تكون هناك حاجة لوسائط إضافية.
, \ / ,
':. \. /\. ./ .:'
':;. :\ .,:/ ''. /; ..::'
',':.,.__.'' ' ' `:.__:''.:'
';.. ,;' *
* '., .:'
`v;. ;v' o
. ' '.. :.' ' .
' ':;, ' '
o ' . :
*
| Vailyn |
[ VainlyStrain ]
Vsynta Vailyn -v VIC -a INT -p2 TP P1 P2
[-p PAM] [-i F] [-Pi VIC2]
[-c C] [-n] [-d I J K]
[-s T] [-t] [-L]
[-l] [-P] [-A]
إلزامي:
-v VIC, --victim VIC الهدف المراد مهاجمته، الجزء 1 [قبل الحمولة]
-a INT, --attack INT نوع الهجوم (عدد صحيح، 1-5، أو A)
A| الزاحف (الكل) 2| المسار 5| بيانات POST، json
P| الزاحف (جزئي) 3| ملف تعريف الارتباط
1| معامل الاستعلام 4| بيانات POST، نص عادي
-p2 TP P1 P2, --phase2 TP P1 P2
الهجوم في المرحلة الثانية، والمعاملات المطلوبة
┌[ القيم ]────────────────┬────────────────────┐
│ TP │ P1 │ P2 │
├─────────┼───────────────┼────────────────────┤
│ leak │ قاموس الملفات │ قاموس الأدلة │
│ inject │ عنوان IP │ منفذ الاستماع │
│ implant │ الملف المصدر │ الوجهة في الخادم │
└─────────┴───────────────┴────────────────────┘
إضافية:
-p PAM, --param PAM معامل الاستعلام أو بيانات POST للهجوم --attack 1, 4, 5
-i F, --check F ملف للتحقق منه في المرحلة الأولى (الافتراضي: etc/passwd)
-Pi VIC2, --vic2 VIC2 الهدف المهاجم، الجزء 2 [بعد الحمولة]
-c C, --cookie C ملف تعريف الارتباط للإرفاق (بتنسيق الرأس)
-l, --loot تنزيل الملفات التي تم العثور عليها إلى مجلد الغنائم
-d I J K, --depths I J K
الأعماق (I: المرحلة 1، J: المرحلة 2، K: مستوى التبديل)
-h, --help عرض قائمة المساعدة هذه والخروج
-s T, --timeout T مهلة الطلب؛ مفتاح ثابت لـ Arjun
-t, --tor توجيه الهجمات عبر شبكة إخفاء الهوية Tor
-L, --lfi استخدام مغلفات PHP إضافية لتسريب الملفات
-n, --nosploit تخطي المرحلة الثانية (لا يحتاج -p2 TP P1 P2)
-P, --precise استخدام العمق الدقيق في المرحلة الأولى (ليس نطاقاً)
-A, --app تشغيل واجهة Qt5 الخاصة بـ Vailyn
تطوير:
--debug عرض كل المسار الذي تم تجربته، حتى 404.
--version طباعة إصدار البرنامج والخروج.
--notmain تجنب تعطل notify2 في استدعاء العملية الفرعية.
معلومات:
لتسريب الملفات باستخدام مسارات مطلقة: -d 0 0 0
للحصول على شل باستخدام مسارات مطلقة: -d 0 X 0
يدعم Vailyn حالياً 5 متجهات هجوم، ويوفر زاحفاً لأتمتتها جميعاً. يتم تحديد الهجوم المنفذ بواسطة الوسيطة -a INT.
INT الهجوم
---- -------
1 هجوم قائم على الاستعلام (https://site.com?file=../../../)
2 هجوم قائم على المسار (https://site.com/../../../)
3 هجوم قائم على ملف تعريف الارتباط (سيجلب ملفات تعريف الارتباط لك)
4 بيانات POST نصية (ELEM1=VAL1&ELEM2=../../../)
5 بيانات POST json ({"file": "../../../"})
A الزاحف جلب وتحليل جميع عناوين URL من الموقع باستخدام جميع المتجهات
P الزاحف الجزئي جلب وتحليل جميع عناوين URL من الموقع باستخدام متجهات محددة فقط
يجب عليك أيضاً تحديد هدف للهجوم. يتم ذلك عبر -v VIC و -Pi VIC2، حيث -v هو الجزء قبل نقطة الحقن، و -Pi هو الباقي.
مثال: إذا كان عنوان URL النهائي يجب أن يبدو كالتالي: https://site.com/download.php?file=<ATTACK>¶m2=necessaryvalue، يمكنك تحديد -v https://site.com/download.php و -Pi ¶m2=necessaryvalue (و -p file، لأن هذا هجوم استعلام).
إذا كنت تريد تضمين مغلفات PHP في المسح (مثل php://filter)، استخدم الوسيطة --lfi. في نهاية المرحلة الأولى، سيتم عرض قائمة اختيار إضافية تحتوي على المغلفات التي نجحت. (إن وجدت)
إذا كان الموقع المهاجم خلف صفحة تسجيل دخول، يمكنك توفير ملف تعريف ارتباط للمصادقة عبر -c COOKIE. إذا كنت تريد الهجوم عبر Tor، استخدم --tor.
هذه هي مرحلة التحليل، حيث يتم فصل الحمولات العاملة عن غيرها.
بشكل افتراضي، يتم البحث عن /etc/passwd. إذا كان الخادم لا يعمل بنظام Linux، يمكنك تحديد ملف مخصص عبر -i FILENAME. لاحظ أنه يجب عليك تضمين الأدلة الفرعية في FILENAME.
يمكنك تعديل عمق البحث بالقيمة الأولى من -d (الافتراضي=8).
إذا كنت تريد استخدام مسارات مطلقة، اضبط العمق الأول على 0.