MUS CTF DFIR – MOBILE (Nivel 1)

Este fin de semana se pronosticaba un tiempo de perros en Madrid, y todavía estaba arrastrando un malware elegante que no terminaba de curar, así que tocaba casa y manta. Y el mismo viernes por la tarde me entero que la gente de Magnet había abierto al público el reto forense que habían jugado en el MUS (Magnet User Summit), junto con una licencia de prueba de Magnet Axiom para poder probarlo y cacharrear al gusto.

Un poco de AC/DC, leche con miel y whisky (ambos son buenos para currar el catarro, o eso dicen) y un buen reto forense no son un mal plan para el finde ;-)

Enlaces de interés:

1. ¿Qué tipo de imagen forense del móvil tenemos?

Viendo que lo que tenemos es un fichero .tar, podemos descartar directamente una adquisición física o un chip-off. Si abrimos el fichero y vemos que solo tenemos las carpetas básicas, podemos afirmar que es una adquisición lógica (aparte de que si sabemos leer, el nombre del fichero es “samsung SM-J337V Quick Image.zip“, y la adquisición lógica viene definida como “Quick/Logical” J )

* Respuesta: Quick/Logical

2. ¿Cuál es el IMSI de la tarjeta SIM?

Si examinamos el contenido del .zip nos encontramos con tres elementos: “Agent Data“, “sdcard” y adb-data.tar… que es justo la salida de las herramientas de adquisición lógica de Axiom, como se puede observar:

https://www.magnetforensics.com/blog/android-messaging-forensics-sms-mms-and-beyond/

Sabiendo eso, lo que queremos no va a estar ni en adb-data.tar ni en la sdcard, así que nos toca examinar la carpeta “Agent Data”. En la misma carpeta encontramos una BD SQLite con nombre agent_sim.db, que tiene una pinta estupenda. Si la abrimos con DB Browser for SQLite podemos encontrar una entrada con los datos del teléfono:

IMSI = International Mobile Subscriber Identity, por lo que la columna “subscriber_id” parece la correcta … y lo es.

* Respuesta:  311480460682294

3. ¿Cuál es el número de teléfono del dispositivo (en formato 2125551212)?

En cuanto nos damos cuenta de que el “formato 2125551212” quiere decir “todo junto sin espacio”, la misma tabla nos da la respuesta:

* Respuesta:  3153165956

4. ¿Qué búsqueda en Google se realizó en el teléfono el 4 de diciembre de 2018?

Después de media hora buscando y rebuscando el historial de navegación por la adquisición lógica del Samsung, recuerdo que teníamos el Takeout (una copia de todo lo relacionado con Google y Android). En 10 segundos localizamos el fichero:

Takeout\My Activity\Search\Myactivity.html

cuyo análisis nos da la respuesta:

* Respuesta:  iguana potty training

5. ¿Cuál es el nombre de usuario en Kik del dueño del terminal móvil?

Si buscamos la app en Google vemos que su identificador es “kik.android”. Sin embargo, si buscamos en las evidencias obtenidas comprobamos que no tenemos nada de Kik más allá de un par de directorios vacíos en la sdcard.

Sin embargo, como hemos ido recabando información básica (es decir, revisando los SMS enviados), la tabla SQLite mmssms.db nos echa un cable con un SMS muy revelador:

* Respuesta:  selmabspring

6. ¿En qué país estaba el teléfono móvil el 7 de diciembre?

Dado que no tenemos datos de geolocalización, vamos a tener que improvisar. La pregunta induce a pensar que la persona ha podido viajar por varios países. No sé en Yankilandia, pero en España es habitual que cuando cambias de país la operadora te manda un SMS indicándote de posibles cargos y/o condiciones del servicio de telefonía y datos.

Rebuscando en la BD de SMS/MMS encontramos dos referencias a países:

La fecha está en Epoch Time, pero con una conversión rapidita tenemos la respuesta.

* Respuesta: Australia

7. ¿Cuál es el nombre de fichero de la foto más grande que se ha realizado con la cámara?

Aquí tan solo tenemos que localizar el directorio de las fotos del terminal. Encontramos dos, que parecen ser uno copia del otro:

  • mobile\sdcard\sdcard\DCIM\Camera
  • mobile\shared\0\DCIM\Camera

Si abrimos la carpeta y ordenamos por tamaño, obtenemos fácilmente la respuesta:

