💜
purple blog
  • 🟣Bienvenido ;)
  • Dockerlabs
    • 🔵Muy Facil
      • BreakMySSH
    • 🟢Facil
      • WhereIsMyWebShell
    • 🟡Medio
      • Pyred
      • Memesploit
      • Littlepivoting
      • HereBash
    • 🔴Dificil
  • THEHACKERSLABS
    • 🟢Facil
      • Academy
      • Grillo
      • Campana feliz
      • Microchoft
    • 🟡Medio
      • Resident
      • Debugsec
      • Cachopo
      • Sarxixas
    • 🔴Dificil
  • vulnyx
    • 🟢Facil
    • 🟡Medio
    • 🔴Dificil
  • HACKMYVM
    • 🟢Facil
      • Buster
      • Arroutada
      • Pwned
      • Alzheimer
      • BaseME
      • Hommie
      • Twisted
      • VivifyTech
      • Gift
      • Hundred
      • Icecream
      • Atom
      • System
      • Convert
      • Friendly3
      • TheWall
    • 🟡Medio
      • Democracy
      • HackingToys
    • 🔴Dificil
  • Cheats
    • Depuración de tty
Powered by GitBook
On this page
  • Fase de reconocimiento
  • Fase de intrusión
  • Escalada de privilegios
  • Conclusión
  1. THEHACKERSLABS
  2. Facil

Academy

PreviousFacilNextGrillo

Last updated 4 months ago

Fase de reconocimiento

Primero hacemos un escaneo de nmap para revelar los puertos abiertos ante los que nos enfrentamos:

  • 22 SSH

  • 80 HTTP

En el puerto 80 encontramos la página por defecto de apache, hago un poco de fuzzing con gobuster y encuentro un link el cual nos redirige a academy.thl, así que voy a añadir al /etc/hosts la ip de la maquina y academy.thl, esto lo que hará es hacer que si introduzco acdemy.thl, es como si estuviéramos entrando a la ip de la maquina:

Ahora si que nos cargaría el link, pero dentro de el no encontramos más que un libro y una frase, quizás deberíamos hacer un wpscan para ver si hay algún plugin desactualizado del cual me podría aprovechar:

Intento inspeccionar el interior del libro con técnicas de escenografía (stegcracker, exiftool y stegseek pero no encuentro nada), pero con un wpscan encontramos 2 plugins vulnerables los cuales no son realmente relevantes, le proporcionamo el rockyou para que consiga dar con la contraseña correcta y tarda poco en hacerlo:

wpscan --url academy.thl/wordpress --enumerate vp,u --plugins-detection aggressive --api-token IO7RNmY1qaUNbtkJirWfDCmkWZvacTELAapmzvgvaqI -P /usr/share/wordlists/rockyou.txt

Inicio sesion con los credenciales obtenidos mediante academy.thl/wordpress/wp-admin

Fase de intrusión

Hay un plugin que administra con una interfaz grafica los archivos del sistema, así que voy a subir una shell para poder ejecutar comandos y poder obtener RCE (Remote Code Execution) para la posterior escalada de privilegios (Muevo la shell a uploads):

Podemos ver que nuestra shell funciona de manera correcta:

Escalada de privilegios

Y como no, siempre lo primero que hay que hacer es la Depuración de tty. Navegando por el sistema me encuentro en /opt un script en python que nos proporciona unos credenciales, pero al parecer esto es un rabbithole porque los credenciales no funcionan

Importo pspy64 abriéndome un server desde mi maquina atancante (python3 -m http.server) y haciendo un wget desde la maquina victima, le doy permisos (chmod +x pspy64) y me percato de lo siguiente:

Se ejecuta cronológicamente cada minuto backup.sh en /opt, así que mi idea aqui seria crear un archivo llamado backup.sh dentro de /opt para que lo ejecute y poder ganar root:

Lo que estamos haciendo con chmod 4777 es otorgar todos los permisos a el 4, y el 4 es el creador del archivo, asi que cuando se vuelva a ejecutar el script, podremos ser root sin necesidad de proporcionar contraseñas:

Somos root!

Conclusión

En esta máquina, logramos la intrusión y escalada de privilegios aprovechando varias debilidades:

  • Nos hemos aprovechado de un Wordpress con contraseña debil, la cual hemos conseguido obtener mediante fuerza bruta usando wpscan, posteriormente dentro del Wordpress hemos podido obtener RCE de manera facil ya que el Wordpress llevaba un explorador de archivos

  • Una vez dentro del sistema, con pspy64 detectamos una tarea que se ejecuta cada minuto y creamos un archivo para poder conseguir ser root sin proporcionar contraseñas

Ahora vamos a mandar la revershell () pero antes nos , y la obtenemos con éxito:

🟢
Web revershells
url encodeamos la solicitud