
Outil de force brute et de post-exploitation pour bases de données relationnelles MySQL et MSSQL
Enumdb est un outil de force brute et d'exploitation post-sinistre pour bases de données relationnelles MySQL et MSSQL. Lorsqu'on lui fournit une liste de noms d'utilisateurs et/ou de mots de passe, il parcourt chaque hôte à la recherche d'identifiants valides. Par défaut, enumdb utilise les identifiants nouvellement découverts pour rechercher automatiquement des champs de données sensibles via des recherches par mot-clé sur les noms de tables ou de colonnes. Ces informations peuvent ensuite être extraites et consignées dans un fichier de sortie .csv ou .xlsx.
Ajouts récents :
-r csv ou -r xlsx requis pour l'extraction des données.-v requis).Le nombre de lignes extraites, les bases de données et tables sur liste noire, ainsi que les recherches par mot-clé peuvent être modifiés dans : enumdb/config.py.
Enumdb a été conçu et testé avec Python3 sur des systèmes Linux basés sur Debian (Kali). Cependant, l'outil est également compatible avec Python2.7 et d'autres distributions Linux.
git clone https://github.com/m8r0wn/enumdb
cd enumdb
python3 setup.py install
Se connecter à une base de données MySQL et rechercher des mots-clés dans les noms de tables (aucun rapport)
enumdb -u root -p 'password123' -t mysql 10.11.1.30
Se connecter à une base de données MSSQL en utilisant des identifiants de domaine, rechercher des données avec des mots-clés dans les noms de colonnes, et extraire vers un rapport .xlsx :
enumdb -u 'domain\\user' -p Winter2018! -t mssql -columns -report xlsx 10.11.1.30
Effectuer une force brute sur plusieurs serveurs MySQL à la recherche d'identifiants par défaut (aucune énumération de données ou de tables)
enumdb -u root -p '' -t mysql --brute 10.11.1.0-30
Effectuer une force brute sur le compte sa MSSQL. Une fois des identifiants valides trouvés, énumérer les données par nom de table en écrivant la sortie dans un rapport .csv :
enumdb -u sa -P passwords.txt -t mssql -columns -report xlsx 192.168.10.10
Lancer un shell SQL sur le système :
enumdb -u sa -P 'P@ssword1' -t mssql --shell 192.168.10.10
optional arguments:
-h, --help show this help message and exit
-T MAX_THREADS Max threads (Default: 10)
-v Verbose output
Connection:
-port PORT Specify non-standard port
-t {mysql,mssql} Database type
target Target database server(s) [Positional]
Authentication:
-u USERS Single username
-U USERS Users.txt file
-p PASSWORDS Single password
-P PASSWORDS Password.txt file
Enumeration:
-c, --columns Search for key words in column names (Default: table names)
-r {none,csv,xlsx} Extract data and create output report
Additional Actions:
--brute Brute force only (No DB Enumeration)
--shell Launch SQL Shell
enumdb#> help
...
edb_databases - list all databases
edb_tables [DB] - list tables in DB
edb_columns [table].[DB] - list columns in table
edb_dump [table].[DB] [#rows] - Get data from table
[SQL Query] - Execute raw SQL query
Si vous rencontrez des problèmes avec MySQLdb, des ressources supplémentaires de développement MySQL peuvent être nécessaires :
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
sudo yum install python3-devel mysql-devel