Luego de transcurrida una semana desde la publicación de desafío 25 de ESET Latinoamérica, llego el día en el que se realizará la reunión. Gracias a la ayuda de Emiliano del Castillo, quien fue el primero en solucionar el desafío, sabemos donde se va a realizar el encuentro, por lo que aprovechamos para felicitarlo y en breve lo contactaremos para entregarle su licencia de ESET Smart Security.

Ahora bien, veamos paso a paso cómo resolver el desafío 25. En primer lugar, la única información con la que contábamos era el correo que contenía un mapa, las coordenadas de cada torre de celular y la velocidad de la luz. Analizando en profundidad la imagen del mapa se podía determinar que al final de la misma, comenzaba un encabezado ("PK") correspondiente a un archivo ZIP: Desafío25_ESET En este punto existen dos alternativas posibles, determinar el offset a partir del cual la imagen termina y donde comienza el archivo ZIP hasta el cierre del mismo, dumpeando el resultado (archivo ZIP) o intentar abrir la imagen con un gestor de archivos comprimidos (WinRar, 7z, etc). Indistintamente de la alternativa utilizada, el resultado deberá ser el mismo, un archivo ZIP con 4 archivos de texto en su interior:

Desafío25-ESET
Al intentar descomprimir los archivos surge un nuevo desafío, el archivo ZIP esta protegido con contraseña. Si volvemos a analizar la imagen, notaremos que al final de la misma, luego del contenido del archivo ZIP, existe una string un tanto particular: Desafío25_ESET
Se trata de un hash MD5 de una contraseña, que al buscarla en Internet, podemos determinar que se trata de una contraseña conocida, en este caso "password123". Si utilizamos dicha contraseña en el archivo ZIP podremos ver el contenido del mismo. Los archivos "Log Torre1.txt" y "Log Torre2.txt" llaman particularmente la atención ya que dentro del mapa se observaban dichas torres con sus respectivas coordenadas. Al abrir dichos archivos nos encontramos con lo siguiente:

Desafío25_ESET
Al parecer estamos en presencia de los logs de comunicación de las torres de celular. Dentro de los mismos se observa el registro de una llamada realizada el día 12/02/2014 la cual fue trasmitida por ambas torres. Si observamos detalladamente notaremos que los registros se realizaron el mismo día, a la misma hora, en el mismo minuto y en el mismo segundo, variando solo los micro segundos. Teniendo esto en consideración y lo que se puede leer dentro del archivo "notas.txt": "La velocidad de procesamiento de las torres y del celular se considera 0 (cero)." entonces podemos calcular el tiempo que tarda la señal de celular en viajar desde la torre hasta donde se realizó la llamada y luego a la torre nuevamente.

Simplemente restamos los micro segundos de dos registros consecutivos (el más reciente menos el más antiguo) que estén identificados como "Incoming" y luego al resultado lo dividimos por dos para obtener el tiempo que tarda la señal en viajar desde la torre hasta el celular y no en regresar que equivale al primer valor antes de ser dividido. Realizamos esta operación para los registros de ambas torres y deberemos obtener dos valores en micro segundos distintos:

Tiempo a Torre 1= 9,03958 μs
Tiempo a Torre 2= 8,63931 μs

Conociendo estos valores podemos aplicar la fórmula de física "Distancia = Velocidad x Tiempo", donde la velocidad es el valor que contenía el correo electrónico. De esta manera obtenemos lo siguiente:

Distancia a Torre 1 = 9,03958 μs * 299792,458 mm/μs = 2709997,907487 mm = 2.71 km
Distancia a Torre 2 = 8,63931 μs * 299792,458 mm/μs = 2589999,980323 mm = 2.59 km

Al dividir la distancia obtenida en milímetros por 1.000.000 obtenemos la distancia en kilómetros. De esta manera ya conocemos la distancia a la que estaba el cibercriminal de cada torre al momento de realizar la llamada. Si trazamos un circulo, utilizando cada torre como centro y la distancia como radio de dicho círculo podremos determinar el origen de la llamada en la intersección de ambos círculos, es decir, donde se cumple la distancia de la llamada a cada torre. Para poder determinar esto de manera más fácil, existe un archivo llamado "triangulación.txt" dentro del archivo ZIP que contiene la siguiente dirección web: http://www.freemaptools.com/radius-around-point.htm.

Utilizando esta herramienta online se pueden cargar las coordenadas de cada torre y las distancias correspondientes a cada una de la siguiente manera:

Desafio25_ESET
Una vez realizado esto, la herramienta ubica ambos puntos y traza el radio (distancia) de cada uno como una circunferencia:

Desafío25_ESET
Solo una de las dos intersecciones se encuentra dentro del mapa que fue enviado por correo, y el cibercriminal indicaba claramente en el cuerpo del mensaje que:"El punto de encuentro esta dentro del mapa.". Si hacemos zoom en dicho punto nos encontramos con lo siguiente:

Desafio25_ESET
El origen de la llamada y por ende, el punto de encuentro es la "Plaza Almirante Brown".

Como habrán podido observar, el desafío incluía tanto aspectos técnicos como físico/matemáticos los cuales  le permitían a los participantes poder rastrear el origen de una llamada.

Además de al ganador, queremos felicitar a Aiken por haber resuelto correctamente el desafío con solo un par de horas de diferencia por lo que también será premiado con una licencia de ESET NOD32 Antivirus también válida por 1 año. Esperamos que hayan disfrutado resolviendo el desafío y recuerden estar atentos al blog ya que ¡en breve estaremos publicando nuevos desafíos!