Whatsapp
Retos (CTF) – DragonJAR Security Conference 2020 – Parte 2

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

03 septiembre 2020

RETO # 6 – Analizador de Red

Descripción del Reto: En una empresa de alto consumo energético, han detectado problemas en el monitoreo de la red eléctrica y han empezado a realizar pruebas en campo.

Se logra interceptar uno de los reportes técnicos del cual se obtienen las imágenes que se ven a continuación.

Nivel de dificultad: Difícil

Puntos asignados: 500

Formato de bandera: SEGTICS{flag}

Archivo adjunto del reto:

na.zip

Solucionario:

La gráfica corresponde a la respuesta de un analizador de redes eléctricas por protocolo MODBUS/RTU. El protocolo MODBUS
contempla un datagrama especifico que consta de dirección, función, datos y código de verificación CRC.

La información (imágenes de comunicación) que se observó, responde a esta trama usando transmisión Little endian, la trama adicionalmente cuenta con el protocolo de comunicación serial con bit de inicio, el byte de información, bit de paridad y el bit de parada. Por lo cual si el “Slave Address” es “1F” que en binario es un “0001 1111”, para este byte en transmisión serial little endian, la trama se debería ver como “1 1111 1000 0 1”.

Además, la señal se encuentra de -10 a 10, el cual corresponde a los niveles de voltaje del RS485. Por lo cual para el mismo ejemplo del envío de “1F” se debería ver un “(10) (-10)(-10)(-10)(-10) (-10) (10)(10)(10) (10) (-10)”.

En la sección de “Data” se encuentra la flag en HEX 4D4 F444255535 24F434B53 al decodificar obtenemos MODBUSROCKS.

Flag: SEGTICS{ MODBUSROCKS }

RETO # 7 – Esconderme tal vez

Descripción del Reto: Debo hablar con un agente en el 150Forum, sin embargo, para mantener en secreto su nickname me envió el siguiente archivo.

Nivel de dificultad: Difícil

Puntos asignados: 400

Formato de bandera: SEGTICS{flag}

Archivo adjunto del reto:

Challenger.m4a

Solucionario:

Descargar el archivo de audio basado en la siguiente partitura:

Las notas musicales representan la parte baja del mensaje en hexadecimal: D F E B Y su tiempo la parte alta: 4 6 4 6 Asociando
se obtiene el hexa de la flag: 4D 6F 4E 6B Decodificando 4D6F4E6B obtenemos la bandera «MoNk».

Flag: SEGTICS{MoNk}

RETO # 8 – Puntos de Color

Descripción del Reto: Mediante un trabajo coordinado con el equipo de inteligencia hemos obtenido un apk con códigos
de acceso a uno de los servidores de una organización cibercriminal. Tu misión es encontrar esta información

Nivel de dificultad: Difícil

Puntos asignados: 400

Formato de bandera: SEGTICS{flag}

Archivo adjunto del reto:

Puntosdecolor.apk

Solucionario:

El reto consiste en identificar el mensaje graficado en la actividad oculta dentro del archivo “PointsOfColor.apk” el cual corresponde
a una aplicación android. Al descargar la aplicación e instalarla en nuestra emulador android procedemos a ejecutarla y navegar entre ella visualizamos las siguientes pantallas:

ver que no esta mostrando nada aparte del cambio de tonalidad de colores, procedemos a descompilar la aplicación con la ayuda apktool y de d2j-dexjar para la obtención del jar.

Una vez con el jar procedemos a utilizar jd-gui para visualizar la estructura de la aplicación con el fin de analizar el código de manera mas fácil.

Identificamos que tenemos 6 Activitys los cuales son las pantallas de la aplicación, pero la aplicación solo nos muestra 4,
analizamos el código y visualizamos que desde el Activity3 el método goActivity realiza el llamado al Activity5 y no al Activity4 el cual sería un orden lógico, esto nos genera sospecha y por ende los que necesitamos realizar es que el activity4 sea llamado desde el activity3 desde el método goActivity.

