WebMaster HackMyVM (Easy - Linux)

Escaneo de puertos

nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>

Info:

Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-09 13:52 EDT
Nmap scan report for 192.168.5.10
Host is up (0.0027s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 6d:7e:d2:d5:d0:45:36:d7:c9:ed:3e:1d:5c:86:fb:e4 (RSA)
|   256 04:9d:9a:de:af:31:33:1c:7c:24:4a:97:38:76:f5:f7 (ECDSA)
|_  256 b0:8c:ed:ea:13:0f:03:2a:f3:60:8a:c3:ba:68:4a:be (ED25519)
53/tcp open  domain  Eero device dnsd
| dns-nsid: 
|_  bind.version: not currently available
80/tcp open  http    nginx 1.14.2
|_http-server-header: nginx/1.14.2
|_http-title: Site doesn't have a title (text/html).
MAC Address: 08:00:27:89:42:A8 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; Device: WAP; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.04 seconds

Vemos 2 puertos interesantes, que seria el 80 y despues el 53 que esta correspondido con el DNS, vamos a investigar primero el puerto 80 que aloja una pagina web, si entramos dentro veremos la siguiente pagina:

No veremos nada interesante, si inspeccionamos la pagina veremos lo siguiente:

Por lo que vemos es un dominio vamos añadirlo a nuestro archivo hosts de la siguiente forma:

Lo guardamos y entramos en la pagina mediante dicho dominio.

Veremos la misma pagina, pero vamos a realizar un poco de fuzzing a ver si encontramos otro subdominio o algo parecido.

Pero si intentamos encontrar algun subdominio no encontraremos nada, recordemos que tambien tenemos el puerto 53 abierto, vamos a probar a utilizar la herramienta dig para enumerar informacion en tal caso de que tuviera alguna mala configuracion.

Escalate user john

dig

Ya que tenemos un dominio valido, podremos hacer lo siguiente:

Info:

Veremos que nos muestra el servidor principal DNS de dicho dominio llamado ns1, con esta informacion podremos enumerar de forma mas detallada para ver si encontramos algo util.

Info:

Vemos que hemos conseguido informacion de la Zona DNS de forma anonima, es una vulnerabilidad muy critica, pero la cual con ella hemos obtenido las posibles credenciales del usuario john, vamos a probarlas por SSH.

SSH

Metemos como contraseña Myhiddenpazzword y veremos que estamos dentro, por lo que leeremos la flag del usuario.

user.txt

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar nginx como el usuario root, por lo que podemos intuir que la vulnerabilidad puede venir sobre la pagina web.

Vamos a leer la configuracion de dicho servidor:

Info:

Veremos varias cosas interesantes, pero entre ellas vemos que el usuario que deberia de ser www-data que es el que viene por defecto, en este caso lo esta gestionando root justo en el sitio web de /var/www/html el que vimos antes, por lo que vamos a crear un archivo en la web para poder ejecutar comando mediante PHP como el usuario root.

webshell.php

Lo guardamos y le ponemos permisos de ejecuccion:

Ahora accederemos desde la URL de esta forma:

Info:

Vemos que esta funcionando, por lo que vamos hacer lo siguiente:

Ahora si volvemos al servidor y listamos la bash veremos lo siguiente:

Info:

Vemos que ha funcionado, por lo que vamos a ejecutar lo siguiente para ser root.

Info:

Con esto ya seremos root, por lo que leeremos la flag del usuario root:

root.txt

Last updated