Sokratica Análisis de malware - DFIR - Writeups - Herramientas

Writeup | CyberDefenders | Patrick

Esta es una guía de cómo resolver, paso a paso, el reto Patrick de la plataforma Cyberdefenders.org

Tags: Writeups, Writeups Español, Cyberdefenders, Patrick

Índice

  1. Preámbulo
    1.1 Mitre ATT&CK
  2. Writeup
    2.1 Pregunta 1
    2.2 Pregunta 2
    2.3 Pregunta 3
    2.4 Pregunta 4
    2.5 Pregunta 5
    2.6 Pregunta 6
    2.7 Pregunta 7
    2.8 Pregunta 8
    2.9 Pregunta 9
    2.10 Pregunta 10
    2.11 Pregunta 11
    2.12 Pregunta 12
    2.13 Pregunta 13
    2.14 Pregunta 14
    2.15 Pregunta 15
  3. Preguntas y respuestas

Preámbulo

Info Descripción
Reto Patrick
SHA1SUM hash5db0e464da665e6e9660ac17cf3fb74c38213b0a
Autor Magnet Forensics, Jordan Kimball, Dylan Navarro, Hayley Froio, Alayna Cash, Jessiva Hyde
Tags Disk Forensic, iOS, iLEAPP, Magnet, SQLite Browser, CyberChef, T1552, T1426, T1420

Escenario

Esta imagen fue capturada desde el iPhone de un usuario que le gusta jugar videojuegos, especialmente Minecraft, y se comunica con amigos. ¿Pero está este usuario haciendo algo que no debería? Necesitamos identificar cualquier tipo de comportamiento anómalo realizado por este usuario.

Como analista de seguridad del Blue Team, analiza los artefactos y responde las preguntas.

Herramientas recomendadas
CyberChef
iLEAPP
DCode
DB Browser for SQLite
Unfurl
MacForensics Plist Deserializer

Mitre ATT&CK

T1552

Credenciales no aseguradas

Los adversarios pueden buscar en los sistemas comprometidos para encontrar y obtener credenciales almacenadas de manera insegura. Estas credenciales pueden estar almacenadas y/o mal ubicadas en muchos lugares de un sistema, incluidos archivos de texto plano (por ejemplo, Historial de Bash), repositorios específicos del sistema operativo o de aplicaciones (por ejemplo, Credenciales en el Registro), u otros archivos/artefactos especializados (por ejemplo, Claves Privadas).

T1420

Descubrimiento de Archivos y Directorios

Los adversarios pueden enumerar archivos y directorios o buscar en ubicaciones específicas del dispositivo información deseada dentro de un sistema de archivos. Los adversarios pueden usar la información del Descubrimiento de Archivos y Directorios durante el descubrimiento automatizado para definir comportamientos posteriores, incluyendo decidir si el adversario debería infectar completamente el objetivo y/o intentar acciones específicas.

En Android, los permisos de archivos de Linux y las políticas de SELinux generalmente restringen estrictamente lo que puede ser accedido por las aplicaciones sin aprovechar una explotación de escalamiento de privilegios. El contenido del directorio de almacenamiento externo generalmente es visible, lo que podría presentar preocupaciones si datos sensibles se almacenan inapropiadamente allí. La arquitectura de seguridad de iOS generalmente restringe la capacidad de realizar cualquier tipo de Descubrimiento de Archivos y Directorios sin el uso de privilegios elevados.

T1426

Descubrimiento de Información del Sistema

Los adversarios pueden intentar obtener información detallada sobre el sistema operativo y el hardware de un dispositivo, incluyendo versiones, parches y arquitectura. Los adversarios pueden usar la información del Descubrimiento de Información del Sistema durante el descubrimiento automatizado para definir comportamientos posteriores, incluyendo si infectan completamente el objetivo y/o intentan acciones específicas.

En Android, gran parte de esta información es accesible programáticamente para las aplicaciones a través de la clase android.os.Build. iOS es mucho más restrictivo con respecto a la información visible para las aplicaciones. Típicamente, las aplicaciones solo podrán consultar el modelo del dispositivo y la versión de iOS que está ejecutando.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Writeup

1. ¡Lista Personal! -> ¿Cuántos artículos había en la lista de compras de Patrick?

Vale la pena explorar todo lo que nos arroja el procesamiento del iLEAPP para ver a qué podemos acceder. En mi caso, hay una sección de las notas del dispositivo donde podemos ver la respuesta:

patrick

