CTF Smishing Intermediate
URL Download CTF = https://mega.nz/file/aMETwSKY#bRd1poVd5L-rN9bHA25z-gYL2rpVz5ahjirrq6WAczU
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 smishing.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_run.sh smishing.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 salirPor 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:
Veremos varias cosas interesantes, entre ellas el puerto FTP y el 80, si entramos por el FTP de forma anonima ya que vemos que nos deja, veremos lo siguiente:
Dejamos la contraseña en blanco y si listamos veremos esto:
Nos vamos a descargar la note.txt para ver que pone.
note.txt
Veremos que no hay gran informacion simplemente alguien contrato unos servicios de un hacker, para poder ver la estafa que hay montada, si entramos en el puerto 80 veremos que hay una pagina web simulando que es Orange por lo que vemos es la pagina de los estafadores, como no vemos gran cosa, vamos a realizar un poco de fuzzing.
Gobuster
Info:
Veremos muchas cosas, pero entre ellas hay algo muy interesante llamado page.zip, vamos a ver que contiene.
Ahora si lo descomprimimos veremos la siguiente estructura de carpetas:
Info:
Veremos que es la estructura de la pagina entera, pero vemos un archivo muy interesante llamado apiTelegramBot.py si vemos que hace por dentro, veremos lo siguiente:
Veremos que los estafadores tienen un bot de Telegram con el que todas las tarjetas de credito que se depositan en la pagina se las van enviando con dicho bot al grupo de Telegram, si vemos esta estableciendo la API del Bot y el Chat ID del grupo de Telegram, por lo que vamos añadir dicho dominio que pone api.telegram.org al archivo hosts para que podamos utilizar dicho bot para obtener los mensajes que se vayan enviando desde dicho grupo, a ver si descubrimos algo interesante:
Conexión API Telegram Bot
Una vez que lo guardemos vamos a entrar por dicho dominio poniendo lo siguiente para realizar la conexion con el bot y ver si sigue funcionando.
Info:
NOTA: Si por lo que sea te da un
500 errorsignifica que hay que esperar un poco mas hasta que el servicio se levante del todo, para que funcione.
Vemos que no nos aparece nada asi interesante y es por que cuando se envie un mensaje aparecera durante un tiempo corto en dicho chat update, por lo que vamos a montarnos un script para ir refrescando cada 1 segundo e ir obteniendo cualquier chat que se hable.
fetch_telegram_updates.py
Ahora lo ejecutaremos de esta forma:
Info:
Despues de un rato esperando, veremos que ya se van repitiendo, por lo que suponemos que no hay mas mensajes interesantes, vamos a cerrarlo con Ctrl+C y si leemos los mensajes, veremos varias cosas interesantes.
Por lo que vemos esta diciendo que hay otro dominio llamado staff.login en el que tiene un login para ellos, vamos añadirlo a nuestro archivo hosts y entrar dentro de el.
Lo guardamos y entraremos a dicho dominio a ver si carga.
Escalate user neopro (SMB)
Info:

Veremos que si hay un login por lo que vamos a probar las credenciales que hemos visto anteriormente a ver si sirven.
Metiendo dichas credenciales, veremos que si nos deja entrar, si nos vamos al apartado Perfil veremos una foto de la torre eiffel y despues una captura de una configuracion de SMB:

Vemos que esta el usuario neopro como usuario samba, pero no tenemos ninguna contraseña, tambien vemos que esta un magic script llamado neopro.sh por lo que vamos a crear el archivo para tenerlo ya preparado.
neopro.sh
Lo guardamos y vamos a probar a utilizar como contraseña para conectarnos al recurso compartido llamado NeoProShare la palabra torre eiffel ya que hay una foto de la misma y podria ser dicha contraseña.
Metemos como contraseña torre eiffel...
Veremos que estaremos dentro, acordemonos de que hay un magic script, no veremos ningun archivo llamado neopro.sh, por lo que podemos aprovechar esta vulnerabilidad ya que ahora si subimos un archivo llamado de la misma forma se va a ejecutar, por lo que vamos a ponernos a la escucha.
Y ahora vamos a subirlo de esta forma para que se ejecute.
Ahora si volvemos a donde tenemos la escucha, veremos lo siguiente:
Veremos que ha funcionado, por lo que vamos a sanitizar la shell.
Sanitización de shell (TTY)
Escalate user trinity
Si listamos un poco el sistema, veremos un archivo interesante en la siguiente ruta:
Info:
Veremos un users.php, vamos a ver que contiene dentro.
Veremos unas credenciales de un usuario llamado trinity si listamos los usuarios a nivel local veremos que tambien esta creado y existe, por lo que vamos a probar esa contraseña para dicho usuario a ver si fuera la misma.
Metemos como contraseña SuperP@ssw0rd!-#S3crt4ImpossibleD3D3c0d1f1c4r...
Con esto veremos que estaremos dentro, por lo que leeremos la flag del usuario.
user.txt
Escalate Privileges
Si listamos la /home del usuario trinity veremos el siguiente archivo llamado secure.sh.
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar el archivo como el usuario root, por lo que vamos a ver que hace por dentro dicho archivo.
Veremos que esta validando si metemos bien un numero o no, pero vemos una vulnerabilidad bastante interesante, y es en la comparacion logica de los numero introducidos por el usuario y con el que lo compara, no vemos que este sanitizando la entrada a que sea solamente un numero, por lo que podremos meter lo que queramos, vamos a probar a utilizar una inyeccion de comandos a nivel de bash de esta forma:
Ahora cuando nos pida el numero, vamos a meter lo siguiente:
Info:
Y con esto veremos que ya seremos root, por lo que vamos a leer la flag del usuario root.
root.txt
Last updated