
Быстрый модульный брутфорсер веб-интерфейсов
Быстрый модульный брутфорсер веб-интерфейсов
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]
необязательные аргументы:
-h, --help показать это справочное сообщение и выйти
--url URL Целевой URL
--target TYPE Тип цели
-u, --username USERNAME Одно имя пользователя
-U, --userlist USERLIST Список имён пользователей
-p, --password PASSWORD Один пароль
-P, --passlist PASSLIST Список паролей
-C, --combolist COMBOLIST Комбо-список username:password
-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
# Other self variables can go here
def check(self):
"""
This method is used to detect the presence of the targeted authentication
interface.
:return: Boolean indicating if the authentication interface has been detected
"""
# Implement code here
def try_auth(self, username, password):
"""
This method is used to perform one authentication attempt.
:param str username: Username to check
:param str password: Password to check
:return: Boolean indicating authentication status
:raise AuthException:
"""
# Implement code here
-l) в командной строке.