* Respuesta:  20181209_144014.jpg

8. ¿Cuál es la dirección de correo personal para el usuario al que se le manda un SMS el 13 de febrero de 2019?

Si pasamos la fecha a Epoch Time, nos dará algo en el rango de “155009xxxxxxx”. Revisando los SMS enviados, encontramos una serie que parece interesante:

La columna address indica el número de teléfono, así que solo tenemos que ir a la BD contact3.db y cruzar los datos del teléfono 5043449306 con la dirección de correo:

* Respuesta: phoebe5042002@icloud.com

9. ¿Qué dirección de correo envió la invitación de Mega?

Asumimos que el dueño del terminal tenía una cuenta de Gmail, por lo que los datos los tendríamos que tener en:

Takeout\Mail\All mail Including Spam and Trash.mbox

Si buscamos por los Subject por la palabra “MEGA” no tardamos en encontrar el correo con la invitación:

From 1628368704126583192@xxx Mon Mar 18 18:23:30 +0000 2019
Delivered-To: macgyverfan74@gmail.com
To: Macgyverfan74@gmail.com
Subject: MEGA Invitation
MIME-Version: 1.0
From: MEGA <support@mega.nz>
Reply-To: wdoobner@putinsangels.com
Content-Type: multipart/related; boundary=x7543c9c3cf3bf532
Message-Id: <20190318182329.AA09D20C74@lu5.api.mega.nz>
Date: Mon, 18 Mar 2019 19:23:29 +0100 (CET)

--x7543c9c3cf3bf532
Content-Type: multipart/alternative; boundary=y609c26826caa5b12

--y609c26826caa5b12
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Macgyverfan74@gmail.com
The user with the email wdoobner@putinsangels.com has sent you an invitation to join MEGA.
"Hello, join me on MEGA and get access to encrypted storage and
communication."

Join wdoobner@putinsangels.com on MEGA by clicking below:
https://mega.nz/#newsignupTWFjZ3l2ZXJmYW43NEBnbWFpbC5jb22eiiyGyNdjkw

Best regards,
— Team MEGA
----

* Respuesta: wdoobner@putinsangels.com

10. ¿Qué imagen forma parte del avatar de Kik del usuario?

El rato que nos pasamos buscando información sobre Kik en la adquisición lógica es bien aprovechado. Dado que hicimos una búsqueda por *kik* en todos los ficheros del terminal, encontramos éste:

mobile\shared\0\temp\kikTmpOriginalPicFile

que abierto con cualquier visor de imágenes, y sin ser un experto biólogo marino, parece ser un pingüino

* Respuesta: penguin

11. ¿En qué estado (de EEUU) estaba el teléfono el 25 de diciembre de 2018?

Los datos de localización no se han guardado en el Takeout como tal, así que tendremos que ser creativos y revisar el resto de los datos disponibles… pero parece algo muy costoso, así que vamos a tirar de la capacidad de Axiom para buscar evidencias en rangos de fechas.

En 20 segundos tenemos una captura de pantalla con una búsqueda de tacos en Orlando más que interesante …

Fail! Probamos con minúsculas (estos retos son a veces muy puñeteros con las respuestas). Fail again! Hay algo que no estamos teniendo en cuenta correctamente. Si revisamos con Axiom las fotos comprobamos que hay una con metadatos de localización:

Si convertimos las coordenadas con una página como esta:

https://www.gps-coordinates.net/

comprobamos que la foto se ha tomado en New York. Lo metemos en la solución y … Fail! Haciendo un doble check de lo que hemos hecho comprobamos dos cosas:

  1. Habíamos metido mal los datos en la web de GPS, y la posición por defecto era New York. Si los metemos correctamente comprobamos que estamos en Orlando.
  2. Geografía básica: Orlando no es un estado de EEUU. Es la capital de Florida. F******* !!!!!

* Respuesta: Florida

¡Extra Bonus! Al desbloquear esta pregunta nos aparece una nueva:

12. ¿En qué parque temático estaba el terminal móvil el 25 de diciembre?

Si repasamos y colocamos correctamente en la web de coordenadas GPS los datos correctos:

  • GPS Longitude: 81°28’5.0000″ (W)
  • GPS Latitude: 28°28’43.0000″ (N)

Nos dará una localización perfecta, justo lo que necesitábamos.

