Responsive image

HackMyVM - Connection

29 junio 2021

Esta máquina se encuentra en la plataforma HackMyVM y ha sido creada por el usuario whitecr0wz.

Una máquina Linux muy sencilla que se basa en una mala configuración de samba para su explotación.

# Dificultad
Acceso Fácil
Escalada de privilegios Muy fácil

Enumeración


Como todas las máquinas de HackMyVM es necesario obtener la dirección de la máquina objetivo, para ello se utiliza la herramienta ping-sweep con el modo de detección de sistema operativo.

error loading image :(

La herramienta ha detectado 3 IP:

La enumeración se realiza en dos pasos, un primer paso con una enumeración rápida de todos los puertos y una segunda enumeración de los puertos abiertos más profunda.

error loading image :(

error loading image :(

El escaneo de puertos ha desvelado que está activado el servicio samba, por lo que se comienza la enumeración por ahí.

Primero se consultan los directorios compartidos por samba sin proporcionar contraseña.

error loading image :(

Se encuentra que existe un directorio llamado "share" y se lista su contenido.

error loading image :(

A continuación, se lista el contenido de la carpeta "html".

error loading image :(

Esta carpeta tiene un archivo index.html, el cual es el index.html predeterminado de Apache. Se prueba subir un reverse shell de php para subirlo a esta carpeta.


Explotación


Por rapidez y simplificar la resolución de la máquina se consulta la web PentestMonkeys en busca de un PHP reverse shell y se descarga modelo proporcionado. Es necesario indicar en el script PHP malicioso la dirección IP y puerto de la máquina del atacante.

error loading image :(

Tras la configuración del script se sube a la carpeta "html" a través del servicio samba.

error loading image :(

Una vez subido queda escuchar en el puerto indicado mediante netcat y ejecutar el script malicioso.

error loading image :(

error loading image :(

Al ejecutar el PHP malicioso se recibe la conexión en la terminal con netcat consiguiendo acceso al sistema.

error loading image :(

Sin embargo, la terminal es muy simple y poco útil. Será necesaria el tratamiento de la tty. TheHackerSnow tiene una guía detallada de como hacer esto → https://thehackersnow.com/tratamiento-de-una-tty/.

Después del tratamiento queda una terminal más agradable con la que se puede trabajar de forma más dinámica.

error loading image :(

Escalada de privilegios


El acceso se consigue con el usuario www-data, será necesario escalar a otro usuario. Primero, se comprueban qué usuarios existen en el sistema.

error loading image :(

Se comprueban los permisos SUID del usuario www-data y se descubre que tiene permiso para ejecutar el binario gdb.

error loading image :(

Se busca en la web de GTFobins una forma de escalar privilegios utilizando el binario gdb con permisos SUID. Una vez conocida la forma, se ejecuta y se obtiene una terminal privilegiada.

error loading image :(

Finalmente, pueden consultarse las flags de usuario y root.

error loading image :(