2. Cache Me if You Can -> ¿Cuál fue la última ubicación del teléfono?

Para responder a esta pregunta, hay que encontrar una base de datos que se llama “Cache.sqlite”, tal y como nos lo sugiere la pista de la pregunta. Desde el reporte generado en iLEAPP podemos ver la ruta de esa base de datos, sin embargo, encontraremos ficheros con extensiones “-wal” que no podemos leer desde el SQLite Browser. Lo que tenemos que hacer es irnos a la evidencia original, es decir, la que no ha sido procesada por el iLEAPP y allí veremos nuestra base de datos,

Hay que abrir la que tiene por nombre “ZRTCLLOCATIONMO” y allí veremos nuestra respuesta:

patrick

En dispositivos iOS, la base de datos con el nombre “ZRTCLLOCATIONMO” es parte de la base de datos utilizada por el sistema operativo para almacenar información de ubicación, específicamente dentro del contexto de los servicios de ubicación y aplicaciones que hacen uso de estos servicios. En el contexto del análisis forense digital, la tabla “ZRTCLLOCATIONMO” puede ser de interés para investigar el historial de ubicaciones de un dispositivo iOS. Los datos pueden proporcionar un registro detallado de dónde ha estado el dispositivo a lo largo del tiempo.

3. Quítate el zapato izquierdo… Ahora vuelve a ponértelo -> ¿Cuándo fue el último reinicio realizado?

El reporte de iLEAPP nos da una parte de módulo donde quedan registrados los reinicios del sistema:

patrick

4. Rojo o Vivo -> ¿A qué hora se creó la cuenta de Reddit de Patrick?

Mucha de la información contenida de aplicaciones se encuentra en la ruta “private/var/mobile/Containers/Shared/AppGroup/”. A partir de allí tuve que estar buscando hasta que llegue al fichero “ivu21eum” en la siguiente ruta:

/private/var/mobile/Containers/Shared/AppGroup/C0D4CE88…/Library/Application Support/accounts/

Convertí ese fichero a json, con el deserializer, para poder leerlo y allí vemos la respuesta

patrick

5. Pendiendo de un hilo -> ¿Qué aplicación fue desinstalada?

En la sección de “Mobile Installation Logs” veremos otra sección de aplicaciones desinataladas y allí veremos que nuestra respuesta es: WeChat.

patrick

6. ¿Era el mensaje de Redd(it)? -> ¿Cuál fue el contenido del mensaje en la última notificación recibida de Reddit?

El reporte del iLEAPP nos ofrece una sección de notificaciones donde podemos ver el contenido del último mensaje de Reddit:

patrick

7. Pigmento de tu imaginación -> ¿Cuál es el código hexadecimal del color asignado a los eventos de trabajo?

El mismo reporte del iLEAPP nos da una sección de “Calendar” pero desde allí no pude ver nuestra respuesta, así que extraje las bases de datos de la ruta marcada por el reporte:

patrick

Una vez importadas e el SQLite Browser, me dirigí a ver la información de la base de datos “Calendar” vi que el color era morado:

patrick

8. Publicación patrocinada -> ¿Cuántos correos electrónicos promocionales quedaron sin leer?

Hay una sección del reporte de iLEAPP de Gmail, sin embargo ahí no encontré ningún item referente a mensajes leídos o no, así que repetí la operación de ir a por las bases de datos directamente de acuerdo con la ruta que nos ofrece el reporte:

patrick

Luego hice un poco de exploración de las bases que extraje hasta que llegué a la de nombre “sqlitedb”, sección “label_counts” y filtré por “promo”:

patrick

La respuesta sería 23, sin embargo, parece que hay un error así que, sin más, revisé otros writeups y se supone que la respuesta correcta es 21.

9. ¡Hasta el infinito y más allá! -> ¿Qué sonido de alarma eligió Patrick?

La respuesta la encontramos en el reporte de iLEAPP, sección “Alarms”:

patrick

10. Pobre recepción -> ¿Cuándo expiró el servicio celular de este dispositivo?

En los correos electrónicos que pudimos ver desde el reporte, encontramos uno de TotalWireless donde nos indica la fecha de expiración del servicio:

patrick

Hay que poner la fecha en el formato: MM/DD/AA.

11. Localiza cómo gastas tu tiempo -> ¿Qué aplicación tuvo la mayor cantidad de tiempo de pantalla?

Encontré en internet que hay una base de datos llamada “RMAdminStore” donde podemos ver información sobre el uso de aplicaciones en el dispositivo. Extrayendo esas bases de datos para “local” vi lo siguiente

