Segtics Soluciones S.A.S

Retos (CTF) – DragonJAR Security Conference 2020 – Parte 4

 Bienvenidos a la cuarta entrega de solucionarios de los retos propuestos en el CTF de la DragonJAR Security Conference (04/09/2020 al 06/09/20). Para ver la tercera entrega haga clic aquí.

RETO # 18 - Máquina Magenta 01

Descripción del Reto: El lado oscuro almacena información valiosa de unos de sus puntos estratégicos, debes obtener toda la información necesaria para identificarlo.

Nivel de dificultad: Difícil. Puntos asignados: 400 Formato de bandera: SEGTICS{flag} Archivo adjunto del reto: Acceso a una URL donde se publica el servidor.
SOLUCIONARIO: Lo primero que realizamos es escanear la dirección ip con nmap realizando un escaneo desde el puerto 1 hasta el 65535 con el fin de identificar todos los puertos que tengan un servicio corriendo abierto, con esto nos encontramos que en el puerto 80 está corriendo un servicio http. Procedemos a visualizar los servicios iniciando con el servicio web a través del navegador obteniendo el siguiente resultado. Identificamos una vulnerabilidad para esta aplicación. Procedemos a correr el script utilizando el diccionario rockyou.txt para la contraseña. Después de terminar podremos obtener el usuario y la contraseña para la administración de la aplicación. Una vez obtenidos estos datos procedemos a correr ngrok para la conexión con la víctima y a configurar la shell. Ingresamos al aplicativo con las credenciales obtenidas anteriormente. Subimos nuestra shell.txt. Procedemos a cambiar la extensión a .phtml. Corremos netcat a la escucha del puerto 4444. Abrimos el archivo shell.phtml desde el navegador para activar la shell. Procedemos a descifrar el hash. Una vez identificada la flag la acomodamos en el formato establecido.
 Flag: SEGTICS{MANIZALES}

RETO # 19 - Servidor Web 01

RETO # 3 - Offline

Descripción del Reto: Solo necesito el usuario y su contraseña, en mayúsculas y separados mediante un guión bajo (_).

Nivel de dificultad: Medio Puntos asignados: 350 Formato de bandera: SEGTICS{flag} Archivo adjunto del reto: Acceso a una URL donde se publica el servidor.
SOLUCIONARIO: Para este reto se nos da una dirección ip a la cual lo primero se debe hacer es el respectivo escaneo de puertos y servicios con nmap. Se puede ver que este servidor tiene un servidor web y un ssh para conexiones remotas, lo primero es revisar el servidor web para analizar que tiene. Es un servidor muy sencillo el cual desde el inicio indica que tiene una vulnerabilidad por mala configuración, se procede a realizar la respectiva enumeración la cual indica que tiene un robots.txt. Dentro del archivo robots.txt se contienen las url que no están indexadas. Dentro del archivo tenemos 2 páginas las cuales contienen información que es valiosa, dentro del primer enlace tenemos que “Hay un archivo mal configurado dentro de nuestro servidor, y este archivo está produciendo una vulnerabilidad en el servidor, este archivo se encuentra en el archivo index.php” lo cual ya nos da una idea de lo que debemos hacer, mientras que dentro de /d1ct.txt. Básicamente tenemos un diccionario el cual posiblemente tengamos que usar para el ssh, pero aún nos hace falta encontrar un usuario válido, aunque si nos percatamos una palabra que se repite bastante en la nota es “archivo” con base a ello y a que sabemos que el sitio está montado en php podemos: Pero ¿y si intentamos en inglés? Con esto ya tenemos identificado un usuario el cual es mrwick, ahora se procede a utilizar el diccionario para hacer un ataque de diccionario. Ya con esto tenemos la primera flag la cual debemos pasar al formato y en MAYÚSCULAS.
 Flag: SEGTICS{MRWICK_213JOHN213}

RETO # 19 - Servidor Web 02

Descripción del Reto: Solo necesito el usuario y su contraseña, en mayúsculas y separados mediante un guión bajo (_).

