Cyberlympics Forensics 2014

Para este año prepararon un escenario así:

Un atacante usó ingeniería social para engañar a un empleado y comprometer áreas protegidas de la compañía. Inicialmente habló con uno de los empleados que está realizando la instalación de nuevos equipos en un nuevo punto de venta. El empleado le comentó que hace poco realizó una instalación en su portátil sin permiso para quitar las políticas estrictas que tiene la compañía sobre los SO Windows.

El atacante supo ganar la confianza de este empleado para solicitarle la dirección IP que tenía y decirle que la intención era validar si los controles de seguridad faltantes harían saltar alguna alarma en la organización. El atacante tomó un cubículo desocupado e inició una máquina linux desde una USB con la intención de dirigir un ataque al empleado y robar archivos.

El atacante fue detenido mientras estaba saliendo del edificio y se creó una imagen de la USB que tenía para hacer un análisis. La intención del análisis es responder las siguientes preguntas:

  1. Cuál es la IP de la víctima?
  2. Cómo hizo el atacante para ganar acceso a la víctima?
  3. Cuál es la contraseña de Jhon?
  4. Cuál es la contraseña del Administrador?
  5. El atacante migró a explorer.exe, ¿cuál es el id de ese proceso?
  6. Qué archivos fueron descargados?
  7. Qué credenciales por defecto fueron descubiertas por el atacante?
  8. Qué servicios están corriendo en la máquina de la víctima?
  9. Qué mensajes se encuentran en los desafíos?

