Medusa

Máquina de dificultad fácil de la plataforma HackMyVM

Comprobacion

Lo que vamos a hacer para empezar es reconocer los puertos de esta maquina y tal es ver si mi maquina atacante se ve con la maquina ctf

Una vez que vez que vemos que esta la maquina activa vamos a pasar con la parte de escanear los puertos y ver que servicios corren paraesta maquina

Escaneo de puertos

Vamos a realizar un escaneo de puertos en el que nos genere un archivo el cual vamos a tratar luego con expresiones regulares con una herramienta nuestra

Ahora que hemos hecho el escaneo y que nos ha generado el archivo “puertos” vamos a tratarlo con la herramienta “portsClean” la cual esta en nuestro github. Esta herramienta te representa los datos de la siguiente manera

Una vez que tenemos los puertos que estan activos de la maquina vamos a aplicarles un escaneo un poco mas especifico para estos puertos, descubriendo que version corre para cada servicio y usando unos cuantos scripts de nmap escritos en Lua

Bueno ahi vemos un poco que versiones corren para esos servicios, pero tampoco vemos nada critico

Lo que vamos a hacer a continuacion es comprobar que tecnologias corren para la pagina web que esta alojando con la herramienta “whatweb” la cual funcion igual que el wappalyzer solo que desde consola

Una vez que hemos hecho que es un poco el reconocimiento basico para un ctf vamos a pasar a ver la pagina web

Web

Bueno como podemos ver la web no tiene mucho tampoco es una web default de apache2

Lo que se me ocurre hacer ahora es un fuzzing para descubrir posibles directorios que esten ocultos

Al hacerle fuzzing he visto que hay un directorio raro llamado “hades” el cual esta vacio por lo que toca hacerle fuzzing a este directorio para ver si hay algo escondido

Cuando se completa el fuzzing veo que hay un archivo “door.php” el cual si nos metemos nos sale la siguiente pagina

Sacar la palabra no fue muy complicado ya que si nos damos cuenta, en la pagina principal hay una frase que dice “check Kraken open the door” por lo que un poco se entiend que la palabra clave aqui es “Kraken”

Por lo que la ponemos y vamos a ver que hay dentro

Dentro lo que vemos es “medusa.hmv” por lo que a simple vista parece un dominio, por lo que vamos a añadir dicho dominio al archivo “/etc/hosts”

Una vez que tenemos eso podemos hacer fuzzing para ver si hay algun subdominio

Vemos que hay un subdominio en el cual parece que va a estar la siguiente pista para seguir con nuestra maquina ctf, el cual vamos a poner tambien en el “/etc/hosts”

Ahora si nos vamos a la pagina web, vemos una cosa diferente a la que veiamos antes

Lo que toca ahora yo creo que es hacerle fuzzing para ver si vemos algo interesante

El directorio “files” me ha parecido interesante por lo que voy a hacerle fuzzing a esta ruta

Vemos esos archivos, el que mas interesante me parece es “system.php” asi que vamos a intentar sacar el contenido que tiene dicho archivo .php

Si nos metemos como tal en dicho archivo en firefox no vemos nada ya que el archivo .php es interpretado por el buscador por lo que vamos a ver si con alguna palabra podemos apuntar a la ruta “/etc/passwd” de la maquina

Por lo que se ve con la palabra “view” podemos apuntar a archivos dentro del sistema por lo que vamos a abusar de esto para hacer un LFI

Aqui por ejemplo vemos todo el contenido del archivo “/etc/passwd”

Ahora vamos a ver como esta programado el archivo “system.php” por que no es normal que me deje ver archivos dentro de la maquina, para ello usamos este wrapper el cual me da el contenido del fichero php en base64

Nos vamos a la terminal y decodeamos el churro que nos ha reportado el wrapper

Por lo que vemos, con el parametro “view” nos permite apuntar a cualquier archivo en el sistema y luego nos lo reporta en la pagina web

Bueno una vez que tenemos esto lo que queremos hacer ahora es intentar ganar acceso a esta maquina, lo que se me ocurre es pasar este LFI a un Log Poisoning asi que vamos a irnos a los ficheros log de los servicios que estan corriendo en esta maquina para ver si tenemos permisos de lectura en alguno de ellos

Por lo que veo no tenemos permisos de lectura para apache, asi que vamos a probar a hacerlo con ftp, asi que antes de ver su fichero log voy a hacer un intento de conexion falsa por ftp para que si puedo ver el fichero tenga la posibilidad de ver mi intento fallido de conexion

Ahora que veo que no me deja voy a apuntar al fichero de log de ftp para ver si me lo abre y puedo leerlo

Parece ser que si que me deja leer este archivo asi que vamos a pasar de LFI a Log Poisoning

Lo que voy a hacer es lo siguiente, voy a intentar iniciar sesion por ftp y en vez de poner un usuario voy a poner codigo php para que se interprete

Y asi es como conseguimos una reverse shell, una vez que hemos inyectado el codigo php en el fichero de logs de ftp tenemos que ir a la web y recargar para que se interprete y nos mande la reverse shell

Escalada de privilegios

Okey pues empezamos con la ultima parte de esta maquina que es la escalada de privilegios, aunque antes de eso lo que vamos a hacer es enviarnos una bash interactiva para operar mas facilmente

Muy bien pues ahora lo que vamos a hacer es buscar la manera de escalar privilegios

Investigando un poco he visto que hay un directorio el cual tiene un archivo pero es del usuario “spectre” asi que tenemos que ver primero como podemos ser este usuario

Despues de un rato buscando he visto este archivo zip el cual me ha llamado la atencion

Asi que lo que voy a hacer es traermelo a mi maquina y ver que es lo que contiene

Me monto un servidor web con python y me lo bajo a mi maquina de atacante

Vemos que dentro del archivo .zip hay un .dmp que esto es un archivo dump asi que vamos a descomprimirlo para ver que tiene ese archivo

Vemos que el archivo tiene contraseña asi que vamos a intentar romperla con john

Una vez puesta la contraseña ya tenemos nuestro archivo .dmp el cual vamos a tratar con la herramienta pypykatz

Y ahora vamos a buscar dentro del archivo si estan las credenciales del usuario spectre

Una vez que las tenemos vamos a intentar iniciar sesion por ssh con el usuario spectre

Ahora que estamos dentro del usuario spectre vamos a ver la flag de usuario que esta en el directorio de este usuario

Una vez que tenemos esto hecho vamos a ver como escalar privilegios al usuario root, despues de un rato mirando he visto que el usuario spectre pertenece al grupo “disk” lo cual es una cagada ya que si podemos ver los discos podemos por ahi escalar privilegios

Aqui vemos que podemos listar todo y que podemos ver el disco en el que se ha montado todo el sistema de archivos por lo que podemos usar “debugfs” para abrir la particion /dev/sda1 en modo escritura y poder ver archivos que no podriamos ver con nuestro usuario actual

Ahi vemos el binario asi que vamos a ejecutarlo de la siguiente manera

Y ahora lo que vamos a ver es el fichero /etc/shadow en el cual esta la contraseña del usuario root

La cual vamos a romper

Una vez rota vamos a elevar privilegios a root y vamos a ver la flag final

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut