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.
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 :
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.
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.
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.
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.
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.
Crea cuentas de puerta trasera con login "Asistente de ayuda" en las máquinas dentro del dominio de la red si los derechos adecuados.
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.
Servidor HTTP que responde a "/ view.php" y "/" wpad.dat peticiones.
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.
La sección de configuración que contiene la lista de todos los módulos adicionales que deben ser cargados y se inicia.
Crea una lista de directorios de la computadora infectada.
Crea una lista de"interesantes" los archivos usando varias máscaras de nombre de archivo.
Se encarga del registro de instalaciones.
Cuando una conexión a Internet disponible, se conecta al servidor C & C, los módulos nuevos enlaces, y carga los datos recogidos.
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:
- ~DEB93D.tmp
- ~8C5FF6C.tmp
- ~DF05AC8.tmp
- ~DFD85D3.tmp
- ~DFL. tmp
- ~dra*.tmp
- ~fghz.tmp
- ~HLV*.tmp
- ~KWI988.tmp
- ~KWI989.tmp
- ~rei524.tmp
- ~rei525.tmp
- ~rf288.tmp
- ~rft374.tmp
- ~TFL848.tmp
- ~TFL849.tmp
- ~mso2a0.tmp
- ~mso2a1.tmp
- ~mso2a2.tmp
- ~sstab*.dat
También hay archivos opcionales que se pueden encontrar en el directorio% windir% \ system32:
- Advpck.dat
- ntaps.dat
- 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:
- dstrlog.dat
- lmcache.dat
- mscrypt.dat (o wpgfilter.dat)
- ntcache.dat
- rccache.dat (o audfilter.dat)
- ssitable (o audache)
- secindex.dat
- 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.