Mr Robot – THM - Linux - Media/Fácil
Mr. Robot es una máquina inspirada en la serie del mismo nombre. Está clasificada como de dificultad fácil-media y es ideal para principiantes que quieren practicar técnicas de enumeración web, explotación de vulnerabilidades en WordPress y escalada de privilegios en Linux.
Reconocimiento
Prueba de conexión
Enumeración web
Al acceder a la ruta de robots encontramos información importante.
Al acceder a fsocity.dic nos muestra una serie de palabras que aparentemente son un diccionario de usuarios.
Los copiaremos y nos crearemos un archivo con este listado. Y en la ruta key-1-of-3.txt encontramos la primera flag.
En la ruta /wp-login/ tenemos un panel de login de Wordpress, usaremos el diccionario para acceder a él.
Explotación
Con la herramienta intruder de Burpsuit usaremos un payload para identificar el usuario correcto de wordpress.
Identificamos el usuario Elliot, ahora con el mismo diccionario identificaremos la contraseña de este usuario.
Lo primero será eliminar los textos duplicados del diccionario.
Iniciaremos el ataque por diccionario con el comando:
Wpscan –-url <ip> -U Elliot -P fsoc.txt
El escaneo nos indica además que el theme que esa es twentyfifteen y que la versión usada esta desactualizada.
Y nos entregara la contraseña del usuario Elliot
De igual forma al entrar a la ruta /license/ en la parte inferior nos dará un texto cifrado.
Post explotación
Ingresamos las credenciales a la página (/wp-login/) pudiendo acceder de forma exitosa.
Ya que tenemos la opción de editar los temas, podemos aprovechar esto para insertar una reverse Shell para que se ejecute desde el servidor. Modificamos el Template 404 (404.php). Para esto borraremos el código que tiene y lo reemplazaremos por la reverse Shell.
Ponemos nuestro puerto en escucha y al acceder a una pagina que no exista el servidor re dirigirá la petición al template 404 y activara la reverse Shell.
Con la conexión establecida, navegamos por los directorios hasta llegar a /home/robot. Al listar en esta ruta encontramos dos archivos.
Al archivo key-2-of-3.txt no tenemos el permiso para leerlo, ya que solo usuario robot tiene los permisos para hacerlo.
El archivo password.raw-md5 nos muestra un texto cifrado
Con la posible contraseña probaremos el acceso con el usuario robot. Para esto debemos exportar una Shell interactiva con el comando:
python3 -c 'import pty; pty.spawn("/bin/bash")'
y luego su robot
nos pedirá la contraseña e ingresaremos la que nos dio crackstation. Con esto ya tenemos acceso como robot, y el acceso a la key 2
(cuando ponemos * autocompleta el texto faltante en vez de poner cat key-2-of-3.txt
podemos poner cat key*
y el sistema asumirá que estamos nombrando ese archivo)
Elevación de privilegios
como el usuario robot no puede ejecutar comandos como root, debemos buscar un archivo que si tenga el permiso de root.
find / -perm -4000 -type f 2>/dev/null
Desglose del comando:
-Find
: herramienta para buscar archivos en el sistema/
: ruta donde va a buscar (en este caso, todos los directorios del sistema)-perm -4000
: buscara todos los archivos que tengan un permiso especial de ejecución como root (bit SUID)-type f
: que busque solo archivos (no carpetas ni enlaces, etc)2>/dev/null
: oculta mensajes de error (por ejemplo, en directorios donde no tenemos permisos para acceder)
Encontramos que podemos usar la herramienta nmap, y que al buscar información tenemos una vulnerabilidad en el modo interactivo (https://medium.com/@abinreji8/interactive-mode-vulnerability-in-nmap-3-81-971ddfd1b27a)
Este modo ya no esta disponible en las versiones nuevas de nmap por seguridad.
Ya ganamos el acceso como root Listamos los directorios y entramos a la carpeta root