1. ¿Cuál es el hash SHA1 de la imagen forense del puesto de escritorio?
Si la captura forense no tiene hashes, no es una captura forense. Revisamos el fichero MUS-CTF-19-DESKTOP-001.E01.txt y encontramos en un periquete el hash:
[Computed Hashes] MD5 checksum: c0d0eaf2c981cd247bf600b46e6487c3 SHA1 checksum: a20c2f43a80ddcad35b958b701a6cdd4b67e535c
* Respuesta: a20c2f43a80ddcad35b958b701a6cdd4b67e535c
2. ¿Quién adquirió la imagen forense del puesto de escritorio?
El mismo fichero de logs de la adquisición forense del apartado anterior nos da la respuesta.
Examiner: Powers
* Respuesta: M Powers
3. ¿Cuál es el número de serie del volumen del SO del puesto de escritorio?
El número de serie del volumen es un valor hexadecimal que se genera cuando se crea el sistema de ficheros. La documentación de Microsoft nos dice que para sistemas de ficheros NTFS lo tenemos en la posición 0x48 del BPB (Bios Parameter Block), que es parte del sector de arranque. Este sector lo tenemos en el disco en el $boot (en el raíz del disco). Montamos el disco con FTK Imager y accedemos al valor hexadecimal:
Pero como estamos en Little Endian, hay que leerlo al revés (de derecha a izquierda).
* Respuesta: CCEE-841B
4. ¿Cuál es la timezone del puesto de escritorio?
Si es una configuración del sistema, tiene que estar en el registro de Windows. Montamos la imagen con FTK Imager Lite, extraemos la carpeta C:\Windows\System32\config (porque seguro que nos hará falta más). La clave en cuestión es:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
por lo que podemos abrir el SYSTEM con Registry Explorer y obtener la timezone (recuerda que si el equipo no está activo, el CurrentControlSet es el ControlSet001), que en este caso es Pacific Standard Time.
* Respuesta: Pacific Standard Time
5. ¿Qué usuario instaló TeamViewer?
Un repaso rápido a C:\Users indica que solo tenemos dos cuentas activas: Administrator y SelmaBouvier. TeamViewer puede ser instalado sin privilegios de administrador, así que tenemos que revisar ambos.
En un minuto encontramos un fichero muy interesante:
C:\Users\Administrator\AppData\Roaming\TeamViewer\TeamViewer14_Logfile.log 2019/02/25 12:41:29.586 700 4124 I2 Logger started. 2019/02/25 12:41:29.720 700 4124 I2 Service install: Param:'-install' 2019/02/25 12:41:29.914 700 4124 I2+ GetSimpleDisplayCertNameFromFile: Found cert name: 'TeamViewer GmbH'. 2019/02/25 12:41:29.914 700 4124 I2+ VerifyTeamViewerCertificate: File for loading certificate is C:\Program Files (x86)\TeamViewer\TeamViewer_Service.exe 2019/02/25 12:41:29.914 700 4124 I2+ VerifyTeamViewerCertificate: SHA256 code path. 2019/02/25 12:41:29.914 700 4124 I2+ SHA256 certificate check. 2019/02/25 12:41:29.914 700 4124 I2+ VerifyCertHash(): Certificate check succeded. 2019/02/25 12:41:29.914 700 4124 I2+ ServiceConfiguration: Creating service 2019/02/25 12:41:29.930 700 4124 I2 Service TeamViewer at "C:\Program Files (x86)\TeamViewer\TeamViewer_Service.exe" installed
que indica que la aplicación ha sido instalada por el usuario Administrator.
* Respuesta: Administrator
6. ¿Cuál era el offset de la timezone en el momento de la adquisición forense?
Tenemos la respuesta en la pregunta 4, ya que la timezone es PST (Pacific Standard Time), que relativo a UTC es -8… pero ¡ojo! Aquí siempre tenemos que comprobar si estamos o no en horario de verano (los infames Daylight Saving Time). Según la Wikipedia, se cambia el segundo domingo de Marzo:
https://en.wikipedia.org/wiki/Pacific_Time_Zone
Y si revisamos el fichero log de la adquisición forense observamos que fue realizada el 20 de Marzo:
Image Information: Acquisition started: Wed Mar 20 14:29:33 2019 Acquisition finished: Wed Mar 20 15:42:50 2019
Por lo que nuestra offset es UTC-7. Pero ahora que me fijo en el RegistryExplorer veo que aparece la clave “ActiveTimeBias” que nos muestra el aplicado, que son 420 minutos –> 7h.
* Respuesta: UTC-7
7. ¿Cuántas veces fue ejecutado al menos el proceso teamviewer_desktop.exe?
Si queremos ejecuciones el Prefetch es nuestro amigo. Exportamos del FTK Imager la carpeta C:\Windows\Prefetch (que afortunadamente existe, lo que nos indica que el disco duro no es un SSD), y tiramos de WinPrefetchView para obtener rápidamente la respuesta.
* Respuesta: 3
8. ¿Cuándo se instaló el SO Windows?
Otra pregunta de registro. La fecha de instalación de un SO Windows está guardada en esta clave del registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
Por lo que 10 segundos de RegistryExplorer nos dan la respuesta:
Esa clave nos da la hora en Epoch Time, que podemos convertir desde Linux con:
$ date -d@1532762873
* Respuesta: Saturday, 28 July 2018 7:27:53
9. ¿Cuál es el nombre del fichero asociado a la entrada de la MFT con número 102698?
Como tenemos montada la imagen, tan solo tenemos que exportar la $MFT (que está en el raíz del sistema de ficheros) y pasarla por la herramienta mftdump.exe:
Y ya es cuestión de abrir el .csv con LibreOffice Calc (que en mi experiencia funciona mucho mejor que Excel para ficheros grandes) y localizar la entrada de marras.
Otra opción mucho más sucia sería la de tirar grep sobre el fichero (si Windows ya tiene Linux embebido, no hacemos daño a nadie por bajarnos un grep ¿verdad?).
* Respuesta: TeamViewer_Setup.exe
10. ¿Cuál es el número de secuencia MFT asociado con el fichero “\Users\Administrator\Desktop\FTK_Imager_Lite_3.1.1\FTK Imager.exe”?
Axion Magnet nos da el reference number del fichero: 1125899906942540
El Reference Number se construye en base a dos números: el número de la entrada MFT (6 bytes) y el número de secuencia (2 bytes) en hexadecimal. Usando un convertidor online de entero a hexadecimal obtenemos el valor en hexa:
00000001864C
Como el valor son 8 bytes, tenemos que añadir un 0x00 al valor, que ya podemos dividir en sus dos partes y obtener nuestra merecida respuesta.
- Entrada MFT: 00000001864C
- Número de secuencia: 0x0004 –> 4 en entero
* Respuesta: 4
11. ¿Qué nombre de fichero representa el registro USN con número 546416480?
Aquí nos tocaría cargar el $UsnJrnl:$J para identificarlo, pero el NTFSLogTracker no parece muy cooperativo hoy. Vamos a aprovechar de nuevo las capacidades de Axiom Magnet para que nos busque la respuesta en un periquete:
* Respuesta: TransportSecurity~RF134e6674.TMP
12. ¿Cuál es la dirección IP del puesto de escritorio?
Las preguntas del registro son muy sencillas… si sabes dónde buscar. Aquí tenéis un recurso con muchas claves del registro que os pueden venir de maravilla a la hora de hacer un forense. En nuestro caso las direcciones IP se guardan en esta clave del registro:
hkey_local_machine\system\currentcontrolset\services\tcpip\parameters\interfaces
Tan solo tenemos que recuperar la ventana que teníamos abierta de RegistryExplorer y extraer los datos:
* Respuesta: 64.44.141.76
13. ¿Qué usuario apagó Windows el 25 de febrero de 2019?
El apagado del equipo es un evento… así que tiene que estar dentro de algún EventLog. Exportamos del FTK Imager la carpeta de logs del sistema (C:\Windows\System32\winevt) y abrimos el log de Microsoft-Windows-User Profile Service%4Operational.evtx para comprobar si tanto Administrator como SelmaBouvier habían iniciado sesión en el sistema (de tener solo uno la respuesta sería obvia). No tenemos suerte porque el log indica que ambos tienen actividad ese día…
Nos toca buscar otro log. Si es un apagado es algo que afecta al sistema, por lo que lo lógico sería buscar en el log de System. Un par de minutos de rebuscar nos dan el evento que nos da la respuesta.
* Respuesta: Administrator
14. ¿Cuál es el hash SHA1 del fichero c:\users\selmabouvier\appdata\local\packages\microsoft.microsoftedge_8wekyb3d8bbwe\tempstate\downloads\megasyncsetup (1).exe?
Tan sencillo como extraer el fichero con FTK Imager y calculamos los hashes con HashMyFiles:
* Respuesta: 082129a2b431f36a194f2594e3987e31b22dc5ea
15. Después de examinar el fichero de prefetch de TEAMVIEWER_DESKTOP.EXE ¿cuál era el path del ejecutable cuando se ejecutó?
Recuperamos los datos de la pregunta 7 y le damos zapatilla:
* Respuesta: \VOLUME{01D4264BEE777579-CCEE841B}\PROGRAM FILES (X86)\TEAMVIEWER\TEAMVIEWER_DESKTOP.EXE
16. ¿Cuál es el nombre de fichero que tuvo la entrada MFT 60725 con el número de secuencia 10?
Axiom Magnet nos devuelve los siguientes ficheros que han tenido la MFT 60725 (sacados del UsnJrnl) junto con su Reference Number:
energy-report-2019-02-19.xml 2533274790456629 telemetry.ASM-WindowsDefault.json.new 3659174697299253 TELEMETRY.ASM-WINDOWSSQ.json.new 3940649674009909 telemetry.P-ARIA-194626ba46434f9ab441dd7ebda2aa64-5f64bebb-ac28-4cc7-bd52-570c8fe077c9-7717.json.new 2814749767167285 telemetry.P-ARIA-5476d0c4a7a347909c4b8a13078d4390-f8bdcecf-243f-40f8-b7c3-b9c44a57dead-7230.json.new 3096224743877941 utc.app.json.new 3377699720588597 utc.privacy.json 4222124650720565 utc.privacy.json.new 4222124650720565
El Reference Number se construye en base a dos números: el número de la entrada MFT (6 bytes) y el número de secuencia (2 bytes) en hexadecimal.
Usando un convertidor online de entero a hexadecimal obtenemos el valor para todos los ficheros:
energy-report-2019-02-19.xml 2533274790456629 - 900000000ED35 telemetry.ASM-WindowsDefault.json.new 3659174697299253 - D00000000ED35 TELEMETRY.ASM-WINDOWSSQ.json.new 3940649674009909 - E00000000ED35 telemetry.P-ARIA-194626ba46434f9ab441dd7ebda2aa64-5f64bebb-ac28-4cc7-bd52-570c8fe077c9-7717.json.new 2814749767167285 - 0x00A 00000000ED35 - telemetry.P-ARIA-5476d0c4a7a347909c4b8a13078d4390-f8bdcecf-243f-40f8-b7c3-b9c44a57dead-7230.json.new 3096224743877941 - B00000000ED35 utc.app.json.new 3377699720588597 - C00000000ED35 utc.privacy.json 4222124650720565 - F00000000ED35 utc.privacy.json.new 4222124650720565 - F00000000ED35
Como el valor son 8 bytes, tenemos que añadir un 0x00 al valor, que ya podemos dividir en sus dos partes. Por ejemplo, para el primer valor (900000000ED35):
Entrada MFT: 00000000ED35 Número de secuencia: 0x0009
Pero solo con ver el formato, y sabiendo una miaja de hexadecimal, la respuesta está clara:
Fichero: telemetry.P-ARIA-194626ba46434f9ab441dd7ebda2aa64-5f64bebb-ac28-4cc7-bd52-570c8fe077c9-7717.json.new Reference number: 2814749767167285 (A00000000ED35 en hexadecimal) Entrada MFT: 00000000ED35 Número de secuencia: 0x00A (10 en decimal)
* Respuesta: telemetry.P-ARIA-194626ba46434f9ab441dd7ebda2aa64-5f64bebb-ac28-4cc7-bd52-570c8fe077c9-7717.json.new
Conclusiones
Al final ha sido un fin de semana bien aprovechado: 52 preguntas resueltas y dignamente documentadas (maquetación aparte), con muchas preguntas técnicas de forense y un nivel de dificultad variable pero razonablemente asequible (con las deshonrosas excepciones de la pregunta de “IN MEMORY OF MOE” y mi empanada mental con los bytes transmitidos del Team Viewer).
No tenía experiencia previa con Magnet Axiom, y la verdad es que tiene unas cuantas funcionalidades que hacen la vida mucho más sencilla a un analista forense (las de manipulación de $MFT y $LogFile, así como los timeline a velocidad luz son fantásticas).
El reto se podría haber completado con herramientas open source, pero desde luego que tener el Axiom con todos los datos ya procesados ha ahorrado unas cuantas horas de trabajo. Si tu dedicación es 100% forense es una herramienta sin duda a tener en cuenta.
Imprescindible agradecer a David Cowen (@HECFBlog) la currada que se ha pegado creando este reto forense denso pero muy interesante, y sobre todo por hacerlo público para que lo podamos jugar :)
Pros
- He aprendido que en el hemisferio sur van al revés … pero de verdad.
- Takeout es una pasada como fuente de información.
- Magnet Axiom es una herramienta más que digna para hacer forenses.
Cons
- 36 preguntas iniciales … que al final se han desenrollado en 52 (un 50% más de trabajo). Al final una paliza para terminar el reto en el plazo que me había marcado del fin de semana.
- Alguna pregunta era de “idea feliz” … pero eso es prácticamente inevitable en un reto forense.
Buen sabor de boca con el reto, habiendo cumplido el 95% los objetivos marcados y aprendido unas cuantas cosas que van directas a mi bolsa de trucos forenses…