MySQL Enumeration – Appunti Approfonditi
Durante un'attività di penetration testing, l'enumerazione di MySQL consente di identificare la versione del DBMS, eventuali credenziali deboli, vulnerabilità note e configurazioni errate. MySQL gira
MySQL Enumeration – Appunti Approfonditi
Introduzione
Durante un'attività di penetration testing, l'enumerazione di MySQL consente di identificare la versione del DBMS, eventuali credenziali deboli, vulnerabilità note e configurazioni errate. MySQL gira comunemente sulla porta 3306, ma può essere configurato su una porta non standard per offuscamento.
Preparazione dell'Ambiente (Metasploit Framework)
1. Avviare PostgreSQL:
service postgresql start2. Verifica del Database:
db_status3. Impostare l'indirizzo IP del target globalmente:
setg RHOSTS <ip_target>Ricerca Moduli MySQL in Metasploit
Ricerca generica:
search mysqlRicerca di moduli specifici:
search type:auxiliary name:mysqlEnumerazione con Metasploit
1. Version Check:
use auxiliary/scanner/mysql/mysql_versionVerifica la versione del server MySQL in esecuzione.
2. Ricerca Vulnerabilità (manuale):
- Cercare exploit per la versione:
search versione_mysql
searchsploit <versione_mysql>3. Brute-force Login:
use auxiliary/scanner/mysql/mysql_loginParametri tipici:
set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt
set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt4. Enumerazione completa del database server:
use auxiliary/admin/mysql/mysql_enumRaccoglie informazioni su:
- Versione del DB
- Utenti e privilegi
- Database presenti
- Variabili globali di configurazione
5. Esecuzione Query SQL (se autenticati):
use auxiliary/admin/mysql/mysql_sqlPermette di eseguire comandi SQL sul DB.
6. Dump dello Schema (tabelle e database):
use auxiliary/scanner/mysql/mysql_schemadumpAccesso Diretto a MySQL
Se si possiede una password o si è riusciti a brute-forzare le credenziali, è possibile accedere direttamente al database:
mysql -h <ip_target> -u root -pUna volta autenticati:
SHOW DATABASES;
USE nome_database;
SHOW TABLES;
SELECT * FROM nome_tabella;Conclusioni
L’enumerazione di MySQL è una fase critica per ottenere accesso a dati sensibili e valutare la superficie d’attacco. Usare Metasploit consente una ricognizione rapida e strutturata, mentre l’accesso diretto permette un'analisi manuale approfondita. È buona pratica verificare sempre la versione del server e cercare eventuali exploit pubblici per l’escalation dei privilegi.