Nivel de dificultad: Medio. Puntos asignados: 250 Formato de bandera: SEGTICS{flag} Archivo adjunto del reto: Acceso a una URL donde se publica el servidor.
SOLUCIONARIO: Ahora se debe proceder a buscar la flag dentro del servidor, para ello se nos advierte que el nombre del archivo en un lado usa la palabra flag, esto es importante ya que si se usa el comando “find / -name flag.txt” no se van a obtener resultados, mientras que si se usa el comando “find / -name *flag*. Se obtiene el archivo el cual contiene la flag.
Flag: SEGTICS{FL4G 0CUl74}

RETO # 20 - Truco

Descripción del Reto: Existen 2 usuarios ¿como encontrar el segudo? buena pregunta… Además sabemos la flag en algún lugar tiene la palabra «flag».

Nivel de dificultad: Medio Puntos asignados: 250 Formato de bandera: SEGTICS{flag} Archivo adjunto del reto: Acceso a una URL donde se publica el servidor.
SOLUCIONARIO: Para este resto se nos explica que debemos tener en cuenta 2 cosas la primera es que estamos como usuario1 y la otra de tener en cuenta las peticiones. Cuando se revisan en las cookies se ve en código, se ve que hay una cookie que está quemada con el nombre de “name” y el valor de “dXN1YXJpbzE%3D”. Lo cual descifrado de base64 es “usuario17” obteniendo al bandera para este reto.
 Flag: SEGTICS{usuario17}

RETO # 21 - CMS sin tendencia

Descripción del Reto: Existen 2 usuarios ¿como encontrar el segudo? buena pregunta… Además sabemos la flag en algún lugar tiene la palabra «flag».

Nivel de dificultad: Difícil Puntos asignados: 400 Formato de bandera: SEGTICS{flag} Archivo adjunto del reto: Acceso a una URL donde se publica el servidor.
SOLUCIONARIO: El participante encuentra la IP 178.33.39.249 Al observar el código fuente en la pagina puede decodificar el mensaje: Las partes mas importantes del mensaje son: ● Red social no convencional. (Redes sociales descentralizadas) ● 13 0 100 UP DE EN (Caracteristicas del pod) ● #siempreTrabajandoNuncaInTrabajando Una vez ubicado el POD: https://poddery.com/ Se debe buscar el hashtag lo que dara el usuario y la contraseña, junto al CMS. Este CMS tiene una vulnerabilidad explotable con las credenciales. https://www.exploit-db.com/exploits/44976 Una vez adentro del servidor, se debe buscar el archivo flag.txt
 Flag: SEGTICS{S0C14L_NET_N0N_TR3ND}

RETO # 23 -Las probabilidades pueden estar siempre a tu favor

Descripción del Reto: No es suficiente ser observador, no es suficiente ser programador.

