Archive for the ‘Análisis de Malware’ Category

Solucionario propuesto por Rubén Molina (a.k.a @ftbfsal reto Análisis de Malware Básico & Medio/Alto II. Rubén además de cumplir con los objetivos del reto, le dio varios valores agregados que permiten a los que recién inician tener una idea más clara de todo lo que involucra el análisis de malware y de toda la información que se puede obtener de una muestra por medio de la ingeniería inversa.

Como siempre animar y recordar a los recién iniciados y expertos a participar de estos desafíos, pues no hay mejor manera de aprender que enseñando…

Felicitaciones a Rubén Molina quien se convierte en el ganador de la tarjeta de regalo de Amazon por un valor de $20 usd. Gracias además por compartir ese magnífico solucionario.

Antes de iniciar con el solucionario voy a mostrar algunas capturas de pantalla de lo que fue el proceso de desarrollo del reto. Esto con el objetivo de enseñar de primera mano en qué consistía el desafío y de como esta técnica es actualmente utilizada por diferentes delincuentes informáticos… Pero principalmente de como @ftbfs de manera experta y sin conocimiento de la muestra y configuración que se le puede dar a un troyano fue capaz de obtener gran parte del funcionamiento del mismo :) Además que yo sabía que Rubén nunca había tocado un troyano para windows (por lo menos de los actuales). Esto lo hacía mucho más interesante, pues vuelvo y repito sin conocimiento previo y solo con reversing pudo llegar a esas acertadas conclusiones.

Windows Server sobre la plataforma Amazon EC2. Desde este equipo implementé el reto… Como pudieron observar durante el análisis el sistema estuvo Online para facilitar el proceso e interacción durante el estudio.

Configuración del servicio no-ip… Con el dominio similar al localhost para tratar de engañar a los más novatos

Para este segundo reto utilicé el famoso troyano Cybergate, pues ofrece un amplio repertorio de opciones de configuración.

Selección del perfil

Opciones de conexión inversa

Opciones de instalación (Directorio windows/system32, nombre controlp.exe, inyectar una vez ejecutado al proceso del navegador por defecto, hacerlo auto-ejecutable al inicio de windows con la llave de registro Policies\Explorer\Run, ocultar archivo, eliminar archivo una vez ejecutado, etc)

Utilización de las opciones Keylogger, pero sin envío adicional a un FTP. Esto implica la generación de un archivo para el almacenamiento de la información recolectada.

Esta es una de las opciones más interesantes de este reconocido troyano. Pues permite habilitar algunos métodos Anti-Debugging a la muestra.

Una vez finalizada la configuración solo basta generar la muestra.

Desde aquí solo utilicé diferentes métodos de packing para cada muestra. Medio=upx & Alto=CrypterOnline

Solucionario de Rubén Molina:

La presentación del reto esta aquí y básicamente consiste en el análisis de dos muestras de malware, con el objetivo de responder las siguientes preguntas:

  • ¿Es detectada la muestra por múltiples anti-virus?
  • ¿Es posible identificar algún tipo de empaquetado u ofuscamiento en las muestras? ¿Cuál?, ¿Es posible desempaquetar las muestras?
  • ¿Es posible identificar algunos strings que nos permita determinar a modo general la finalidad del malware?
  • Dentro de las funciones y recursos importados por la muestra, ¿es posible determinar a modo general la finalidad del malware?
  • ¿Qué comportamiento de red/archivos nos indica sobre la finalidad del malware?
  • Finalmente, luego de todos los análisis… ¿Cuál es el objetivo de la muestra?
  • Otros hallazgos (procesos, ocultamiento, anti’s, persistencia, etc, etc, etc)…

No tengo experiencia previa en el análisis de malware, pero tengo algo de experiencia en ingeniería inversa, por lo que decidí resolver este reto usando esa estrategia, y lo primero que hice fue un análisis en listado muerto de la primera muestra. Dentro de las cosas que encontré, descubrí que la muestra intentaba detectar la presencia de algunos sandboxes y que fallaba a reacionar ante ellos, busque esos nombres en Internet y el primero que encontré fue Anubis, con el que analicé el comportamiento en vivo de las dos muestras. Finalmente, aplique el análisis de listado muerto a la segunda muestra.

