Blog Blog

BOCATA CALAMARES (SQLi con sqlmap - Brute Force password ' PRIVESC binary FIND)

April 23, 2025
BOCATA CALAMARES (SQLi con sqlmap - Brute Force password ' PRIVESC binary FIND)

Para encontrar la IP de la maquina use la herramienta NETDISCOVER.

🧠 ¿Qué es netdiscover?

netdiscover es una herramienta de reconocimiento de red que se usa para descubrir hosts activos en una red local (LAN) sin necesidad de escaneo activo tipo Nmap.
🛠️ Funciona mediante ARP requests, así que es ideal cuando no querés hacer mucho ruido o estás en una red desconocida.

Con el siguiente comando realice un escaneo de todos los hosts activos en mi red local.

1sudo netdiscover -i eth0 -r 192.168.0.0/24
  • Parámetro -i es la interfaz de red
  • Parámetro -r es el rango que se va a escanear "192.168.0.0 hasta 192.168.1.255"

Al tener la ip victima "192.168.0.51" busque que de puertos estan abiertos, sus servicios como también sus versiones usando NMAP.

1nmap -A --open -p- --min-rate 5000 -v -Pn 192.168.0.51 -oN Fullservice.txt

En el puerto 80 corre un servidor web, para ver que tecnologías esta usando esta aplicación use whatweb.

1whatweb 192.168.0.51 # se le puede agregar el -v para verlo mas detallado.

Luego ingrese al sitio web donde realice un reconocimiento para encontrar posibles vectores de ataque.

Wappalyzer enumera las tecnologías del sitio web donde identifique que esta programado en PHP y usa ngix versión 1.24

La web no me lleva a ningún lugar interesante por lo que pase a ejecutar un escaneo de directorios ocultos con feroxbuster.

El directorio interesante que encontré fue el login.php donde alli se aloja un panel de sesión.

Use credenciales por defecto para tratar de ingresar pero no resultaron.

Como la web contiene una sección donde habla de las vulnerabilidades SQLi decide probar manualmente algunas inyecciones para baypasear el panel de sesión.

Las pruebas no funcionaron por lo que decidi usar la herramienta SQLMap.

Para usar sqlmap se debe capturar con burpsuite la petición y luego guardarla en un archivo .txt para usarla en sqlmap.

1sqlmap -r req.txt --level=5 --risk=3 --batch --dbs

✅ -r req.txt

Le indica a sqlmap que use una petición HTTP desde un archivo.
Este archivo (req.txt) debe contener el request completo (como el que podés capturar desde Burp Suite o con curl -v).

✅ --level=5

Define el nivel de pruebas que realizará sqlmap (por defecto es 1).

  • Rango: 1 (básico) → 5 (muy completo/agresivo)
  • Cuanto más alto, más parámetros se prueban (headers, cookies, etc).

✅ --risk=3

Establece el nivel de riesgo de las pruebas (por defecto es 1).

  • Rango: 1 (bajo) → 3 (alto)
  • A mayor riesgo, sqlmap usará técnicas más intrusivas que pueden romper la app o generar logs sospechosos.

✅ --batch

Ejecuta sqlmap en modo automático, sin hacerte preguntas.
Ideal para scripting o para evitar confirmar cada paso.

✅ --dbs

Si se detecta la inyección, intentará enumerar las bases de datos disponibles en el motor SQL.

SQLMap detecto 3 base de datos: information schema, perfomance schema y php.

La DB php es la mas interesante, luego cambie los parametros a SQLMap agregandole:

✅ -D: para que trabaje con la base de datos "php"

✅ --tables: para que liste las tablas dentro de la db.

1sqlmap -r req.txt --level=5 --risk=3 -D php --tables --batch

La db contiene una tabla llamada "usuarios".

Para ver el contenido volvi a modificar los parametros de la herramienta agregandole lo siguiente:

1sqlmap -r req.txt --level=5 --risk=3 -D php -T usuarios --dump

✅ El parametro -T le indica a la herramienta que ataque dicha tabla.

✅ --dump: extrae los datos de la tabla.


Probé una por una en el panel de sesión y logrea acceder con el email y la contraseña de adminPric.

Me dirigí a la sección que indica el programador "to-do-list".

Alli vi el comentario donde la palabra 'lee_archivos' se encuentra encodeada en base64.

Una vez encodeado la palabra 'lee_archivos' la use en la URL para acceder al directorio oculto.

Este directorio indica que se puede leer archivos por lo que decidi leer el /etc/passwd.

Allí encontré un usuario llamado superadministrator y mas información interesante.

Como tengo el servicio ssh abierto use NCRACK para intentar encontrar la contraseña usando el diccionario rockyou.

1ncrack -user superadministrator -P rockyou 192.168.0.51:22 -T5 -v

La contraseña encontrada es "princesa"

Luego ingrese a través del ssh a la interior de la maquina, ingresando un reconocimiento básico.

Liste el contenido de "FLAG.txt" y encontré un fragmento encodeado en base64. Luego de decodearlo el resultado fue sudo -l.

Use tal comando para ver si me lista los comandos que el usuario actual puede ejecutar con sudo SIN necesidad de contraseña.

En gtfobins encontré una linea de comandos donde se puede aprovechar el binario find para escalar privilegios.

Una vez que ejecute el comando logre acceder como root.

Cesar Barraza

Cesar Barraza

Técnico en SEGURIDAD INFORMATICA - CTF Player - Cert: OSCP - Ejpt