Write-up: Máquina Absolute (Vulnyx)


Comenzamos con averiguar la dirección IP de la Máquina Victima, para ello primeramente utilizaremos la herramienta netdiscover, para ello ejecutamos el siguiente comando:

$ netdiscover -i eth1 -r 10.0.2.0/24

  • Kali (Máquina Atacante): 10.0.2.4
  • Máquina Victima: 10.0.2.75
Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:

$ ping -c 1 10.0.2.75


Como se puede comprobar por el TTL nos enfrentamos a una Máquina Linux.

A continuación, realizamos con la herramienta nmap un reconocimiento de los servicios, para ello ejecutamos el siguiente comando:

$ nmap -Pn -p- 10.0.2.75 -sVC


Como podemos comprobar la Máquina Victima tiene abiertos los puertos 80139 445.

Comprobamos que es lo que corre por el puerto 80.


A continuación, si realizamos con la herramienta gobuster un fuzzing web, no encontramos nada.

Enumeramos el servicio SMB (445) con la ayuda de la herramienta smbclient, listamos los recursos compartidos que hay disponibles sin usar credenciales, para ello ejecutamos el siguiente comando:

$ smbclient -N -L 10.0.2.75


Encontramos el Share llamado web.

Con la ayuda de la herramienta smbmap enumero por sesiones nulas para ver que permisos tenemos en los recursos, para ello ejecutamos el siguiente comando:

$ smbmap -H 10.0.2.75 -u '' -p ''


En el recurso compartido llamado web, tenemos permisos de lectura y escritura.

Nos conectamos al recurso y una vez conectados listamos el contenido, para ello ejecutamos el siguiente comando:

$ smbclient -N //10.0.2.75/web


Encontramos un archivo en el recurso compartido llamado index.html, haciéndonos pensar que está conectado con el puerto 80.

Nos creamos una webshell en .php de la siguiente manera, para ello ejecutamos el siguiente comando:

$ nano webshell.php


La subimos al recurso compartido, para ello ejecutamos el siguiente comando:

smb: \> put webshell.php

Con la ayuda de la herramienta rpcclient enumeramos los shares, para ello ejecutamos el siguiente comando.

$ rpcclient -NU "" 10.0.2.75 -c "netshareenum"


Obtenemos el directorio Uploaded-Backup-Files en el share web.

Accedemos a el.



Está protegido por un auth_basic, ademas en la cabecera WWW-Authenticate encontramos un mensaje que incluye un saludo personalizado: "welcome to m.howard server", enumerando asi el usuario m.howard.

A continuación, con la herramienta hydra realizamos un ataque HTTP Basic Auth para intentar crackear la contraseña del usuario m.howard, para ello ejecutamos el siguiente comando:

$ hydra -l m.howard -P rockyou.txt http-get://10.0.2.75/Uploaded-Backup-Files -t 64


Obtenemos la contraseña slideshow.

Accedemos a la webshell.php creada anteriormente con estas credenciales obtenidas.


A continuación, en nuestra terminal de nuestra Máquina Atacante y con la ayuda de la herramienta de netcat(nc) nos ponemos a la escucha por el puerto 443 por donde vamos a recibir la conexión, para ello ejecutamos el siguiente comando.

$ nc -lvnp 443

Ejecutamos la siguiente reverse shell en busybox url encodeada y la pegamos en el parámetro cmd de la siguiente manera.



Y obtenemos una shell como www-data.

A continuación, hacemos un tratamiento de la TTY para obtener una shell interactiva y así evitar problemas, para ello ejecutamos los siguientes comandos.

$ script /dev/null -c bash
   Ctrl + Z
$ stty raw -echo;fg
$ reset xterm
$ export TERM=xterm

Enumeramos los permisos sudo, para ello ejecutamos el siguiente comando:

$ sudo -l

Nos encontramos con el binario rclone que lo podemos ejecutar como el usuario root, en la ayuda de este binario encuentro que con el parámetro serve nos permite levantar servidores de multiples protocolos, por lo tanto, nos levantamos un servidor HTTP apuntando a la clave privada id_rsa del usuario root, para ello ejecutamos el siguiente comando:

$ sudo -u root /usr/bin/rclone serve http /root/.ssh --addr 0.0.0.0:1234

Accedemos a ella.



Nos la copiamos en un archivo en la Máquina Victima, para ello ejecutamos el siguiente comando:

$ nano id_rsa

Utilizamos el fichero id_rsa para conectarnos via ssh , para ello ejecutamos los siguientes comandos:

$ chmod 600 id_rsa
$ ssh -i id_rsa root@127.0.0.1


¡¡¡Ya somos root!!!

Ya podemos leer las flags de user root.