lunes, 11 de febrero de 2013

Estudiando a Flame - Módulos




En este post vamos a tratar hacerca del gusano flame, pero especificamente hablar acerca de su modulo principal, que como es de imaginarse tiene un sinfin de informacion que esta siendo investigada por diversos especialistas en seguridad informatica de todo el mudo (Laboradorios). Primero vamos a ver una pequeña reseña de como surgio Flame y posteriormente vamos a centrarnos en algunos módulos... ^_^....Pues comenzemos.... =D

Realmente no hay poco que decir acerca de Flame ya que por el momento no se tiene demasiada información sobre este nuevo malware, todo apunta que Flame es capaz de robar contraseñas del ordenador, claves de cuentas, copias de todo lo que se teclea, pantallazos, además de interceptar conversaciones de audio a través de Skype o incluso activar el micrófono del equipo para iniciar una grabación..... =[



Su estructura es diferente a los virus normales y a los muy especializados , contiene cerca de 100 veces más cantidad de código que un virus común, algunos especialistas en seguridad han empezado a señalar que Flame (llama en español) constituye el arma cibernetica mas compleja creada hasta el momento.

Flame tiene componentes de un troyano, un backdoor, y un gusano, y está diseñado para atacar máquinas Windows. Por el momento los investigadores no parecen saber cómo entró a la red, pero han identificado una vulnerabilidad de Windows que el malware es capaz de explotar.


Al ser tan complejo Flame, su estudio se hace muy complicado, pero en esta ocasion nos vamos a central en el modulo principal que lleva el nombre de MSSECMGR.OCX.



MSSECMGR.OCX

El módulo principal de la llama es un archivo DLL llamado mssecmgr.ocx. Hemos descubierto dos modificaciones de este módulo. La mayoría de las máquinas infectadas contenía su "gran" versión, 6 MB de tamaño, y la realización y despliegue de módulos adicionales. El tamaño de la versión más pequeña de tan solo 900 Kb y no contiene módulos adicionales. Después de la instalación, el pequeño módulo se conecta a uno de los servidores C & C y trata de descargar e instalar los componentes restantes de allí.

Mssecmgr puede ser llamado diferentes nombres reales en máquinas infectadas, dependiendo del método de infección y el estado actual interno del malware (instalación, la replicación, actualización), por ejemplo, wavesup3.drv, ~ zff042.ocx, msdclr64.ocx, etc


Como dije anteriormente no se conoce mucho de este módulo, lo poco que se sabe acerca de su funcionalidad y su forma de adaptarse a los difetentes entornos, es minimo, a continuacion voy a poner lo que hasta el momento he podido analisar y averiguar de distintas fuentes...=)

La primera activación de este archivo es iniciada por uno de los rasgos externos - ya sea herramientas de Windows WMI mediante un archivo MOF, si el exploit MS10-061 se utiliza, o utilizando un archivo BAT como el siguiente :

s1 = new ActiveXObject ("Wscript.Shell");s1.Run ("% SystemRoot% \ \ system32 \ \ rundll32.exe msdclr64.ocx, DDEnumCallback");(Código fuente del archivo MOF, svchostevt.mof)
Cuando se activa, mssecmgr se registra como un paquete de autenticación personalizada en el Registro de Windows :

HKLM_SYSTEM \ CurrentControlSet \ Control \ LsaPaquetes de autenticación = mssecmgr.ocx [añadido a las entradas existentes]


En el siguiente arranque del sistema, el módulo es cargado automáticamente por el sistema operativo.



 

Después de actualizar el registro de Windows, mssecmgr extrae los módulos adicionales que están presentes en su sección de recursos cifrado y comprimido (recurso "146") y los instala. El recurso es un diccionario que contiene las opciones de configuración para los módulos mssecmgr y otros, a los propios módulos (archivos DLL) y los parámetros que deben pasarse a estos módulos para carga correctamente, es decir, las claves de descifrado.Cuando la instalación se haya completado, mssecmgr carga módulos disponibles y comienza varios hilos de ejecución que poner en marcha un canal para los servidores C & C y Lua anfitrión intérprete, y otras características - en función de la configuración. La funcionalidad del módulo se separa en diferentes "unidades" que tienen espacios de nombres diferentes en la configuración de recursos y tienen nombres diferentes en los mensajes de registro, que se usan ampliamente en todo el código.


