
Bruteforcer rapide et modulaire pour interfaces web
Bruteforceur rapide et modulaire d'interfaces Web
python3 -m pip install -r requirements.txt
$ 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
Exemple :
python3 web-brutator.py --target jenkins --url https://mytarget.com -U ./usernames.txt -P ./passwords.txt -s -t 40
Remarque : Certains produits implémentent un verrouillage de compte après un certain nombre de tentatives d'authentification échouées, par défaut (par ex. Weblogic, Tomcat...).
web-brutator avertit l'utilisateur au début de l'attaque par force brute si c'est le cas. Prenez cela en compte avant de lancer une attaque par force brute sur de telles cibles.
web-brutator peut détecter automatiquement les formulaires d'authentification web standard et effectuer une attaque par force brute automatiquement.
Cette fonctionnalité est disponible via le module standardform, elle est encore expérimentale et peut conduire à des faux positifs/négatifs car elle repose sur plusieurs heuristiques.
Non supporté :
Exemple :
python3 web-brutator.py --target standardform --url https://mytarget.com -U ./usernames.txt -P ./passwords.txt -s -t 40 -v
Cette démonstration est réalisée sur une interface phpMyAdmin
Ajouter un nouveau module de force brute pour l'authentification est assez simple :
lib/core/modules/lib/core/modules/ pour des exemples. Notez que les requêtes HTTP doivent être effectuées via les méthodes statiques fournies par la classe 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) depuis la ligne de commande.