Raas DockerLabs (Hard)
Instalación
Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip raas.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh raas.tarInfo:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarlaPor lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Si enumeramos el SMB veremos lo siguiente:
Info:
Vemos que hay un recurso compartido bastante interesante llamado ransomware, si intentamos entrar como anonimo:
Pero vemos que no nos deja entrar como anonimo, por lo que haremos fuerza bruta para intentar descubrir las credenciales del SMB en el que nos deje entrar a dicho recurso compartido.
Antes enumeraremos usuarios:
Info:
Vemos que nos saca 3 usuarios:
Por lo que vamos hacer fuerza bruta con dichos usuarios en el SMB.
Netexec
users.txt
Info:
Vemos unas credenciales validas que hemos descubierto, por lo que haremos lo siguiente:
Info:
Si listamos los archivos, veremos estos, por lo que nos pasaremos todos al host.
Si leemos nota.txt veremos lo siguiente:
Vemos que tendremos que hacer ingenieria inversa en el pokemongo.
Escalate user bob
Ghidra
Abrimos el archivo pokemongo para hacerle ingenieria inversa.
Si vemos en el main hay varias funciones interesantes y tambien podemos ver en que cifrado (AES) esta cifrado el private.txt por lo que necesitaremos 2 claves:
CLAVE 1 ()
En el main vemos los siguientes valores hexadeciamles los cuales estan siendo procesados por la funcion encrypt_files_in_directory, por lo que en ascii seria lo siguiente:
local_438(0x3837363534333231) → "87654321"local_430(0x3635343332313039) → "65432109"
Todo junto se veria de la siguiente forma:
CLAVE 2 ()
Si nos vamos a la funcion recon podremos ver varios elemento hexadeciamles que si los pasamos a ascii podremos construir la siguiente clave.
Valores hexadecimales:
0x70713079:ASCII: "pq0y"
Invertido: "y0qp"
0x62786a66:ASCII: "bxjf"
Invertido: "fjxb"
100(en 2 bytes):Hexadecimal:
0x64ASCII: "d"
Invertido: "d" (no cambia)
0x34303937:ASCII: "4097"
Invertido: "7904"
0x37:ASCII: "7"
Invertido: "7" (no cambia)
0x65393239:ASCII: "e929"
Invertido: "929e"
0x77:ASCII: "w"
Invertido: "w" (no cambia)
0x66336461716d6f30:ASCII: "f3daqmo0"
Invertido: "0omqad3f"
0x63736734:ASCII: "csg4"
Invertido: "4gsc"
0x6c:
ASCII: "l"
Invertido: "l" (no cambia)
Todo junto se veria algo tal que asi:
Este tipo de cifrado esta formado por una Clave y un IV:
Vamos a crear un script para decodificarlo:
decrypt.py
Info:
Ahora si leemos el archivo desencriptado:
Vemos que obtuvimos unas credenciales, por lo que haremos lo siguiente:
SSH
Metemos como contraseña 56000nmqpL y veremos que estamos dentro.
Escalate user calamardo
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario node como el usuario calamardo, por lo que vamos hacer lo sisguiente:
Y con esto ya seremos el usuario calamardo.
Escalate user patricio
Si hacemos lo siguiente:
Info:
Por lo que vemos nos muestra las credenciales del usuario patricio, por lo que escalaremos a el de la siguiente forma:
Metemos comocontraseña Jap0n16ydcbd*** y ya seremos dicho usuario.
Escalate Privileges
Si vemos las capabilities que tenemos con el usuario, veremos lo siguiente:
Info:
Por lo que haremos lo siguiente:
Info:
Y con esto ya seremos root.
Last updated