Las unidades disponibles del recurso 146 con las siguientes : 





  • Beetlejuice

Bluetooth: enumera los dispositivos alrededor de la máquina infectada.
Puede convertirse en un "faro": anuncia la computadora como un dispositivo de detección y codificar la situación del malware en la información del dispositivo usando base64.

  • Microbe : 

Graba audio desde fuentes de hardware existentes. Muestra todos los dispositivos multimedia, configuración tiendas dispositivo completo, trata de seleccionar el dispositivo de grabación adecuado.

  • Infectmedia : 

Selecciona uno de los métodos para infectar a los medios de comunicación, es decir, dispositivos USB. Los métodos disponibles: Autorun_infector, euforia.

  • Autorun_infector :

Crea "autorun.inf" que contiene el malware y se inicia con una costumbre "abrir". El mismo método fue utilizado por Stuxnet antes de emplear el exploit LNK.

  • Euphoria :

Crear un "punto de unión" de la guía con "desktop.ini" y "Target.lnk" de Link1 y LINK2 entradas de recursos 146 (no estaban presentes en el archivo de recursos). El directorio actúa como un atajo para lanzar Flame.

  • Limbo : 

Crea cuentas de puerta trasera con login "Asistente de ayuda" en las máquinas dentro del dominio de la red si los derechos adecuados.

  • Frog : 

Infecta máquinas que utilizan predefinidos cuentas de usuario. La cuenta de usuario sólo se especifica en la 
configuración de recursos es "Asistente de ayuda" que es creado por el "Limbo" ataque.

  • Munch : 

Servidor HTTP que responde a "/ view.php" y "/" wpad.dat peticiones.

  • Snack : 

Escuchas en interfaces de red, recibe y guarda los paquetes NBNS en un archivo de registro. Tiene una opción para iniciarse sólo cuando "Munch" se ha iniciado. Los datos recogidos se utiliza entonces para replicar por red.

  • Boot_dll_loader : 

La sección de configuración que contiene la lista de todos los módulos adicionales que deben ser cargados y se inicia.

  • Weasel : 

Crea una lista de directorios de la computadora infectada.

  • Boost : 

Crea una lista de"interesantes" los archivos usando varias máscaras de nombre de archivo.

  • Telemetry : 

Se encarga del registro de instalaciones.

  • Gator : 

Cuando una conexión a Internet disponible, se conecta al servidor C & C, los módulos nuevos enlaces, y carga los datos recogidos.

  • Security :

Identifica los programas que pueden ser peligrosos para la llama, es decir, los programas anti-virus y firewalls.

  • Bunny - Dbquery - Driller - Headache - Gadget

Por el momento se desconoce el funcionamiento de estos modulos, pero tengo una probable sospecha, que posteriormente se las voy a comentar.



Los módulos adicionales se instalan en la carpeta%windir%\system32\directorio:

  • mssecmgr.ocx
  • advnetcfg.ocx
  • msglu32.ocx
  • nteps32.ocx
  • soapr32.ocx
  • ccalc32.sys
  • boot32drv.sys


Módulos adicionales descargados desde los servidores C & C se instalan en el mismo directorio.

Los módulos del malware Flame producir una gran cantidad de archivos de datos que contienen los registros extensos de ejecución, además de la información recogida - capturas de pantalla, listas de procesos, listas de hardware, etc


Los archivos se guardan en la carpeta% windir% \ temp con los siguientes nombres:

  1. ~DEB93D.tmp
  2. ~8C5FF6C.tmp
  3. ~DF05AC8.tmp
  4. ~DFD85D3.tmp
  5. ~DFL. tmp
  6. ~dra*.tmp
  7. ~fghz.tmp
  8. ~HLV*.tmp
  9. ~KWI988.tmp
  10. ~KWI989.tmp
  11. ~rei524.tmp
  12. ~rei525.tmp
  13. ~rf288.tmp
  14. ~rft374.tmp
  15. ~TFL848.tmp
  16. ~TFL849.tmp
  17. ~mso2a0.tmp
  18. ~mso2a1.tmp
  19. ~mso2a2.tmp
  20. ~sstab*.dat