Procedemos a buscar el código del Main3Activity.smali el cual contiene el código de la aplicación que queremos modificar.

Abrimos el archivo “Main3Activity.smali” con el fin de modificar la linea de codigo para que el llamado que esta realizando
a Main5Activity quede a Main4Activity.

Una vez realizado el cambio procedemos a compilar la aplicación.

Generamos un Keystore para firmar la aplicación.

Firmamos la aplicación.

Una vez firmada la aplicación, desinstalamos la aplicación original del emulador e instalamos la nueva apk modificada. Al correr la
aplicación probaremos nuevamente el comportamiento de la app:

Podemos visualizar que en la pantalla 4 se representa un cambio de actividad y nos proyecta el Main4Activity con la flag en binario:
“0100110101010011010010100101001100110011010000110101001000110011010101000100111101010011”.

Procedemos a traducir el mensaje en binario que nos muestra la aplicación:

Como resultado obtenemos en la parte izquierda de la imagen el mensaje decodificado el cual es: “MSJS3CR3TOS”. Una vez identificado el mensaje lo acomodamos a el formato de flag establecido quedando de la siguiente manera:

Flag: SEGTICS{ MSJS3CR3TOS }

RETO # 9 – Reescribeme

Descripción del Reto: Utiliza el poder, analiza, reescribe y consigue la bandera.

Nivel de dificultad: Difícil

Puntos asignados: 500

Formato de bandera: SEGTICS{flag}

Archivo adjunto del reto:

powershell_Challenge.ps1

Solucionario:

Desofuscar el código, las variables, también es necesario corregir algunos errores como un archivo que no existe que arrojara un error.

Al desofuscar las variables se puede observar que el código lo que hace es verificar unos condicionales y a partir de ahí imprime unas letras especificas de los array que hay.

Si se imprimen tal como están en orden de lineas no da la flag correcta, para que proporcione la flag correcta imprimir los valores de los array sin importar los if y luego ordenarlos en orden ascendente de la variable 1.

$var1[0]

$var1[1]

etc

Al hacerlo se forma esta flag: «4da_meshel* l», la bandera es sin las comillas y respetando el espacio en blanco que hay.

Flag: SEGTICS{4da_meshel*l}

RETO # 10 – Modulación

Descripción del Reto: Nuestros agentes encubiertos recuperaron valiosa información de un sospechoso , pero encontraron algo inusual, una grabación en un smartphone que fue reenviada a muchos contactos. Necesitamos de tu ayuda para descifrar la señal y así encontrar la respuesta.

Nivel de dificultad: Difícil

Puntos asignados: 500

Formato de bandera: SEGTICS{flag}

Archivo adjunto del reto:

ctf.mp3

Solucionario:

El tema del reto está relacionado con modulación de señales de audio para transmitir texto para resolverlo: Se descarga el programa
https://www.qsl.net/hamscope/ se le pone la configuración descrita en la imágenes configuracion_1.png y configuracion_2.png.

configuracion_1.png

configuracion_2.png

Mientras se tiene el programa abierto se reproduce el audio, el programa captura el audio del micrófono por lo que tal vez sea
necesario que se reproduzca en un lugar silencioso y dejarlo reproducir varias veces hasta que obtenga la flag que es: 157ae002f4da28f 44c02c77dd1a2e2f4 a82b9060a1b6a0bf74 e8921386c188c cfc65c 165158 a0e21731 44 c18addab 4525 dc9a516c 10bf00 5d083b6a6 1 be97ef4

La gráfica evidencia el resultado de la bandera que corresponde a:

Flag: SEGTICS{157ae002f4 da28f44 c02c77 dd1a2 e2f4a 82b906 0a1b6 a0bf74e 89213 86c1 88ccfc6 5c165 158a0e 217314 c18adda b4525d c9a51 6c10 bf005d 083b6 a61be97ef4}

Contacto