CTF Express Intermediate
URL Download CTF = https://drive.google.com/file/d/1PJ4HmKWZJCNtc7leqWLPlhmRgnSosUUU/view?usp=sharing
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 express.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_run.sh express.tarInfo:
██████╗ ██╗ ██╗███╗ ██╗██████╗ ██████╗ ██╗
██╔══██╗██║ ██║████╗ ██║╚════██╗██╔══██╗██║
██████╔╝██║ █╗ ██║██╔██╗ ██║ █████╔╝██║ ██║██║
██╔═══╝ ██║███╗██║██║╚██╗██║ ╚═══██╗██║ ██║╚═╝
██║ ╚███╔███╔╝██║ ╚████║██████╔╝██████╔╝██╗
╚═╝ ╚══╝╚══╝ ╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝
==
@+:@ @##@
@++:-----+@ @@#+:----:+#
#-+-----:+:---------:
*::-----++-----::::#
::------+:--------:
#-+------+:-::-----#@
*::+=@@#++-------::@
@+= @++::+#@@@#*#
#-@
*+#++@
+-:::+-@
:-:+:::+
@+::*::::
*::++-::*
=:--:-:++ @-#
#*:---:--++@ @@
@::-:--++*
@::-:++#
*++*
:: Plataforma de máquinas vulnerables ::
:: Desarrollado por Pwn3d! y Dockerlabs - creado por @d1se0 ::
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ FLAG{Pwn3d!_is_awesome!} █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
[✔] bc ya está instalado.
[✔] Docker ya está instalado
[!] Limpiando previos contenedores e imágenes
[✔] Cargando la máquina virtual
[✔] Activando máquina virtual
[✔] Máquina activa. Dirección IP: 172.17.0.2
[!] Presiona Ctrl+C para limpiar y salir
Por 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:
Vemos que hay una pagina web activa, pero no veremos gran cosa, si hacemos un reconocimiento por UDP ya que por TCP no encontramos nada interesante, vamos a filtrarlo por los puertos abiertos.
UDP
Info:
Y vemos que el puerto 161 esta abierto por UDP por lo que con un script de nmap vamos a ver mas informacion sobre dicho puerto:
Info:
Vamos a intentar obtener informacion sobre dicho puerto a ver si lo tuviera mal configurado:
Info:
Y por lo que vemos si nos vuelca informacion, por lo que vemos en el correo, nos muestra un dominio, por lo que vamos a probar a buscar en dicho dominio en la web.
Lo guardamos y buscamos lo siguiente:
Vemos que nos muestra una pagina web en dicho dominio, por lo que vamos hacer un poco de fuzzing.
Vamos a probar a poner una tipica donde suelen haber malas configuraciones en muchas paginas web.
Info:
Vemos que hay una interesante llamada binary que si entramos dentro, veremos un archivo llamado game el cual podremos descargar.
Info:
Vemos que es como un minijuego, pero tendremos que adivinarlo 100 veces el numero aletorio, para descubrir la clave secreta, por lo que le haremos ingenieria inversa:
Escalate user admin
Ingenieria Inversa
Vamos a ejecutar una herramienta para decompilar el binario y asi ver las funciones que se llaman, etc...
Una vez que hayamos creado un nuevo proyecto e importado el binario para ser decompilado, si nos vamos a la parte izquierda donde estan las functions veremos una bastante interesante llamada hidden_key que si entramos en ella, veremos lo siguiente:
Vemos que esta una clave ofuscada por lo que vamos a decodificarla de la siguiente forma:
Esto unido todo se veria de esta forma:
SSH
Por lo que podemos pensar que puede ser la contraseña de un usuario del sistema, probemos con el nombre que vimos en el correo del puerto UDP anteriormente que era admin:
Metemos como contraseña P@ssw0rd!#--025163fhusGNFE y veremos que estamos dentro, por lo que leeremos la flag del usuario.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Por lo que vemos podemos ejecutar el binario python3 junto al script del opt como el usuario root.
si leemos el codigo del script, veremos lo siguiente:
Vemos que se esta importando una libreria bastante rara en el script que se llama pytest por lo que vamos a buscarla a ver que hace.
Info:
Si listamos para ver los permisos que tiene dicha libreria...
Info:
Vemos que somos del grupo del script, por lo que podremos escribirlo, haciendo lo siguiente.
Esto lo que hara sera hacer un chmod u+s /bin/bash, por lo que lo guardamos y ejecutamos lo siguiente para que se ejecute la libreria y se nos ponga con permisos SUID la bash.
Y tendremos que darle a Ctrl+C para que pare la "animacion" y si comprobamos la bash.
Info:
Vemos que tiene permisos SUID por lo que haremos lo siguiente:
Y con esto ya seremos root, por lo que leeremos la flag de root.
root.txt
Last updated