Continúo en este post con las soluciones a retos de la categoría "Forense" de la edición de 2018 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.
En este caso, en mi opinión, el desafío en cuestión presentaba un nivel de dificultad muy bajo (★☆☆☆☆).
Su enunciado decía lo siguiente: En tu empresa, la cual se tratan datos muy confidenciales, se ha detectado una posible fuga de información por parte de un empleado enfadado. Se cree que está vendiendo secretos a la inteligencia de otro país, por lo que tu labor es averiguar el dato que ha sido filtrado para ayudar a las autoridades locales.
Solución: abro con 'Wireshark' el archivo asociado al reto (Medium_11.pcap) y, como suele ser habitual en este tipo de desafíos, en primer lugar busco en los paquetes una palabra que pueda inferir que contiene la solución al reto (en este caso la propia palabra "flag"):
Y veo que el paquete nº 4168 contiene la cadena "Flag" dentro de lo que parece ser código python:
Extraigo el fichero de datos de ese paquete (1.917 Bytes):
Abro el archivo exportado (object4168) y veo que, efectivamente, se trata de un script de python:
Renombro este archivo como "11_Medium.py" y lo ejecuto; me pide una password, introduzco cualquiera (por ejemplo: "contraseña") y se muestra el mensaje de error: "Password incorrect !".
Tras un primer y rápido análisis del código introduzco la sentencia "print NTLM+MD4+SHA1+MD5+MD2" justo antes de la instrucción "if" que figura al final del código, ya que en ella se compara ese valor con el de la password que se introduce, y si ambos son iguales se muestra la flag.
Vuelvo a ejecutar el script, introduzco como password el valor que se muestra justo antes y ya puedo ver la flag:
Por tanto: Flag{ELINFERNOPUEDEESPERAR}.
En este caso, en mi opinión, el desafío en cuestión presentaba un nivel de dificultad muy bajo (★☆☆☆☆).
Su enunciado decía lo siguiente: En tu empresa, la cual se tratan datos muy confidenciales, se ha detectado una posible fuga de información por parte de un empleado enfadado. Se cree que está vendiendo secretos a la inteligencia de otro país, por lo que tu labor es averiguar el dato que ha sido filtrado para ayudar a las autoridades locales.
Solución: abro con 'Wireshark' el archivo asociado al reto (Medium_11.pcap) y, como suele ser habitual en este tipo de desafíos, en primer lugar busco en los paquetes una palabra que pueda inferir que contiene la solución al reto (en este caso la propia palabra "flag"):
Extraigo el fichero de datos de ese paquete (1.917 Bytes):
Renombro este archivo como "11_Medium.py" y lo ejecuto; me pide una password, introduzco cualquiera (por ejemplo: "contraseña") y se muestra el mensaje de error: "Password incorrect !".
Tras un primer y rápido análisis del código introduzco la sentencia "print NTLM+MD4+SHA1+MD5+MD2" justo antes de la instrucción "if" que figura al final del código, ya que en ella se compara ese valor con el de la password que se introduce, y si ambos son iguales se muestra la flag.
Vuelvo a ejecutar el script, introduzco como password el valor que se muestra justo antes y ya puedo ver la flag:
Por tanto: Flag{ELINFERNOPUEDEESPERAR}.
Comentarios
Publicar un comentario