Cyberdefenders Práctica Emprisa Maldoc, Karlo Licudine - Digital Forensics




Escenario

Como analista de SOC, se le pidió que inspeccionara un documento sospechoso que un usuario recibió en su bandeja de entrada. Uno de sus colegas le dijo que no pudo encontrar nada sospechoso. Sin embargo, ejecutar el documento en una sandboxing desencadenó algunas alertas.

Preguntas

¿Cuál es el CVE ID de la vulnerabilidad explotada?

El CVE de la vulnerabilidad explotada es CVE-2017-11882. La evidencia se obtuvo al enviar el hash sha256 a VirusTotal. VirusTotal reporta dos CVE, el CVE-2017-11882 y CVE-2018-0802. Siendo la respuesta correcta para este desafío el CVE-2017-11882.



Para reproducir el exploit en un entorno de laboratorio e imitar una máquina corporativa que ejecuta Microsoft Office 2007, no se debe instalar un parche específico. Proporcione el número de parche.

El número de parche es KB4011604 esta información se obtuvo desde la página de Microsoft MSRC (https://msrc.microsoft.com/update-guide/vulnerability/CVE-2017-11882)




¿Cuál es la firma mágica (magic asignature) en los datos del objeto?

La firma mágica es d0cf11e0. La evidencia se obtuvo con la herramienta rtfdump.py


¿Cuál es el nombre del proceso generado cuando se abre el documento?

El proceso generado cuando se abre el documento es eqnedt32.exe, para obtener es evidencia se utilizó la sandbox AnyRun.




¿Cuál es la ruta completa de la carga útil descargada?

La ruta completa de la carga útil descargada es C:\o.exe. La evidencia se obtuvo realizando el volcado del número 7 del documento con la herramienta rtfdump.py 



Luego, el resultado del archivo volcado es un conjunto de caracteres hexadecimal, el cual se analizó con la herramienta cyberchef. obteniendo la ruta C:\o


La respuesta es C:\o.exe.

¿Dónde está la URL utilizada para obtener la carga útil?

La URL utilizada para obtener la carga útil (payload) es https://raw.githubusercontent.com/accidentalrebel/accidentalrebel.com/gh-pages/theme/images/test.png
La evidencia se obtuvo con la herramienta cyberchef. Utilizando los filtros From Hex y Extract URLs.



¿Cuál es la bandera dentro de la carga útil?

La bandera dentro de la carga útil es cotizacin, La evidencia se obtuvo descargando el archivo (carga útil) de la dirección URL proporcionada en la pregunta anterior y, con las herramientas strings y grep de Linux obtenemos el flag.

Comandos utilizados

strings test.png | grep "c" | grep "n" | grep "flag" 

El comando anterior da como resultado: 

Congratulations! flag{cotizacn}

El documento contiene un shellcode ofuscado. ¿Qué cadena se usó para cortar el shellcode por la mitad? (Dos palabras, espacio en medio)

La cadena utilizada para cortar la shellcode por la mitad es  Equation Native. La evidencia se obtuvo con la herramienta cyberchef.



¿Qué función se usó para descargar el archivo de carga útil desde el shellcode?

La shellcode utiliza la función URLDownloadtoFileA

¿Qué función se usó para ejecutar el archivo de carga útil descargado?

La función que se utilizó para ejecutar el archivo de la carga útil es Winexec.


¿Qué DLL se carga con la función "LoadLibrayA"?

La DLL cargada es urlmon.exe.



¿Cuál es el nombre de Fuente(FONT) que carga el proceso para desencadenar el exploit de desbordamiento de búfer? (3 palabras)

La fuente descargada es Times New Roman. La evidencia se obtuvo con la herramienta rtfdump y xxd.  



¿Cuál es el enlace de GitHub de la herramienta que probablemente se usó para hacer este exploit?

Para responder esta pregunta basta con realizar un busqueda en google y obtener el enlace del repositorio GitHub.



¿Cuál es la dirección de memoria escrita por el exploit para ejecutar el shellcode?

La dirección de memoria que utiliza el exploit es 0x00402114 esta información se obtuvo al revisar el código fuente del exploit en el repositorio de Github.


Comentarios