Artículo · Ingeniería Inversa

D3SAF10 ESET - Obtén la bandeja y tu pase para ekoparty

Rafael PeruCrackersRafael PeruCrackers 4 min de lectura

Historia

 

El 28 de Agosto de 2017, a las 15:06, Omar de BacktrackAcademy me envía un enlace para participar y ganar una entrada a la EKOPARTY (Es un evento que se lleva cada año en Argentina – Buenos Aires que tiene una duración de  tres días, donde se presenta las investigaciones, lo interesante son los retos que se llevan a cabo los famosos CTF y el ambiente amigable de aprender y compartir la información.) el reto se basa en un Crackme  encontrar un Flag, o en castellano una Bandera, comenzamos.

 

 

Figura 1. Desafío de ESET (Famoso Antivirus NOD32)

 

 

Resolviendo el reto

 

Descargamos el reto y lo primer dato curioso es el tipo de formato .docm, este nuevo formato hace referencia a que contiene macros incrustados que se puede utilizar como documento de archivo. Ver Figura 2.

 

 

Figura 2. El tipo de formato.

 

Al abrir el documento, debemos obtener información del reto, recuerde que el formato contiene macro, para ellos debemos ir a la pestaña Vista, luego clic en Macros -> ver macros. , Luego clic en Paso a paso. Ver Figura 3.

 

Figura 3. Los pasos que debemos seguir.

 

Observaremos que nos abre la ventana de Microsoft Visual Basic, además nos muestra el código de la Macro llamado downloader. Ver Figura 4.

 

 

Figura 4. Nos muestra el código a descifrar. 


 

En esta parte analizaremos cada función llamado Cifrado:

 

En la función Cifrado1, se observa el código hexadecimal, la idea es convertir a código ASCII. Ver Figura 5.

 

 

Figura 5. El cuadro amarillo muestra el hexadecimal.

 

La Conversión nos muestra “piz.53_TESE_01FAS3D”. Ver Figura 6.


 

Figura 5. La conversión ASCII, 
 

En la función Cifrado 2, se observa el código binario, debemos realizar la conversión a ASCII. Ver Figura 6.

 

Figura 6. El cuadro amarillo muestra el binario.

La conversión nos muestra: “/80/7102”. Ver Figura 7.

 
Figura 7. La conversión a ASCII

 

En la  función Cifrado 3, se observa el código Base64, debemos realizar la conversión a ASCII. Ver Figura 8.

 

 

Figura 8. El cuadro amarillo muestra Base64.

 

La conversión muestra: “/sdaolpu/tnetnoc-pw”. Ver Figura 9.

 

 

Figura 9. Nos muestra el Código ASCII


 

En la función Cifrado 4, se observa el código decimal, como siempre realizar la conversión ASCII. Ver Figura 10.

 

 

 

Figura 10. El cuadro amarillo muestra el decimal.

 

 

La conversión muestra: “/moc.ytirucesevilew.www”. Ver Figura 11.

 

 

Figura 11. Nos muestra código ASCII

ASCII To HEX

 

En la función Cifrado5, se url Encoding, debemos convertir ASCII. Ver Figura 12.

 

 

Figura 12. El cuadro Amarillo nos muestra URL Encoding.

 

La conversión muestra: “//:sptth”, Ver Figura 13.

 

Figura 13. Nos muestra decodificado.

 

 

Decodificando el URL escondido

 

Finalmente observamos que cada función se encuentra al revés, veamos cada uno:

 

 

Function Cifrado1() : piz.53_TESE_01FAS3D - > D3SAF10_ESET_35.zip
Function Cifrado2() : /80/7102 - > 2017/08/
Function Cifrado3() :  /sdaolpu/tnetnoc-pw - > wp-content/uploads/
Function Cifrado4() : /moc.ytirucesevilew.www - > www.welivesecurity.com/
Function Cifrado5() : //:sptth - > https://

 

Debemos unir todas las funciones resueltas: Cifrado5+ Cifrado4+ Cifrado3+ Cifrado2+ Cifrado1

 

Lo descargamos y trataremos de descomprimir el archivo, no sabemos la clave, por lo tanto debemos buscar la clave para descomprimir. Ver Figura 14.



 

Figura 14. Se descargar y descomprime, debemos obtener la clave correcta. 

 

 

Buscaremos la clave en el documento, para ello debemos Inspeccionar documento. Ver Figura 15

 

 

Figura 15. Los pasos para inspeccionar el documento.

 

Como resultado nos mostrará que tenemos un Encabezado, pie de página y marcas de agua, Ver Figura 16.

 

 

 

Figura 16. Nos muestra Pie de Página.

 

En pie de página aparentemente no se encuentra ningún tipo de información, pero tratemos de seleccionar toda el área. Figura 17.




 

Figura 17. Nos muestra en blanco la supuesta clave.

 

Trataremos de cambiar de color para tener visibilidad del texto e identificar qué tipo de código es: Ver Figura 18.




Figura 18. Observamos el Código Base64.

 

Pasemos a decodificar aW5mZWN0ZWQzNQ== a ASCII: infected35, luego pasemos a descomprimir el reto con la clave: “infected35”. Ver Figura 19.

 


Figura 19. Descomprimiendo con la clave obtenida.

 

 

Finalmente obtuvimos el Crackme, para obtener la bandera, el proceso de obtener el reto fue laborioso, pero posible. Ver Figura 20.
 

Figura 20, Ejecutamos el Reto para obtener la bandera.
 

En el próximo capítulo veremos la forma de obtener la bandera, es el tema más difícil ya que se  encuentra ofuscado, gracias a al team CracksLatinos 2017, PeruCrackers y Entre Amigos CLS, especialmente a los Maestros Davicorm, Sr. Apuromafo y Nox.

 


¿Quieres aprender estas técnicas en profundidad?

Continúa tu ruta con Pentesting .

Rafael PeruCrackers

Escrito por

Rafael PeruCrackers

Estudiante de la ingenieria Inversa usando las herramientas de Ollydbg y el actual IDA PRO, actualmente me encuentro investigando sobre Creacion de Exploit, con animo de ayudar a las personas que les interesa el mundo del reversing, :)