Web Brutator Fuerza Bruta para Autenticación Web
Web Brutator Fuerza Bruta para Autenticación Web

Web Brutator: Fuerza Bruta para Autenticación Web

La herramienta Web-brutator puede detectar automáticamente los formularios de autenticación web estándar y realizar automáticamente la fuerza bruta. Esta función está disponible a través del formulario del módulo estándar, todavía es experimental y puede dar lugar a resultados falsos positivos/negativos, ya que se basa en varias heurísticas.

Resultado con Web Brutator
Resultado con Web Brutator

No se admite:

  • Autenticación web mediante Javascript
  • Autenticación con CAPTCHA
  • Autenticación en dos pasos

Algunas plataformas están implementadas por defecto para bloquear una cuenta después de un cierto número de intentos de autenticación fallidos (por ejemplo, Weblogic, Tomcat…).. Ten esto en cuenta antes de aplicar la fuerza bruta a dichos objetivos.

Instalación de Web Brutator

Instalar dependencias

En primer lugar, debes instalar algunas dependencias en tu sistema (Kali Linux o Parrot OS) antes de proceder a instalar esta herramienta.

apt install python
apt install python3
apt install python-pip
apt install python3-pip

Ahora ejecutaremos el comando git clone para descargar esta herramienta desde GitHub y luego navegaremos al directorio.

git clone koutto/web-brutator
cd web–brutator/
Clonar Web Brutator desde Github
Clonar Web Brutator desde Github

Como sabemos que cada herramienta requiere alguna otra librería, ejecutaremos el siguiente comando para instalar estas herramientas.

python3 -m pip install -r requirements.txt

¡¡Hecho!! Como puede ver en la imagen siguiente, nuestra herramienta se ha cargado con éxito. Puedes obtener todos los detalles o ayuda de esto añadiendo “ -h” al comando.

python3 web–brutator.py –h
$ python3 web-brutator.py -h
 __      __      ___.            __________                __          __                
/  \    /  \ ____\_ |__          \______   \_______ __ ___/  |______ _/  |_  ___________ 
\   \/\/   // __ \| __ \   ______ |    |  _/\_  __ \  |  \   __\__  \   __\ /  _ \_  _ _\
 \        /\  ___/| \_\ \ /_____/ |    |   \ |  | \/  |  /|  |  / __ \|  | (  <_> )  | \/
  \__/\  /  \___  >___  /         |______  / |__|  |____/ |__| (____  /__|  \____/|__|   
       \/       \/    \/                 \/                         \/                   
                                                                        Version 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                   show this help message and exit
  --url URL                    Target URL
  --target TYPE                Target type
  -u, --username USERNAME      Single username
  -U, --userlist USERLIST      Usernames list
  -p, --password PASSWORD      Single password
  -P, --passlist PASSLIST      Passwords list
  -C, --combolist COMBOLIST    Combos username:password list
  -t, --threads THREADS        Number of threads [1-50] (default: 10)
  -s, --stoponsuccess          Stop on success
  -v, --verbose                Print every tested creds
  -e, --max-errors MAX_ERRORS  Number of accepted consecutive errors (default: 10)
  --timeout TIMEOUT            Time limit on the response (default: 20s)
  -l, --list-modules           Display list of modules

Uso de Web Brutator

Ahora puedes colocar tus credenciales y listas de palabras después de entender el uso de las características. Ejecútalo después de establecer todos los detalles necesarios. El siguiente es un comando de ejemplo:

python3 web-brutator.py --target jenkins --url https://mi-objetivo.com -U ./usernames.txt -P ./passwords.txt -s -t 40

¡¡¡BOOM!!! Te sorprenderás de lo fácil que es descifrar la contraseña del sitio web de destino, junto con la detección automática de la CMS.

Del mismo modo, hay muchas funciones en esta herramienta que puedes utilizar de una en una, obteniendo datos de entrada.

Módulos Disponibles

  • axis2
  • coldfusion
  • glassfish
  • htaccess
  • jboss
  • jenkins
  • joomla
  • railo
  • standardform
  • tomcat
  • weblogic
  • websphere

Formulario de Autenticación Web Estándar Autodetección

web-brutator puede detectar automáticamente los formularios de autenticación web estándar y realizar la fuerza bruta automáticamente. Esta función está disponible a través del módulo standardform.

Ejemplo:

python3 web-brutator.py --target standardform --url https://mi-objetivo.com -U ./usernames.txt -P ./passwords.txt -s -t 40 -v

Añadir Nuevo Módulo / Contribuir

Añadir un nuevo módulo de autenticación por fuerza bruta es bastante sencillo:

  1. Crea un nuevo archivo con el nombre apropiado en lib/core/modules/
  2. Crea una clase en este archivo, utilizando la siguiente plantilla. El desarrollo es muy fácil, comprueba cualquier módulo existente en lib/core/modules/ para ver algunos ejemplos. Ten en cuenta que las peticiones HTTP deben hacerse a través de los métodos estáticos proporcionados por la clase 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        

  1. El módulo estará disponible automáticamente (compruébalo con la opción -l) desde la línea de comandos.
  2. Prueba el módulo para asegurarte de que funciona como se espera.
  3. Haz un pull request para añadir el módulo al proyecto 😉

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda