
أداة تخمين سريعة ومعيارية لواجهات الويب
أداة تخمين سريعة وحداتية لواجهات الويب
python3 -m pip install -r requirements.txt
$ python3 web-brutator.py -h
__ __ ___. __________ __ __
/ \ / \ ____\_ |__ \______ \_______ __ ___/ |______ _/ |_ ___________
\ \/\/ // __ \| __ \ ______ | | _/\_ __ \ | \ __\__ \ __\ / _ \_ _ _\
\ /\ ___/| \_\ \ /_____/ | | \ | | \/ | /| | / __ \| | ( <_> ) | \/
\__/\ / \___ >___ / |______ / |__| |____/ |__| (____ /__| \____/|__|
\/ \/ \/ \/ \/
الإصدار 0.2
usage: web-brutator.py [-h] [--url URL] [--target TYPE] [-u USERNAME]
[-U USERLIST] [-p PASSWORD] [-P PASSLIST]
[-C COMBOLIST] [-t THREADS] [-s] [-v] [-e MAX_ERRORS]
[--timeout TIMEOUT] [-l]
optional arguments:
-h, --help عرض رسالة المساعدة هذه والخروج
--url URL رابط الهدف
--target TYPE نوع الهدف
-u, --username USERNAME اسم مستخدم واحد
-U, --userlist USERLIST قائمة أسماء المستخدمين
-p, --password PASSWORD كلمة مرور واحدة
-P, --passlist PASSLIST قائمة كلمات المرور
-C, --combolist COMBOLIST قائمة توليفات اسم المستخدم:كلمة المرور
-t, --threads THREADS عدد الخيوط [1-50] (الافتراضي: 10)
-s, --stoponsuccess التوقف عند النجاح
-v, --verbose طباعة كل بيانات الاعتماد المختبرة
-e, --max-errors MAX_ERRORS عدد الأخطاء المتتالية المقبولة (الافتراضي: 10)
--timeout TIMEOUT الحد الزمني للاستجابة (الافتراضي: 20 ثانية)
-l, --list-modules عرض قائمة الوحدات
مثال:
python3 web-brutator.py --target jenkins --url https://mytarget.com -U ./usernames.txt -P ./passwords.txt -s -t 40
ملاحظة: بعض المنتجات تطبق قفل الحساب بعد عدد معين من محاولات المصادقة الفاشلة، بشكل افتراضي (مثل Weblogic, Tomcat...). يقوم web-brutator بإبلاغ المستخدم في بداية هجوم التخمين إذا كان الأمر كذلك. ضع ذلك في الاعتبار قبل بدء التخمين على هذه الأهداف.
يمكن لـ web-brutator الكشف تلقائياً عن نماذج المصادقة القياسية للويب وتنفيذ التخمين تلقائياً. هذه الميزة متاحة عبر الوحدة standardform، وهي لا تزال تجريبية وقد تؤدي إلى نتائج إيجابية وسلبية خاطئة لأنها تعتمد على عدة استدلالات.
غير مدعوم:
مثال:
python3 web-brutator.py --target standardform --url https://mytarget.com -U ./usernames.txt -P ./passwords.txt -s -t 40 -v
هذا العرض التوضيحي ضد واجهة phpMyAdmin
إضافة وحدة تخمين مصادقة جديدة أمر بسيط للغاية:
lib/core/modules/lib/core/modules/ لبعض الأمثلة. لاحظ أن طلبات HTTP يجب أن تتم عبر الطرق الثابتة المقدمة من الصنف Requester: Requester.get()، Requester.post()، Requester.http_auth().#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from lib.core.Exceptions import AuthException, RequestException
from lib.core.Logger import logger
from lib.core.Requester import AuthMode, Requester
class Mymodule:
def __init__(self, url, verbose=False):
self.url = url
# يمكن إضافة متغيرات ذاتية أخرى هنا
def check(self):
"""
تستخدم هذه الطريقة للكشف عن وجود واجهة المصادقة المستهدفة.
:return: قيمة منطقية تشير إلى ما إذا تم اكتشاف واجهة المصادقة
"""
# نفذ الكود هنا
def try_auth(self, username, password):
"""
تستخدم هذه الطريقة لتنفيذ محاولة مصادقة واحدة.
:param str username: اسم المستخدم للفحص
:param str password: كلمة المرور للفحص
:return: قيمة منطقية تشير إلى حالة المصادقة
:raise AuthException:
"""
# نفذ الكود هنا
-l) من سطر الأوامر.