HackMyVM - Helium
27 septiembre 2021
Esta máquina se encuentra en la plataforma HackMyVM y ha sido creada por el usuario sml.
Una máquina muy curiosa que aprovecha una técnica esteganográfica para ocultar la clave de acceso al sistema.
# | Dificultad |
---|---|
Acceso | Muy Fácil |
Escalada de privilegios | Fácil |
Enumeración
Como todas las máquinas de esta plataforma es necesario conocer la dirección IP de la máquina. Para ello utilizaré la herramienta ping-sweep con el modo de descubrimiento de sistema operativo para poder avanzar más rápido en la enumeración.
La herramienta ha detectado 3 IP:
- 10.10.10.1 - linux → Gateway
- 10.10.10.101 - windows → Sistema anfitrión
- 10.10.10.102 - linux → Máquina objetivo
Una vez identificada la máquina objetivo se comienza con el escaneo de puertos. Como es habitual para el escaneo se utiliza nmap y se divide en dos fases: la primera de un escaneo rápido de los 65535 puertos para detectar aquellos abiertos y la segunda para realizar una enumeración más exahustiva usando scripts básicos de los puertos abiertos.
Se encuentran los puertos 22 y 80 abiertos con los servicios SSH y HTTP respectivamente.
Mediante la herramienta whatweb se consigue un poco de información acerca del servicio HTTP.
Se utiliza curl para obtener el código html de la página principal de la web. Se encuentra un comentario con un potencial usuario "paul" y un archivo de audio.
Consultando la web se encuentra una imagen y el archivo de audio. El archivo de audio contiene el canto de un pájaro.
Se descarga la imagen para comprobar sus metadatos pero no tienen contenido oculto.
Consultando el archivo boostrap.min.css se encuentra una ruta a un fichero de audio secreto. Este fichero se descarga y al escucharlo recuerda a una psicofonia. Esto da a pensar que tiene un contenido oculto que puede ser visto consultando el espectograma.
Se utiliza un analizador de espectro online para comprobar si existe un contenido oculto en espectro del audio y se encuentra que sí hay información oculta. Sin embargo, la resolución de la herramienta utilizada no es suficiente para leer el contenido.
Se buscan otras herramientas online que hagan que también analicen el espectro y al cabo de un rato se encuentra una que sí permite que el contenido oculto sea legible. La web utilizada es: https://morsecode.world/international/decoder/audio-decoder-adaptive.html
Cuesta un poco leer el contenido oculto, pero tras reproducirlo varias veces se logra leer: dancingpassyo.
Ganar acceso
En este punto ya se tienen unas credenciales → paul:dancingpassyo. Estas credenciales son utilizadas para conectarse mediante SSH a la máquina objetivo.
Se consulta la flag de user y se procede con la escalada de privilegios.
Escalada de privilegios
Se consultan los permisos de paul y se encuentra que tiene permiso sudo para el comando ln.
Puede explotarse este permiso sudo para crear un link simbólico de ln a una bash y después ejecutar ln. En GTFOBins se encuentra una explicación más detallada de este proceso.
Se ejecuta el ataque y se consigue ser root en el sistema.
Finalmente, se concluye la resolución de la máquina consultando la flag de root.