patrick

Abriendo la base de datos “ZUSAGETIMEDITEM” veremos el uso de las aplicaciones, sin embargo, hay que sumar los segundos en pantalla ya que no están sumados. Exporte la base de datos a CSV, hice una tabla dinámica y obtuve la respuesta:

patrick

12. TLDR: Los kigarumis dan miedo -> ¿Qué animal lleva puesto el avatar de Reddit de Patrick?

En este punto, regresé a los resultados de la pregunta 4 referente a la creación de la cuenta de usuario en Reddit de nuestro sujeto de investigación, en concreto, al json generado del fichero “ivu21eum”.

Explorando el contenido del json, podemos ver que hay un link de referencia al “iconImageURL”, el cual nos lleva a la siguiente imagen:

patrick

patrick

La respuesta es: owl.

13. Un día sin sol -> ¿Cuál es el nombre del GIF enviado a Patrick en un mensaje en Bumble?

En el reporte de iLEAPP hay una sección de Bumble en el que podemos ver los mensajes enviados y recibidos. En uno de ellos veremos un link que hace referencia a giphy.

patrick

Siguiendo el link podemos ver el gif en cuestión y el nombre del mismo:

patrick

El nombre es ThirstySteveMartin.gif.

14. ¿Qué .heic? -> ¿En qué dirección cardinal se movía Patrick cuando tomó una foto en vivo?

Esta pregunta me puso a pensar y tuve que usar mucha creatividad. Recordé que había una pregunta, la 2, que nos daba una ubicación -la tomé como la ubicación 1. Luego revisé en las imágenes presentadas en el reporte del iLEAPP y vi que allí había otra ubicación.

patrick

Luego me fui al maps y puse la ubicación de la pregunta 2 como origen y el estado de la imagen como destino y saqué que la dirección cardinal es:este.

patrick

15. Ubicación, Ubicación, Ubicación -> ¿Cuándo buscó Patrick por primera vez un sitio web que revela su dirección IP?

Primero hay que revisar el historial de búsquedas del Safari e identificar la búsqueda que revele la IP del usuario: en este caso, whatsmyip:

patrick

Luego copie la URL en el unfurl e identifiqué el timestamp:

patrick

Y, después, con la utilidad de DCode convertí el timestamp y saqué la respuesta:

patrick

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Preguntas y respuestas

  1. ¡Lista Personal! -> ¿Cuántos artículos había en la lista de compras de Patrick?
    4

  2. Cache Me if You Can -> ¿Cuál fue la última ubicación del teléfono?
    38.84412765, -77.28686523

  3. Quítate el zapato izquierdo… Ahora vuelve a ponértelo -> ¿Cuándo fue el último reinicio realizado?
    2022-02-14 11:44:13

  4. Rojo o Vivo -> ¿A qué hora se creó la cuenta de Reddit de Patrick?
    21:59:38

  5. Pendiendo de un hilo -> ¿Qué aplicación fue desinstalada?
    WeChat

  6. ¿Era el mensaje de Redd(it)? -> ¿Cuál fue el contenido del mensaje en la última notificación recibida de Reddit?
    Kornbread and Jorgeous are still Making Fun of Cynthia’s Car Crash…

  7. Pigmento de tu imaginación -> ¿Cuál es el código hexadecimal del color asignado a los eventos de trabajo?
    #CC73E1FF

  8. Publicación patrocinada -> ¿Cuántos correos electrónicos promocionales quedaron sin leer?
    21

  9. ¡Hasta el infinito y más allá! -> ¿Qué sonido de alarma eligió Patrick?
    system:Radar

  10. Pobre recepción -> ¿Cuándo expiró el servicio celular de este dispositivo?
    05/02/22

  11. Localiza cómo gastas tu tiempo -> ¿Qué aplicación tuvo la mayor cantidad de tiempo de pantalla?
    Bumble

  12. TLDR: Los kigarumis dan miedo -> ¿Qué animal lleva puesto el avatar de Reddit de Patrick?
    owl

  13. Un día sin sol -> ¿Cuál es el nombre del GIF enviado a Patrick en un mensaje en Bumble?
    thirstystevemartin.gif

  14. ¿Qué .heic? -> ¿En qué dirección cardinal se movía Patrick cuando tomó una foto en vivo?
    east

  15. Ubicación, Ubicación, Ubicación -> ¿Cuándo buscó Patrick por primera vez un sitio web que revela su dirección IP?
    16/01/22 09:01:22