No es suficiente ser observador, no es suficiente ser programador.
Nivel de dificultad: Difícil Puntos asignados: 500 Formato de bandera: SEGTICS{flag}
SOLUCIONARIO: El participante se encuentra con una pagina con un hash y una URL a esta imagen de Tom Hardy: El participante idealmente rompera el hash sha256 a partir de un diccionario generado a partir de la los datos de la imagen (datos de tom hardy y su perro blu). blu_2013: AA5A4C829475752FB457F760B682D6632558466589AEEA93A1F1EAEE23D59536 3dw4rd09779: 1D1F8682F4E2ACE85F1781631EEDE411AA575C847D751ABB32173D9687BF2629 70m15091977: 933BD467C9A5B1FA1CD31C23175ABE1FF39B4E708EF8DD32FA45B5A9BCEB8A23 Al enviar el ultimo hash se encuentra la primera parte de la flag. Una vez que el participante supere los hash deberá generar un script que le permita identificar y decodificar los strings que se le dan. 1)pareidolia B32 :  OBQXEZLJMRXWY2LBBI====== B64 :  cGFyZWlkb2xpYQo= ASCII85:         E+*cuBk2-uBjh> ASCII: 112 97 114 101 105 100 111 108 105 97 UNI_Pts:         U+70 U+61 U+72 U+65 U+69 U+64 U+6F U+6C U+69 U+61 U+A ROT13: cnervqbyvn
Binary: 01110000 01100001 01110010 01100101 01101001 01100100 01101111                                    01101100 01101001 01100001
Cesar_Shift1: qbsfjepmjb
HEX: 70 61 72 65 69 64 6f 6c 69 61
Morse: .__. ._ ._. . .. _.. ___ ._.. .. ._
2)mezzanine
ASCII: 109 101 122 122 97 110 105 110 101
B64 :  bWV6emFuaW5l
Binary: 01101101 01100101 01111010 01111010 01100001 01101110 01101001                                    01101110 01100101
Cesar_Shift1: nfaabojof
HEX: 6d 65 7a 7a 61 6e 69 6e 65
Morse: __ . __.. __.. ._ _. .. _. .
ROT13: zrmmnavar
B32 :  NVSXU6TBNZUW4ZI=
ASCII85:         D.S%%EDITORCONTENT%%gt;@;]dsAH
UNI_Pts:         U+6D U+65 U+7A U+7A U+61 U+6E U+69 U+6E U+65
3)conspicuo
ASCII: 99 111 110 115 112 105 99 117 111
B64 :  Y29uc3BpY3Vv
Binary: 01100011 01101111 01101110 01110011 01110000 01101001 01100011                                    01110101 01101111
Cesar_Shift1: dpotqjdvp
HEX: 63 6f 6e 73 70 69 63 75 6f
Morse: _._. ___ _. … .__. .. _._. .._ ___
ROT13: pbafcvphb
B32 :  MNXW443QNFRXK3Y=
ASCII85:         @rH7+E+rg)DZ
UNI_Pts:         U+63 U+6F U+6E U+73 U+70 U+69 U+63 U+75 U+6F
4) dicotomia
ASCII: 100 105 99 111 116 111 109 105 97
B64 :  ZGljb3RvbWlh
Binary: 01100100 01101001 01100011 01101111 01110100 01101111 01101101                                    01101001 01100001
Cesar_Shift1: ejdpupnjb
HEX: 64 69 63 6f 74 6f 6d 69 61
Morse: _.. .. _._. ___ _ ___ __ .. ._
ROT13: qvpbgbzvn
B32 :  MRUWG33UN5WWSYI=
ASCII85:         A8,OlFDl#[email protected]/
UNI_Pts:         U+64 U+69 U+63 U+6F U+74 U+6F U+6D U+69 U+61
Al observar el html se puede ver un contador que aumenta cada vez que se responde correctamente una de las codificaciones.
Una vez se logren acumular 2020 respuestas correctas se debe examinar la cookie y se encuentra la segunda parte de la flag: MzEzMzdfQlIwTzBPTzAwISEhfQ==
 Flag: SEGTICS{Y0U_R_31337_BR0O0OO00!!!}

RETO # 24 -Josephus

Descripción del Reto: La flag es… lo siento solo los admins mas rapidos pueden tenerla. ¿Eres uno de ellos?

Nivel de dificultad: Difícil Puntos asignados: 500 Formato de bandera: SEGTICS{flag} Archivo adjunto del reto: Acceso a una URL donde se publica el servidor.
SOLUCIONARIO: Al iniciar el participante debe inspeccionar la pagina: Al conectarse el puerto 9999 por telnet. Ahi vera los datos para resolver el problema de Josephus (Tiempo max de la conexion 6 seg). https://en.wikipedia.org/wiki/Josephus_problem Si lo hace bien obtiene el token para usar en el puerto 10000: Con estos datos debera craftear un post request con los datos entregados a la dirección entregada.
 Flag: SEGTICS{G0T_2_L0V3_M4TH_T0_B_H4PPY_1N_LIFE}

Gracias por leernos, los esperamos en próximos eventos de CTF.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Abrir chat
1
Hola
¿ En que podemos ayudarte ?