En este post la solución a otro de los retos de la edición de 2019 de CyberOlympics, competición en modalidad 'on-line', estilo 'Capture the Flag' y formato 'Jeopardy' dirigida a centros educativos y organizada por el Instituto Nacional de Ciberseguridad (INCIBE) en el marco de la actividad llamada CyberCamp.
Aunque yo diría que el tipo de retos en el que englobar el desafío al que me voy a referir en este post, en los que se ve involucrado el más popular de los analizadores de protocolos, 'Wireshark', debería ser el de "Análisis de tráfico de red", yo lo voy a catalogar, siguiendo el criterio más comúnmente empleado en este tipo de competiciones, en la categoría de "Forense".
Son desafíos, al igual que los pertenecientes a muchas otras categorías, en los que me considero un absoluto lego en la materia, vamos, que no se me dan precisamente bien, pero a cuya resolución le pongo, como a todos ellos, una gran voluntad, aunque siempre o casi siempre sin conseguir nada positivo :). Sí, ya se que las buenas intenciones no me eximen de culpa, por lo que pido de antemano a mis amigos técnicos de sistemas de comunicaciones que me perdonen por el "delito" que voy a perpetrar contra su amada disciplina con las explicaciones que voy a dar en esta entrada.
El desafío en cuestión llevaba por título "Identify Me" y, en mi opinión, presenta un nivel de dificultad medio (★★★☆☆).
Su enunciado decía lo siguiente:
¿Qué está pasando en nuestra red? Al parecer está saliendo información de la empresa, pero lo único que tenemos expuesto al exterior es un servidor web y no vemos que haya nada raro. Hemos hecho una prueba descargando un fichero cualquiera del servidor. ¿Podrías decirnos si encuentras algo raro?.
Utiliza la herramienta Wireshark para encontrar tu pista. Tanto Wireshark como tshark pueden ayudarte en el filtrado de los campos.
#payload #export #fields
Solución: abro con 'Wireshark' el archivo asociado al reto (captura.pcap) y, siguiendo el enunciado y una de las pistas (#export), exporto los objetos HTTP (veo que hay un archivo pdf):
El documento así obtenido trata sobre la especificación actualizada del campo de identificación (ID) de IPv4.
El tema del que trata este documento y la pista #fields hacen que centre mis sospechas en el contenido de dicho campo, por lo que decido visualizar en la lista de paquetes el valor del campo de identificación ('Identification') de IPv4 ('Internet Protocol Version 4'), con objeto de proceder al análisis de su contenido de forma más rápida y fácil:
Tras analizar el contenido del mencionado campo me queda claro que la flag parece esconderse en él:
Es decir, el contenido de ese campo en ciertos paquetes sería el valor hexadecimal correspondiente al carácter ASCII al que representa en la flag.
Pero, ¿de qué paquetes?. Teniendo en cuanta la pista que nos falta de utilizar (#payload) filtro los paquetes con la IP de origen (‘Source’) igual a 192.168.226.129 y con carga útil, y obtengo lo siguiente (he sustituido parte de los valores hexadecimales y los caracteres ASCII a los que los primeros representan por "..." y "*", respectivamente, entre los caracteres de la flag "{" y "}"):
Y lo único que quedaría por hacer para obtener la flag completa sería convertir cada valor hexadecimal al correspondiente carácter ASCII al que representa.
Aunque yo diría que el tipo de retos en el que englobar el desafío al que me voy a referir en este post, en los que se ve involucrado el más popular de los analizadores de protocolos, 'Wireshark', debería ser el de "Análisis de tráfico de red", yo lo voy a catalogar, siguiendo el criterio más comúnmente empleado en este tipo de competiciones, en la categoría de "Forense".
Son desafíos, al igual que los pertenecientes a muchas otras categorías, en los que me considero un absoluto lego en la materia, vamos, que no se me dan precisamente bien, pero a cuya resolución le pongo, como a todos ellos, una gran voluntad, aunque siempre o casi siempre sin conseguir nada positivo :). Sí, ya se que las buenas intenciones no me eximen de culpa, por lo que pido de antemano a mis amigos técnicos de sistemas de comunicaciones que me perdonen por el "delito" que voy a perpetrar contra su amada disciplina con las explicaciones que voy a dar en esta entrada.
El desafío en cuestión llevaba por título "Identify Me" y, en mi opinión, presenta un nivel de dificultad medio (★★★☆☆).
Su enunciado decía lo siguiente:
¿Qué está pasando en nuestra red? Al parecer está saliendo información de la empresa, pero lo único que tenemos expuesto al exterior es un servidor web y no vemos que haya nada raro. Hemos hecho una prueba descargando un fichero cualquiera del servidor. ¿Podrías decirnos si encuentras algo raro?.
Utiliza la herramienta Wireshark para encontrar tu pista. Tanto Wireshark como tshark pueden ayudarte en el filtrado de los campos.
#payload #export #fields
El documento así obtenido trata sobre la especificación actualizada del campo de identificación (ID) de IPv4.
El tema del que trata este documento y la pista #fields hacen que centre mis sospechas en el contenido de dicho campo, por lo que decido visualizar en la lista de paquetes el valor del campo de identificación ('Identification') de IPv4 ('Internet Protocol Version 4'), con objeto de proceder al análisis de su contenido de forma más rápida y fácil:
Tras analizar el contenido del mencionado campo me queda claro que la flag parece esconderse en él:
Es decir, el contenido de ese campo en ciertos paquetes sería el valor hexadecimal correspondiente al carácter ASCII al que representa en la flag.
Pero, ¿de qué paquetes?. Teniendo en cuanta la pista que nos falta de utilizar (#payload) filtro los paquetes con la IP de origen (‘Source’) igual a 192.168.226.129 y con carga útil, y obtengo lo siguiente (he sustituido parte de los valores hexadecimales y los caracteres ASCII a los que los primeros representan por "..." y "*", respectivamente, entre los caracteres de la flag "{" y "}"):
Comentarios
Publicar un comentario