🎩Mr. Robot

Reconocimiento

Empezamos haciendo un escaneo de puertos con Nmap:

sudo nmap -sSVC --open --min-rate 5000 -Pn -v 10.10.191.192 -oN escaneo.txt
Esccaneo Nmap

Analizando los resultados vemos que los puertos 80 HTTP y 443 HTTPS estΓ‘n abiertos.

Visitamos la pΓ‘gina web y no topamos con una interfaz muy interesante

Fuzzing web

Usamos Gobuster para encontrar directorios.

El fuzzing nos da muchos resultados de interΓ©s. En lo personal /robots.txt siempre es de las primeras rutas que me gusta revisar ya que nos puede dar informaciΓ³n extra.

El archivo robots.txt revelΓ³ informaciΓ³n ΓΊtil.

Nos encontramos con un archivo que al parecer contiene una lista de contraseΓ±as o usuarios.

TambiΓ©n encontramos con la ruta /key-1-of-3.txt donde encontramos la primer flag.

DespuΓ©s no movemos a la ruta /wp-login, en donde tratamos poner algunas de las credenciales tΓ­picas como admin:admin pero ninguna funciona.

Fuerza bruta

Como no funcionΓ³ alguna de estas combinaciones, ahora intentaremos un ataque de fuerza bruta. Para esto usaremos BurpSuite, aunque tambien es posible hacerlo con hydra.

Primero interceptamos el login con el proxy y enviamos el request lo enviamos al intruder y ahΓ­ agregamos el marcador de payload al campo del usuario que es el que queremos encontrar.

DespuΓ©s entramos a la pestaΓ±a de payloads cargamos la lista (fsocity.dic) que habΓ­amos descargado anteriormente en /robots.txt, una vez cargada el archivo damos clic en start attack.

En los resultados filtramos por length, encontrΓ‘ndonos con que el usuario Elliot es el ΓΊnico diferente y en la respuesta confirmamos que es un usuario correcto.

Ahora buscaremos alguna contraseΓ±a vΓ‘lida para esto tambiΓ©n hay muchas herramientas que podemos utilizar, en este caso usaremos wpscan con el mismo diccionario descargado.

Dado que estaba tomando mucho tiempo en encontrando la contraseΓ±a, podemos aprovechar para explorar los otros directorios encontrados con Gobuster. DespuΓ©s de revisar un rato, en /license hallamos un texto en lo que parece base64.

Copiamos el texto y lo decodificamos:

Y al parecer tenemos la contraseΓ±a del usuario elliot.

Probamos las credenciales y listo logramos entrar sin tener que esperar a que wpscan termine. De igual forma si quieren encontrar la contraseΓ±a con fuerza bruta les recomiendo que empiecen por el final del diccionario fsocity.

ExplotaciΓ³n

Una vez encontrada la contraseΓ±a entramos al panel de administrador y hacemos un poco de exploraciΓ³n. En la pestaΓ±a Appearance/Editor podemos editar templates de cΓ³digo PHP.

En una de las plantillas , cargamos una reverse shell la cual conseguimos en pentestmonkeyarrow-up-right, solo editamos los campos de de $ip y $port.

Nos ponemos en escucha con nc -lvnp 4444 y como la reverse shell la cargamos en la plantilla de 404, podemos poner cualquier cosa que llame este script.

Le damos un tratamiento a la terminal para que sea un poco mΓ‘s interactiva y nos dirigimos al directorio del usuario encontrado en /home, donde hay dos archivos un txt donde esta la segunda flag, en el otro archivo hay un hash que parece ser del usuario robot.

En esta pΓ‘ginaarrow-up-right podemos descifrar el contenido de este hash.

Con la contraseΓ±a obtenida migramos al usuario robot y vemos el valor de la segunda flag dentro de key-2-of-3.txt.

Escalada de privilegios

Para escalar privilegios, primero intentamos ejecutar el comando sudo -l pero el usario robot no puede ejecutar comandos sudo, por lo que procedemos a buscar archivos con privilegios SUID.

Dentro de los archivos encontrados hay uno que esta fuera de lo comΓΊn: Nmap.

Haciendo una bΓΊsqueda por internet hallamos como podemos abusar de este archivo. Simplemente ejecutando:

obtenemos una shell como root, la tercera flag estΓ‘ dentro del directorio /root.

Recomendaciones de MitigaciΓ³n

  1. EnumeraciΓ³n de directorios:

    • SoluciΓ³n: Deshabilitar o restringir el acceso a /robots.txt y archivos sensibles.

    • Mejora: Configurar reglas de firewall para evitar escaneos automatizados.

  2. ProtecciΓ³n contra fuerza bruta:

    • SoluciΓ³n: Implementar lΓ­mites de intentos fallidos y CAPTCHA en formularios de login.

    • Mejora: Utilizar autenticaciΓ³n multifactor (MFA).

  3. ExplotaciΓ³n de plugins vulnerables:

    • SoluciΓ³n: Mantener los plugins y CMS siempre actualizados.

    • Mejora: Usar polΓ­ticas de revisiΓ³n antes de instalar nuevos plugins.

  4. Escalada de privilegios:

    • SoluciΓ³n: Revisar y eliminar archivos con permisos SUID innecesarios para prevenir escaladas de privilegios.

    • Mejora: Implementar el principio de privilegio mΓ­nimo.

  5. Reverse shell:

    • SoluciΓ³n: Monitorizar logs y conexiones sospechosas.

    • Mejora: Usar soluciones de detecciΓ³n de intrusiones (IDS) para identificar shells remotas.

Last updated