* Respuesta: Universal Studios

13. ¿Cuál de las siguientes apps NO fue descargada desde Google Play?

El Takeout tiene una carpeta para Google Play en la que aparecen todos los datos relacionados con las apps:

Takeout\Google Play Store

Si revisamos el fichero de Installs.json podemos comprobar que para cada app instalada aparecen unos metadatos:

{
  "install": {
    "doc": {
      "documentType": "Android Apps",
      "title": "YouTube"
    },
    "firstInstallationTime": "2018-12-04T05:13:33.705Z",
    "deviceAttribute": {
      "model": "SM-J337V",
      "carrier": "Verizon Wireless",
      "manufacturer": "samsung",
      "deviceDisplayName": "samsung SM-J337V"
    },
    "lastUpdateTime": "2019-03-18T18:55:21.504Z"
  }
}

Todas las apps tienen estos metadatos, lo cual implica que las cuatro han sido instaladas. Sin embargo, si nos vamos al documento de Library.json comprobamos que aparecen todas menos YouTube.

Y si nos fijamos en el fichero anterior, la fecha de instalación de las otras tres apps es siempre posterior al 04/12/2018 … que parece ser la fecha en la que se desplegó el SO Android del terminal (algo que nos cuadra ya que Youtube es una “Google app” de las que suelen venir instaladas por defecto en un terminal con “Google Play Services”)

* Respuesta: Youtube

14. ¿En qué timezone estaba el teléfono el 9 de diciembre?

Volvemos a la carga con la actividad detectada por Axiom en el día de autos.

Encontramos una “interacción” de Google Cloud que marca como fecha “Dec 9, 2018, 4:00:00 AM EDT”. EDT = Eastern Daylight Time, pero ojo con el horario de invierno/verano.

Según esta web: https://24timezones.com/time-zone/edt , en invierno es UTC-5 … Fail!

Vamos a ser más minuciosos. Axiom nos da unas cuantas imágenes, así que vamos en primer lugar a asegurarnos de que la fecha de creación es la correcta… y no encontramos ninguna. Sí que es cierto que vemos él archiconocido edificio de la ópera de Sidney, y que según preguntas anteriores el terminal el día 7 de diciembre estaba en Australia (lo que correspondería a AEST, https://24timezones.com/time-zone/aest , UTC+10 para los amigos).

Metemos la solución y … Fail!. Es para tirarse de los pelos ¿Qué podemos estar haciendo mal? Si hemos revisado que estamos en diciembre, no se aplica el horario de verano, !coñe! Espera … ¿estos no eran los que se tomaban siempre las uvas en bañador?

Pues sí, en el hemisferio sur el DST (Daylight Saving Time, horario de verano para los amigos) va AL REVÉS:

https://www.worldtimeserver.com/learn/what-is-daylight-saving-time/

por lo que nuestro UTC+10 es en realidad UTC+11 porque, aunque aquí estemos pelándonos de frío, allí es verano…

* Respuesta: UTC+11

15. ¿Cuál es el apellido del usuario cuyo correo electrónico es pangolinsrock@outlook.com?

Si nos dan un correo, vamos a buscar en los logs de actividad del correo que hemos usado en preguntas anteriores:

Takeout\Mail\All mail Including Spam and Trash.mbox

Buscando por el email pangolinsrock@outlook.com no nos cuesta mucho encontrar lo que estamos buscando:

From: Bri Frazier <pangolinsrock@outlook.com>
To: Selma Bouvier <macgyverfan74@gmail.com>
Subject: Re: What up

* Respuesta: Frazier

16. ¿Qué cuenta posteó el vídeo que el terminal móvil visitó el 4 de diciembre a las 06.23AM (UTC)?

Takeout es un lujo, porque lo tienes TODO (y cuando eres consciente de que Google TAMBIÉN lo tiene, da para pensar un rato…). En este caso tenemos la actividad de vídeos vistos en YouTube en:

Takeout\YouTube\history\watch-history.html

No aparece ninguno a las 06:23 AM … porque la hora es UTC. La hora del vídeo que aparece en el mismo minuto es EDT, que según https://www.timeanddate.com/time/zones/edt  corresponde a UTC-4 … pero siendo diciembre no tendría que ser horario de verano sino EST (Eastern Standard Time) que es UTC-5 y encaja con nuestra respuesta.

Me quedo sin saber explicar del todo esta hora de diferencia… pero la respuesta es suficientemente buena como para ser correcta O:)