También hay archivos opcionales que se pueden encontrar en el directorio% windir% \ system32:

  1. Advpck.dat
  2. ntaps.dat
  3. Rpcnc.dat

 


Además, en% windir% \ encontrara :
Ef_trace.logAqui Flame almacena sus datos persistentes en archivos con formatos diferentes. Todos los datos se cifran mediante varios algoritmos y claves. Algunos de los archivos son bases de datos creadas con una biblioteca incorporada SQLite3. Estas bases de datos contienen los datos producidos por ambas robo de datos y las rutinas de replicación. Vamos a proporcionar más información acerca de estos archivos en publicaciones posteriores.




Los nombres de los directorios utilizados por los componentes adicionales de la llama puede variar ligeramente en función del tipo de instalación y las opciones de configuración del recurso 146:


C: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSSecurityMgrC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSAudioC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSAuthCtrlC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSAPackagesC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSSndMix



Estos directorios pueden contener los siguientes archivos:

  1. dstrlog.dat
  2. lmcache.dat
  3. mscrypt.dat (o wpgfilter.dat)
  4. ntcache.dat
  5. rccache.dat (o audfilter.dat)
  6. ssitable (o audache)
  7. secindex.dat
  8. wavesup3.drv (una copia del módulo principal, mssecmgr.ocx, en el directorio MSAudio)

Carpeta de archivos Temporales 




Llama también pueden producir o descargar archivos con los siguientes nombres:

  • svchost1ex.mof
  • Svchostevt.mof
  • frog.bat
  • netcfgi.ocx
  • authpack.ocx
  • ~a29.tmp
  • rdcvlt32.exe
  • to961.tmp
  • authcfg.dat
  • Wpab32.bat
  • ctrllist.dat
  • winrt32.ocx
  • winrt32.dll
  • scsec32.exe
  • grb9m2.bat
  • winconf32.ocx
  • watchxb.sys
  • sdclt32.exe
  • scaud32.exe
  • pcldrvx.ocx
  • mssvc32.ocx
  • mssui.drv
  • modevga.com
  • indsvc32.ocx
  • comspol32.ocx
  • comspol32.dll
  • browse32.ocx

Recomendaciones al usuario acerca de Gusano Flame


Como consecuencia de ello, podemos proporcionar un método para una rápida "manual" de sus sistemas de control de la presencia de una infección de la Flame :



Pasos para comprobar su posible infección de Flame

1. Realice una búsqueda para el archivo ~ DEB93D.tmp. Su presencia en un sistema significa que es o ha sido infectado por Flame.

2. Compruebe la HKLM_SYSTEM clave de registro \ CurrentControlSet \ Control \ Lsa \ Packages autenticación.

Si encuentra mssecmgr.ocx o authpack.ocx allí - usted está infectado con Llama.



3. Verificar la presencia de los siguientes catálogos. Si está presente - que está infectado.C: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSSecurityMgrC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSAudioC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSAuthCtrlC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSAPackagesC: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ MSSndMix



4. Llevar a cabo una búsqueda para el resto de los nombres de archivo dadas anteriormente. Todos ellos son únicos y su ser descubierto significaría que hay una fuerte posibilidad de una infección por parte de Flame.



Bueno creo que fue un análisis algo breve, pero espero que hayan entendido el funcionamiento de este "Gusanito" ..... Si gustan pueden buscar mas información acerca de este virus en internet, pero en este post he tratado de abarcar varios ramas de esta herramienta Cibernética.


Bueno creo que ya no tengo nada mas que adicionar, excepto que de ustedes depende investigar mas a fondo las funcionalidades y la estructura de esta "Arma"......Por último espero que haya sido de su gusto este post y sera para la próxima......Nos vemos.....=D







No hay comentarios:

Publicar un comentario