Para poder hacer uso de esta máquina primero debemos descargar los archivos y así desplegarlo con Docker.
Descargamos el archivo de la página dockerlabs.es/#
Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos 2 archivos
Para desplegar el laboratorio ejecutamos de la siguiente manera, así también podemos ver que nos indica la dirección que tendremos, así también el que hacer cuando terminemos este.
Realizamos el escaneo de la dirección IP que obtuvimos y podemos observar que tenemos 2 puertos habilitados.
Al dirigirnos a la dirección web por medio del navegador podemos observar que es la página default de apache2
.
Realizamos un escaneo de directorios y se observa que obtenemos respuesta que pertenecen a un servicio de WordPress.
Al dirigirnos al directorio /wp-admin
observamos que no podemos ingresar debido a que este se redirige a una dirección con dominio.
Para evitar esto agregaremos la dirección asucar.dl
a nuestra lista de hosts.
Una vez realizado ello podemos observar que ya podemos acceder y observar el login de WordPress.
Si volvemos a ingresar la dirección IP o colocamos el nombre de dominio solo, podemos observar que nos lleva a la página de asucar Moreno
.
Revisando los archivos observamos que solo hay un autor llamado WordPress.
Probamos ingresando ese usuario y podemos observar que sí es válido, pero no contamos con el password.
Como ya tenemos el usuario procedemos a buscar el password, esto podemos buscar usando `wpscan`, pero no obtenemos un password.
wpscan --password-attack xmlrpc -t 20 -U wordpress -P /usr/share/wordlists/rockyou.txt --url http://asucar.dl/
Ya que no obtuvimos nada, volveremos a usar wpscan
para ver si identifica alguna vulnerabilidad y observamos que tenemos un Local File Inclusion.
wpscan --url "http://asucar.dl" --disable-tls-checks --api-token XXXXXXXXXXXXXXXXXXXXXX
Buscando sobre un exploit para esa versión encontramos el siguiente exploit en el cual podemos observar como realizar este LFI.
Con esta información nos dirigimos al navegador y agregamos la ruta
/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd
Donde luego de enviarla podemos observar el contenido del archivo passwd
.
Ya que tenemos el servicio SSH habilitado probaremos un ataque de fuerza bruta con el usuario que observamos curiosito
. Después de unos segundos podemos observar que obtuvimos el password.
curiosito:password1
Nos conectamos por ssh y ya estamos dentro de la máquina.
Ya que estamos dentro procedemos a buscar manera de escalar privilegios. Para ello primero listamos los archivos de la carpeta en la que estamos y observamos que no hay algún archivo que nos llame la atención. Pero si realizamos un sudo -l
se puede ver que tenemos acceso a puttygen
Para saber más sobre puttygen
tenemos la siguiente descripción, pero de manera general es para generar claves SSH.
Con esto en mente, Ya debemos tener idea de que es lo que vamos a realizar. Crearemos unas claves SSH y como podemos ejecutarlo como root podemos usar esas claves para reemplazar las de root y de esa manera obtener root. Para ello lo que haremos es primero generar una clave SSH. Usaremos el comando para crear una clave SSH de 2048 bits en formato OpenSSH y se guardará en el archivo gm4tsy
.
/usr/bin/puttygen -t rsa -b 2048 -O private-openssh -o gm4tsy
Luego usamos el siguiente comando que extrae la clave pública del archivo de clave privada gm4tsy
y lo añade al archivo authorized_keys
, para permitir que la clave privada correspondiente pueda ser utilizada para acceder al servidor SSH que tenga este archivo de authorized_keys
.
/usr/bin/puttygen -L gm4tsy >> authorized_keys
Luego usamos el siguiente comando para extraer la clave pública del archivo de clave privada gm4tsy
y sobrescribir el archivo /root/.ssh/authorized_keys
con esta clave pública, utilizando privilegios de root para así poder autenticarnos como root usando esa clave privada.
sudo /usr/bin/puttygen gm4tsy -o /root/.ssh/authorized_keys -O public-openssh
Por último nos conectamos por SSH y podemos observar que ya tenemos acceso a root y de esta manera culminamos esta máquina.