* Respuesta: DesertedReptile98

!Extra Bonus!: Al resolver esta pregunta me aparece un nuevo reto: “HOLY COW BATMAN!”, en el que al parecer hemos “encontrado” la contraseña de acceso a un volumen cifrado con Bitlocker:

protectedbyjubjub

Ya me parecía raro que con las preguntas que tenía resueltas me faltaran tantos puntos, tenía que haber un nivel secreto por algún lado…:D

17. ¿En qué país estaba el dueño del terminal móvil mientras estaba leyendo un documento que era “IN MEMORY OF MOE”?

Después de revisar a fondo todos los contenidos tanto del móvil como del Takeout sin encontrar ni una sola pista, releemos la pregunta con cuidado: se está hablando del propietario del terminal, pero no parece obligatorio que el documento se esté leyendo EN EL TERMINAL.

Y como en la pregunta anterior nos acaban de dar la contraseña de un volumen de Bitlocker, vamos a buscarlo (en estos retos las pistas siempre sirven para algo). Buscando por ficheros grandes en el directorio de la usuaria nos cuesta poco encontrar este:

C:\Users\SelmaBouvier\Desktop\EvenMoreSecretStuff.vhd

Un fichero .vhd corresponde a “Virtual Hard Disk”, que es la extensión que debería tener un volumen cifrado con BitLocker (por si el nombre del fichero no es pista suficiente). Para poder acceder a su contenido tenemos que montarlo y descifrarlo, algo que podemos hacer con este procedimiento:

  1. Abrimos un terminal de Windows y tecleamos diskmgmt.msc para abrir el Administrador de discos
  2. Acción –> Exponer VHD, y seleccionamos el .vhd del reto
  3. En este momento tendremos la unidad montada y visible desde el explorador de ficheros, aunque con un candado. Si intentamos acceder a la misma, nos pedirá la contraseña … y ¡bingo!

Dentro no encontramos nada más que una papelera y el “System Volume Information”. Pero la basura de uno es el oro del de al lado, así que nos lanzamos sobre la papelera cual mapache hambriento … y no nos deja acceder (niveles de permisos de las papeleras, cosas raras).

Pero podemos darle una vuelta haciendo uso de alguna utilidad como TreeSize (que de paso nos sirve para estimar el tamaño de las carpetas), y encontramos algo mejor que una hamburguesa medio mordida: un precioso .zip

El .zip tiene un montón de chicha que nos hace pensar que vamos por el buen camino: múltiples referencias a “Los Simpsons”, de los que Moe es un personaje importante (le da cerveza a Homer, y todos sabemos que “Sin tele y sin cerveza homer pierde la cabeza”)

Estos ficheros son oro puro, pero no nos ayudan a resolver la pregunta (aunque nos darán un quintal de puntos en el apartado siguiente). Me sirvo una cerveza para no hacer un Homer, y pienso: si no está en los ficheros del takeout y no está en el terminal … en algún lado tiene que estar.

Al final termino por revisar todas las imágenes del terminal para ver si hay algún tipo de mensaje oculto (pista: no lo hay), y por revisar paso a paso todos los ficheros de actividad del takeout para ver si me he dejado algo en algún vídeo (y descubro que McGyver tiene hasta películas, qué cosas).

El peine fino al final tiene su recompensa. En una de las páginas visitadas encontramos la maldita referencia:

¿En serio? Los organizadores del reto son un poco sádicos, aunque sí que es cierto que en algún caso forense habrá que llegar hasta este nivel de detalle para encontrar las evidencias que nos hagan falta…

De todas forma, encontrar la referencia es tan solo la mitad del puzzle, ya que tan solo nos da la fecha: Dec 6, 2018, 2:47:55 PM EDT. En esas fechas el dueño del terminal andaba de viaje, así que puede estar en Australia, New Zealand o EEUU. Si revisamos los SMS que se han enviado tenemos este timeline:

  • Welcome to New Zealand –> Tuesday, 4 December 2018 20:04:34.285
  • Welcome to Australia –> Friday, 7 December 2018 0:10:57.096

Por lo que lo razonable es que el 6 de diciembre el usuario estuviera en Nueva Zelanda … !bingo!

* Respuesta: New Zealand