Solución al Desafío 22 de ESET Latinoamérica

Les presentamos la solución al Desafío 22 de ESET Latinoamérica publicado la semana pasada. Antes que nada, queremos felicitar a todos los que participaron y esperamos lo hayan disfrutado tanto al resolverlo como nosotros cuando lo armamos. El ganador es Daniel Correa, quien resolvió correctamente el desafío y fue el primero en dar la respuesta. Con esto se ha hecho acreedor de una licencia para la última versión de nuestro ESET Smart Security.

Este desafío consistía en analizar el tráfico de red de una de las máquinas infectadas en una organización y determinar sobre que parámetros se habían realizado las pruebas así como también encontrar la respuesta. En primera instancia, se debía abrir el archivo pcap descargado con alguna herramienta que permita realizar un análisis. En este caso, utilizaremos Wireshark, ya que es una de las más conocidas. Luego, una forma rápida de ver todas las peticiones realizadas es aplicando un filtro “http.request”, como se puede observar a continuación:

http-request

Una vez aplicado el filtro, si se presta atención, se puede ver como se realizan múltiples peticiones sobre un archivo llamado “validacion.php”. Si se hace clic con el botón derecho y se selecciona “follow tcp stream” puede verse que responde con un color. A continuación, puede visualizarse una captura del stream:

Follow
En esta instancia, puede notarse que cada petición sobre el archivo “validación.php” responde con un color al azar. Asimismo, si se observan los parámetros de la petición es posible ver que entre cada una el “User-Agent” va cambiando como puede apreciarse en la siguiente imagen:

User-Agent
Ya habiendo identificado que se realizaron pruebas sobre el “User-Agent”, si se sigue buscando en las peticiones, se encuentra una donde la respuesta es “bingo”. El sentido común nos indica que esta respuesta no es un color como las demás, por lo que se trata de una petición que nos debe llamar la atención. Entonces mirando el “User-Agent” vemos que este tiene un formato que no es válido tal como se indica en la siguiente imagen:

Bingo

Este tipo de cadenas, sobre todo aquellas que terminan con un signo “=” podría indicarnos que se trata de una codificación en base 64. Recurriendo a cualquier decodificador en Internet resulta que esa cadena es “QuieroMiLicenciaESET”. Por lo tanto ya se encontró algo que puede servirnos en el análisis.

Si se continua viendo las peticiones con el filtro “http.request”, se puede observar que se descargó el archivo “Descarga.rar”. Sin embargo, es necesario reconstruir este archivo a partir de la captura. Para ello recurrimos a otra herramienta llamada Network Miner. Con esta herramienta, también es necesario cargar el archivo pcap. De esa forma, existe la solapa “files” que permite ver todos los archivos contenidos dentro de la propia captura. Si se busca el archivo “rar” es posible reconstruirlo tal como se ve en la siguiente imagen:

Network Miner

Al intentar descomprimir el archivo, se puede ver que requiere contraseña. Sin embargo, a esta altura ya contamos con la frase “QuieroMiLicenciaESET”. Si se utiliza esa cadena, se logra obtener el archivo descomprimido correspondiente a una imagen. Abriendo la imagen con cualquier editor vemos la frase “lo esencial es invisible a los ojos”. Esta famosa cita de Saint-Exupéry en El Principito, sugiere sutilmente, que la respuesta se encuentra escondida.

Esencial

Generalmente, las imágenes contienen metadatos. Es posible ver ellos con diferentes herramientas. Sin embargo, en este caso, si miramos las propiedades de las imágenes vemos que obtenemos la frase de respuesta “Persevera y triunfarás” tal como puede verse en la siguiente captura:
Respuesta
De esta forma, ha sido posible acceder al archivo y entender como el malware, a partir de un user-agent secreto, pudo descargar el archivo desde el servidor. Si bien esto fue un desafío, este tipo de características suelen verse presentes en casos reales de códigos maliciosos. Es por eso que este tipo de actividades permiten aprender un poco más sobre el análisis de malware.

Fernando Catoira
Analista de Seguridad

Autor , ESET

  • Amilcar de Leon

    Recuerdo que en wireshark sí se puede hacer algo parecido a lo que hace Network Miner, tal vez no tan sofisticado pero pues al final se pueden extraer archivos, conoces la forma de hacer ésto?

    • Fernando Catoira

      Estimado Amilcar:
      Es posible regenerar el archivo con Wireshark. Para eso se debe realizar un follow stream sobre la petición del archivo. De esa manera se verá toda la información completa de forma cruda. Así es posible seleccionarlo y luego guardarlo con la extensión adecuada.

      Saludos cordiales.
      Fernando

  • Mariano Marino

    Con Wireshark podes exportar con la opción File->Export Objects.
    Saludos!

  • Buenas tardes, muy buena la resolución, la extracción del archivo la hice manualmente, no conocía la funcionalidad de Wireshark o el Network Miner. Ahora, me gustaría saber cuál es el siguiente paso para obtener la licencia, debo contactar a alguien, o me contactarán a través del correo electrónico? Gracias por los retos!

    • Fernando Catoira

      Estimado Daniel.

      Nos alegramos mucho que haya participado en nuestro desafío. Nos estaremos poniendo en contacto con usted para facilitarle el premio.
      Saludos cordiales.

      Fernando.

Síguenos