Luego de descargar la imagen (https://s3.amazonaws.com/cyberlympics-2014/forensic.7z) y extraerla (clave xue7so8j) se obtiene el archivo “forensic_challenge”, el cual se sabe de antemano que corresponde a la imagen de la USB. Para montarla se puede hacer uso de una herramienta desarrollada por PassMark OSForensics™ llamada OSFMount.

 

 

Al analizar el contenido efectivamente se trata de un live CD, el cuál tiene sus archivos base en /casper/filesystem.squashfs y los archivos que el usuario ha generado en /casper-rw, así que es este segundo el que vamos a analizar a fondo. Para ello podemos hacer uso nuevamente de OSFMount y cargar este archivo.

 

Lo que ocurrió es que al intentar abrir la unidad que había montado (casper-rw) salieron dos mensajes, uno por formato y otro por que no reconoce el sistema de archivos:

 

En este punto no es posible leer el contenido de la unidad haciendo uso del explorador de Windows, pero al analizar el tipo de sistema de archivos detectado veremos que efectivamente algo detectó, ¡hay información!

Detected: Linux native file system

Lo que a continuación hice fue analizar el disco montado con la herramienta FTK Imager de la compañía AccessData, haciendo lo que se observa en la imagen:

 

Luego de eso tenemos acceso a la información que vamos a analizar:

 

Así que empecemos a resolver:

 

1. Cuál es la IP de la víctima?

Se observa la existencia de una carpeta llamada target ubicada en /home/mint/, allí se observa una documentación hecha en KeepNote que se registra información sobre 192.168.99.127
2. Cómo hizo el atacante para ganar acceso a la víctima?

Al mirar la documentación hay una referencia a msf, que evidentemente corresponde al framework de metasploit, así que para corroborar si usó este framework para lograr el acceso se verifican los logs que deja su ejecución. Al revisar el archivo /home/mint/.msf4/history encontramos:

use exploit/windows/smb/ms08_067_netapi
set rhost 192.168.99.127
exploit
sessions -i 1
exit

3. Cuál es la contraseña de Jhon?

En la documentación se encuentra el resultado de hacer un hashdump, allí podemos ver que existe una línea :

John Smith:1003:274f319b6bbb8322c2265b23734e0dac:aa4f118f61595b410b6a172e168df0ac:::

Si hacemos uso de https://crackstation.net/ podremos ver cómo la contraseña es Johnny#1

 

4. Cuál es la contraseña del Administrador?

De igual manera se puede ver el hash NTLM del administrador:

Administrator:500:417d8789048d7464b279d51dc0df9559:1b262ff5654447f4bf8b66fead012bf8:::

Para este caso no tenemos éxito en crackstation, pero en el sitio http://rainbowtables.it64.com/ tenemos un resultado parcial

 

Obtenemos la referencia LM, esto nos da pie para hacer combinaciones sobre el texto JO#NROCK$ para encontrar el hash que corresponde al NTLM que tenemos, para eso hice uso de http://www.tobtu.com/lmntlm.php para calcular los hash de las distintas combinaciones de mayúsculas y minúsculas, obteniendo que el hash corresponde a Jo#nRock$

 

5. El atacante migró a explorer.exe, ¿cuál es el id de ese proceso?

En la documentación podemos ver lo que tiene en ps:

 

 

Allí es claro identificar que el ID del proceso explorer.exe es el 172.

 

6. Qué archivos fueron descargados?

Para identificar esto, ya que sabemos que el atacante usó una sesión interactiva de meterpreter, hay que regresar a los logs de msf, en /home/mint/.msf4/logs/framework.log encontramos un par de líneas que muestran la intención de descarga:

[07/31/2014 08:36:27] [e(0)] meterpreter: Error running command download: Errno::EACCES Permission denied – Challenges.txt
[07/31/2014 08:37:40] [e(0)] meterpreter: Error running command download: Errno::EACCES Permission denied – Challenges.txt

Con la lectura del archivo framework.log no se puede asegurar la descarga, sin embargo al analizar el contenido de la carpeta /home/mint/ se observa que allí está el archivo Challenges.txt, con lo cual se puede confirmar que efectivamente este archivo fue robado de la máquina de la víctima, de manera adicional también se encuentra el archivo Store_1337-New_Location_Setup.ods que corresponde al registro del trabajo que está haciendo la víctima en la compañía, más específicamente en la tienda 1337. En conclusión, se asume que ambos archivos fueron robados.
7. Qué credenciales por defecto fueron descubiertas por el atacante?

El contenido del archivo Store_1337-New_Location_Setup.ods sirve para identificar que en el hostname pos5-1337 con IP 192.168.137.55 aún no ha terminado la instalación de la terminal POS y que aún conserva las credenciales por defecto admin/admin.

 

8. Qué servicios están corriendo en la máquina de la víctima?

Al remitirnos de nuevo a la documentación del atacante, específicamente a lo que contiene en nmap podemos ver los servicios que se encuentran disponibles:

PORT    STATE SERVICE      VERSION
135/tcp open  msrpc        Microsoft Windows RPC
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds Microsoft Windows XP microsoft-ds

9. Qué mensajes se encuentran en los desafíos?

El archivo Challenges.txt contiene 7 líneas con mensajes cifrados, son los siguientes:

 

9.1. VkVSWUdPT0RHUkFTU0hPUFBFUg==

Al decodificar el base64 obtenemos VERYGOODGRASSHOPPER (Very good grasshopper)

 

9.2. LBHEGENVAVATVFPBZCYRGRCNQNJNA

Al hacer un ROT13 (Caesar shift 13) obtenemos YOURTRAININGISCOMPLETEPADAWAN (Your training is complete Padawan)

 

9.3. AZBUXTUSKFACTGMHRNADMPUCSUTYKCPCYSINPBSQMCBCBUQUNC
Usando la técnica de cifrado simétrico Playfair (que es básicamente una sustitución poligráfica, usando la distribución típica del alfabeto, en una tabla 5×5 sin la letra J) podemos obtener el texto EVERYSTRIKEBRINGSMECLOSERTOTHENEXTHOMERUNBABERUTHX (Every strike brings me closer to the next homerun – Babe Ruth)

 

9.4. MTNAYNYUTWOSFAODDREMALEEHIMTPYIDBENAHIDRHRTFYNSNOEUNOWATTTUTADUHIOAYROAYTWORIEYRAOK (Sin resolver aún)

 

9.5. PTDNHRLEYHNOLETIEEIYOAAOELIANWCAPSTISETBGYODLNMTNWHSTHMTEEOATTEEHWMIOTTVLSROASEDFIADTN

Este mensaje hace uso de la técnica Railfence, que es organizar el texto en forma de “onda”, en este caso usando 8 filas para formar la onda obtenemos algo como:

P,,,,,,,,,,,,,T,,,,,,,,,,,,,,,,,,,D,,,,,,,,,,,,,N,,,,,,,,,,,,,H,,,,,,,,,,,,,,,,,R,,,,,,,,,,,,,,,L
,E,,,,,,,,,,,Y,H,,,,,,,,,,,,,N,O,,,,,,,,,,,L,E,,,,,,,,,,T,I,,,,,,,,,,,,,,,E,E,,,,,,,,,,,,I,,Y
,,O,,,,,,,,,A,,,A,,,,,,,,,O,,,E,,,,,,,,,L,,,,I,,,,,,,,,A,,,N,,,,,,,,,W,,,,C,,,,,,,,,A
,,,P,,,,,,,S,,,,,T,,,,,,,,,I,,,,,,,S,,,,,,,E,,,,,T,,,,,,,B,,,,,G,,,,,,,Y,,,,,,,O,,,,,,,D
,,,,L,,,,,N,,,,,,,M,,,,,T,,,,,,,,N,,,,W,,,,,,H,,,,S,,,,,,,,T,,,,,H,,,,,,,,,M,,,,,T
,,,,,E,,,E,,,,,,,,,O,,,A,,,,,,,,,,T,,,T,,,,,,,,,E,,,E,,,,,,,,,H,,,W,,,,,,,,,,M,,,I
,,,,,,O,T,,,,,,,,,,,T,V,,,,,,,,,,,,,,L,S,,,,,,,,,,R,O,,,,,,,,,,,A,S,,,,,,,,,,,,E,D
,,,,,,,,F,,,,,,,,,,,,,,,I,,,,,,,,,,,,,,,,,,A,,,,,,,,,,,,,D,,,,,,,,,,,,,,,T,,,,,,,,,,,,,,,,,N

 

Y al leer la “onda” está el texto PEOPLEOFTENSAYTHATMOTIVATIONDOESNTLASTWELLNEITHERDOESBATHINGTHATSWHYWERECOMMENDITDAILY (People often say that motivation doesn’t last. Well neither does bathing, that’s why we recommend it daily).

9.6. …. – ..- .-. . -… .- -… -. ..- .-. . — — …. – -..- . -. . …. – — – .-. . … — .-.. -.-. . — … –. -. .. .-. -… . -.- .. .-. – … -.– .-. . …- .

Lo que se ve es un texto en morse equivalente a HTUREBABNUREMOHTXENEHTOTRESOLCEMSGNIRBEKIRTSYREVE , que al invertir la cadena se obtiene EVERYSTRIKEBRINGSMECLOSERTOTHENEXTHOMERUNBABERUTH (Every strike brings me closer to the next homerun – Babe Ruth).

9.7. 100110101100001000101010011000101001101000100010110000101000001011110010010000101010001010101010101000100100101011001010101000101100101001001010100000101111001011000010010010101110001010100010110000101100001011110010101000100110001000110010101010100110001001000010010010100011001011001010101000100010001010101010100100101111001001001010001100101111001001000010001010101001001010101010100110101010001001001010110010101111001001110010010010101010001010100010000100101000001010101010001000100010001011001010000100100011001001001010010010101100101000101010100100101111001010101010110010100100101010000010011100101111001010100010101000100110001010010010
Al invertir la cadena binaria y decodificar se obtiene el texto IFEEONARSUOITSRRLHSDDUAHEERNOSREYUITBOLROIUDESLRBFULFEOCCEGRCOARSESREUEBOACDYFTCY, el siguiente paso es hacer una rotación izquierda con previa longitud de 5, es decir, separamos de a 5 caracteres:

IFEEO
NARSU
OITSR
RLHSD
DUAHE
ERNOS
REYUI
TBOLR
OIUDE
SLRBF
ULFEO
CCEGR
COARS
ESREU
EBOAC
DYFTC
Y

Y giramos el texto hacia la izquierda, obteniendo estas cinco líneas:
OURDESIREFORSUCC
ESSSHOULDBEGREAT
ERTHANYOURFEAROF
FAILUREBILLCOSBY
INORDERTOSUCCEEDY

Para obtener el texto final hay que leer primero la última línea y luego las cuatro restantes, quedando “In order to succeed, your desire for success should be greater than your fear of failure – Bill Cosby“. Thanks to @vhssunny1 and his teammate for this answer.

 

 

Si alguien encuentra la solución de 9.4 le agradecería que comparta la solución para actualizar esta publicación.

Published by

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *