Mr. Robot CTF es una máquina de la plataforma TryHackMe con una dificultad media, que abarca múltiples aspectos del hacking ético. Esta máquina es ideal para que están aprendiendo los fundamentos de la ciberseguridad y desean poner en práctica sus conocimientos teóricos. A través de este CTF, tendrán la oportunidad de explorar diversas técnicas y herramientas utilizadas en pruebas de penetración, desde el reconocimiento hasta la explotación y escalada de privilegios.
Reconocimiento
Primero realizamos un escaneo para mostrar todos los puertos abiertos en la maquina Mr Robot y encontramos que se encuentran el puerto 80 y el 443 “http y https” que son servicios web puestos en marcha con Apache.

Si entramos a la pagina web por el puerto 80 vemos el siguiente contenido con temática de la serie Mr. Robot pero si ejecutamos que nos muestran en la página, no nos lleva a ningun lado.

Realizaremos un listado de directorios de la pagina web aplicando fuerza bruta con la herramienta “gobuster”.
gobuster dir -u http://10.10.212.114/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x txt,php -b 404,403,301
Encontramos algunas rutas interesantes como http://10.10.212.114/wp-login.php que es un panel de autenticación de wordpress.

Análisis de Vulnerabilidades
Al intentar acceder con unas credenciales falsas vemos que nos muestra un error en la respuesta, esto nos permitiria realizar un ataque de fuerza bruta para enumerar usuarios válidos.

Por otro lado, en el robots.txt encontramos la primera key y un diccionario llamado fsocity.dic que descargaremos.

Con el siguiente comando reducimos el numero de lineas del diccionario para aplicar la fuerza bruta al panel de autenticacion de wordpress.

Si interceptamos la peticion en el panel de autenticación vemos que se tramita por POST a /wp-login.php con la siguiente informacion log=test&pwd=test&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.37.83%2Fwp-admin%2F&testcookie=1, utilizaremos la herramienta hydra para aplicar fuerza bruta.

Explotación
Una ves aplicada la fuerza bruta vemos que tenemos un usuario valido que es elliot, ahora aplicaremos fuerza bruta para la contraseña.
hydra -L dictionary.txt -p test 10.10.37.83 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.37.83%2Fwp-admin%2F&testcookie=1:Invalid username."

Si utilizamos el usuario elliot vemos que nos responde con otra cadena de texto en el error.

Por lo tanto, utilizaremos esa cadena de texto para filtrar en hydra por la contraseña correcta.
hydra -l elliot -P dictionary.txt 10.10.37.83 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.37.83%2Fwp-admin%2F&testcookie=1:The password you entered for the username"

Una vez accedimos con las credenciales al panel de wordpress nos lanzaremos una reverse shell con php editando plugin de wordpress y agregando el codigo de la reverse shell.

Una vez todo listo, debemos hacer click en Activate para que se active el plugin y se ejecute el codigo php para recibir la shell.

Escalada de Privilegios
Recibida la shell, haremos el tratamiento de la tty para tener todas las capacidades FullTTY.

python3 -c 'import pty; pty.spawn("/bin/bash")'
(dentro de la sesión de nc) CTRL+Z; stty raw -echo; fg; ls; export TERM=xterm
A continuacion vemos que tenemos la segunda key key-2-of-3.txt y la contraseña del usuario robot hasheada en formato md5 password.raw-md5.

Procedemos a crackear el hash y obtenemos la contraseña en texto plano.

Iniciamos sesion con el usuario robot y la contraseña obtenida para despues lograr ver la segunda key key-2-of-3.txt.

Buscando por el sistema encontramos que el binario nmap tiene permiso SUID por lo tanto podemos escalar privilegios gtfobins.

Ya que nos convertimos en usuario root podremos ver la ultima flag de la maquina key-3-of-3.txt y completar el laboratorio.

Gracias