Para el reporte, sin embargo, decidí cambiar el orden de los análisis, pues el análisis en vivo da una visión mas general, y ademas siempre me ha gustado dejar las cosas mas entretenidas para el final :)

Análisis en codigo vivo

Para el análisis comportamental de las muestras en código vivo se uso la herramienta en línea Anubis –Analyzing Unknown Binaries– (http://anubis.iseclab.org/) que suministra información sobre accesos a memoria, archivos, y registro de Windows, junto con capturas del tráfico de red asociado a la muestra. El sistema presenta reportes detallados con análisis automáticos de los hallazgos.

También se utilizo la herramienta en línea Virus Total (http://virustotal.com/) para registrar las tasas de detección para cada muestra.

Se presenta a continuación el análisis de los resultados obtenidos en estas herramientas. En este análisis se ha intentado explicar el orden de las actividades detectadas. Anubis reporta muchas otras actividades que no son de interés para este análisis.

smss.exe

sha-1: 3ed34887b65f48daea269ca49d0a31edc99bf0f2

http://anubis.iseclab.org/?action=result&task_id=16018433585d866145d1547aaafad18b4&call=first

Se identifica un empaquetado UPX (http://upx.sf.net/)

36 de 42 detecciones (86%) en http://virustotal.com/

  • smss.exe crea algunos mutex (para asegurarse de una única instancia?)
    • _x_X_BLOCKMOUSE_X_x_
    • _x_X_PASSWORDLIST_X_x_
    • _x_X_UPDATE_X_x_
  • smss.exe crea una copia de si mismo (controlp.exe) en el directorio del sistema
    • C:\WINDOWS\System32\controlp.exe
  • smss.exe modifica el registro para asegurar la ejecución de controlp.exe ante el reinicio
    • [HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{17564C2H-5U15-AD2W-I8W2-04Y0LSXEIQ00}]
      “StubPath”=”C:\WINDOWS\System32\controlp.exe Restart”
    • [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
      “Policies”=”C:\WINDOWS\System32\controlp.exe”
    • [HKEY_USERS\S-1-5-21-842925246-1425521274-308236825-500\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
      “Policies”=”C:\WINDOWS\System32\controlp.exe”
  • smss.exe inicia iexplorer.exe e inyecta código en la memoria del mismo
    • C:\Program Files\Internet Explorer\iexplore.exe
  • iexplore.exe intercepta la entrada por teclado y almacena en disco (keylogger).
    • C:\Documents and Settings\Administrator\Application Data\cglogs.dat
  • iexplore.exe se comunica con 127-001.servehttp.com (23.22.69.31:443) e intercambia información (para reportar la infección, o recibir nuevas ordenes, o reportar información robada)
    • En total recibe 149 bytes y envía 1006 bytes
    • Al final de la comunicación recibe ” ping|..” y envia “pong|C:\Program Files\Common Files\exec.exe###114891|.”, estos strings parecen estar asociados al proyecto DarkComet RAT (Remote Administration Tool), http://darkcomet-rat.com/
  • iexplore.exe (actuando como dropper) crea “teste.vbs” (con nuevas ordenes?)
    • “C:\Documents and Settings\Administrator\Local Settings\Temp\teste.vbs”
    • VB Scripting es una de las funcionalidades de DarkComet RAT.
  • iexplore.exe ejecuta teste.vbs usando cscript.exe
    • “C:\WINDOWS\system32\cscript.exe” “C:\Documents and Settings\Administrator\Local Settings\Temp\teste.vbs”
  • iexplore.exe inicia controlp.exe

winlogon.exe

sha-1: 062e05b5ad7e4803d5abc733e879e2eccaedeb8e

http://anubis.iseclab.org/?action=result&task_id=101a922a06ffc33741546bf97c5a34407&call=first

No se identifica un empaquetado

19 de 42 detecciones (45%) en http://virustotal.com/

  • winlogon.exe crea algunos mutex (para asegurarse de una única instancia?)
    • _x_X_BLOCKMOUSE_X_x_
    • _x_X_PASSWORDLIST_X_x_
    • _x_X_UPDATE_X_x_
  • winlogon.exe crea una copia de si mismo (controlp.exe) en el directorio del sistema
    • C:\WINDOWS\System32\controlp.exe
  • winlogon.exe modifica el registro para asegurar la ejecución de controlp.exe ante el reinicio
    • [HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{17564C2H-5U15-AD2W-I8W2-04Y0LSXEIQ00}]
      “StubPath”=”C:\WINDOWS\System32\controlp.exe Restart”
    • [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
      “Policies”=”C:\WINDOWS\System32\controlp.exe”
    • [HKEY_USERS\S-1-5-21-842925246-1425521274-308236825-500\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
      “Policies”=”C:\WINDOWS\System32\controlp.exe”
  • winlogon.exe inicia iexplorer.exe e inyecta código en la memoria del mismo
    • C:\Program Files\Internet Explorer\iexplore.exe
  • iexplore.exe intercepta la entrada por teclado y almacena en disco (keylogger).
    • C:\Documents and Settings\Administrator\Application Data\cglogs.dat
  • iexplore.exe se conecta con 127-001.servehttp.com (23.22.69.31:443) pero NO intercambia información
    • 0 bytes enviados y 0 bytes recibidos
    • No se descarga entonces ningún *.vbs
  • iexplore.exe inicia controlp.exe

Continuar leyendo desde el Blog Oficial de Rubén Molina >>

 

Sorry, this entry is only available in Español.

Sorry, this entry is only available in Español.

Análisis de Malware Estático – Básico I

Posted by 4v4t4r On August - 3 - 2012

Al habla de Ingeniería Inversa de Malware (Reverse-Engineering Malware – REM) es obligatorio hablar del experto investigador  Lenny Zeltser y aun más cuando recién está realizando los cursos por parte de SANS sobre esta materia.

Entre uno de sus proyectos de investigación se encuentra el desarrollo de una distribución de GNU/Linux  basada en Ubuntu y enfocada al Análisis e Ingeniería Inversa de Malware.

REMnux se presenta entonces como un completo entorno de análisis de malware que puede ser incluido en nuestros laboratorios de investigación. Entre sus funcionalidades se encuentra la posibilidad de implementación de servicios en determinados puertos para simular el sistema que recibe algún tipo de instrucción o petición desde un equipo del laboratorio infectado.

Permite además realizar análisis de malware basado en aplicaciones web, como javascripts maliciosos, apps de java y películas en flash (animaciones maliciosas). También dispone de diferentes herramientas para el análisis en busca de documentos maliciosos como pueden ser los de Microsoft Office, OpenOffice y PDF’s. Algo que llama aun más la atención en la funcionalidad e realizar ejecuciones del malware en el propio REMnux y realizar volcados de memoria para su posterior análisis en el mismo sistema.

REMnux se distribuye como un archivo imagen de VMWare, por lo tanto solo basta descomprimir el archivo descargado y luego abrir con cualquiera de los productos de VMWare (WorkStation, Server, Player).

Entre las herramientas incluidas se encuentran las siguientes:
Análisis de Malware en Archivos Flash: swftools, flasm, flare.
Análisis de Boots IRC: Inspire, Irssi.
Monitoreo de red: Wireshark, Honeyd, INetSim, fakedns, fakesmtp, NetCat.
Análisis de JavaScripts: Firebug, NoScript, JavaScript Deobfuscator, Rhino debugger, SpiderMonkey, Windows Sript Decoder, Jsunpack-n.
Interacción con malware basado en web: TinyHTTPd, Paros Proxy.
Análisis de Shellcode: gdb, objdump, Radare, shellcode2.exe
Detección de protecciones y cifrados: upx, packerid, bytehist, xorsearch, TRiD.
Análisis de PDF maliciosos: Didier’s PDF tools, Origami framework, Jsunpack-n, pdftk.
Análisis de memoria: Volatility Framework

Dejo algunos screen shots del entorno REMnux.

Boot y pantalla de login:

User: remnux

Password: malware

X:

Tools:

Página oficial del proyecto REMnux

Descargar REMnux - MD5: dc28330411acafc6b7f595a11e8b7ea4

Reto desde HackPlayers: Una ayuda para Juanito

Posted by 4v4t4r On May - 30 - 2010

Nuevamente desde HackPlayers comparten a toda la comunidad en internet un reto relacionado con la seguridad de la información. Esta vez, sobre análisis de malware!!!

Read the rest of this entry »