Informes sobre APT

Flame: Bunny, Frog, Munch y BeetleJuice…

Como ya hemos mencionado en la anterior entrada de este blog sobre Flame, el volumen de su código y su funcionalidad es tan grande que llevaría meses analizarlo por completo. Pretendemos publicar de forma continua los detalles más importantes y más interesantes de su funcionalidad a medida que los vayamos descubriendo.

Ahora estamos recibiendo muchas consultas sobre cómo verificar que los sistemas estén libres de la infección Flame. Por supuesto que para nosotros la respuesta más sencilla es aconsejar el uso de Kaspersky Antivirus o Kaspersky Internet Security. Hemos logrado detectar y eliminar todas las posibles modificaciones del módulo principal y de los componentes adicionales de Flame.

Sin embargo, para quienes quieran realizar una verificación detallada de forma personal, al final de este artículo les daremos las recomendaciones necesarias.

MSSECMGR.OCX

El principal módulo de Flame es un archivo DLL llamado mssecmgr.ocx. Hemos descubierto dos modificaciones en este módulo. La mayoría de los ordenadores infectados contienen su versión “grande”, de 6 Mb, e incluye e instala módulos adicionales. La versión más pequeña tiene un tamaño de apenas 900 Kb y no contiene módulos adicionales. Después de la instalación, el módulo pequeño se conecta con uno de los servidores de comando y control y procede a descargar e instalar desde ahí los demás componentes.

Mssecmgr puede aparecer con distintos nombres en los equipos infectados, según el método de infección y el estado interno vigente del programa malicioso (instalación, replicación, actualización), por ejemplo: wavsup3.drv, ~zff042.ocx, msdclr64.ocx, etc.

En próximas entradas de este blog publicaremos un análisis completo del módulo mssecmgr.
La primera activación de este archivo se inicia con una de las características externas, ya sea mediante las herramientas Windows WMI con un archivo MOF si es que se está usando el exploit MS10-061, o un archivo BAT:

s1 = new ActiveXObject(“Wscript.Shell”);
s1.Run(“%SYSTEMROOT%system32rundll32.exe msdclr64.ocx,DDEnumCallback”);

(codigo fuente del archivo MOF, svchostevt.mof)

Cuando se activa, mssecmgr se registra como un paquete de autenticacion en el registro de Windows:
HKLM_SYSTEMCurrentControlSetControlLsa
Authentication Packages
= mssecmgr.ocx [anadido a las entradas existentes]


A continuacion tenemos un breve resumen de las unidades existentes. Los nombres se extrajeron desde el binario y desde el recurso 146.

Beetlejuice Bluetooth: enumera los dispositivos que hay cerca del ordenador infectado.
Puede convertirse en una baliza. Muestra el ordenador como un dispositivo detectable y codifica el estado del programa malicioso en la informacion del dispositivo mediante base64.
Microbe Graba audio desde recursos existentes de hardware. Enumera todos los dispositivos multimedia, guarda la configuracion completa de los dispositivos, intenta seleccionar el dispositivo de grabacion mas apropiado.
Infectmedia Selecciona uno de los metodos para infectar los dispositivos, como los discos USB. Metodos disponibles: Autorun_infector, Euphoria.
Autorun_infector Crea “autorun.inf” que contiene el programa malicioso y comienza con un comando especial “open”. Stuxnet usaba el mismo metodo antes del exploit LNK.
Euphoria Crea un directorio “punto de empalme” con “desktop.ini” y “target.lnk” desde las entradas LINK 1 y LINK 2 del recurso 146 (no se encontraban en el archivo recurso). El directorio actua como un atajo para ejecutar Flame.
Limbo Crea cuentas puerta trasera cuyo login es “HelpAssistant” en los ordenadores en la red del dominio si se cuenta con las autorizaciones apropiada.
Frog Infecta ordenadores mediante cuentas predeterminadas de usuario. La unica cuenta de usuario especificada en el recurso de configuracion es “HelpAssistant” que se crea mediante el ataque “Limbo”.
Munch Servidor HTTP que responde a peticiones “/view.php” y “/wpad.dat”.
Snack Escucha las interfaces de la red, recibe y guarda paquetes NBNS en un archivo de registro. Cuenta con una opcion para comenzar solo cuando comienza “Munch”. Entonces, los datos recopilados se usan para replicaciones en la red.
Boot_dll_loader Seccion de la configuracion que contiene la lista de todos los modulos adicionales que deben cargarse y ejecutarse.
Weasel Crea un listado de directorio del ordenador infectado.
Boost Crea una lista de archivos “interesantes” usando varias mascaras para los nombres de archivo.
Telemetry Facilitador de registros log
Gator Cuando una conexion a Internet esta disponible, se conecta con los servidores de comando y control, descarga nuevos modulos, y carga los datos recogidos (data./td>).
Security Identifica los programas que pueden ser peligrosos para Flame, como las soluciones antivirus y los cortafuegos.
Bunny
Dbquery
Driller
Headache
Gadget
Por el momento se desconoce el proposito de estos modulos..

Los modulos adicionales se instalan en el directorio %windir%system32:

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

Modulos adicionales que se descargan desde los servidores de comando y control se instalan en el mismo directorio.
Los modulos de Flame producen varios archivos de datos que contienen extensos registros de ejecucion, ademas de la informacion recolectada: capturas de pantalla, listas de procesos, listas de hardware, etc.
Los archivos se guardan en el directorio %windir%temp bajo estos 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

Tambien existen archivos opcionales en el directorio %windir%system32:


Advpck.dat
ntaps.dat
Rpcnc.dat

Tambien en %windir%:
Ef_trace.log

Flame guarda sus objetos persistentes en archivos con diferentes formatos. Todos los objetos estan codificados con diferentes algoritmos y llaves. Algunos archivos son bases de datos que se crearon mediante una biblioteca SQLite3 incorporada. Los contenidos de estas bases de datos provienen de informacion robada y de rutinas de replicacion. En posteriores publicaciones en este post ofreceremos mas informacion sobre estos archivos.
Los nombres de directorio que usan los componentes adicionales de Flame pueden variar ligeramente segun el tipo de instalacion y las opciones de configuracion desde el recurso 146:

C:Program FilesCommon FilesMicrosoft SharedMSSecurityMgr
C:Program FilesCommon FilesMicrosoft SharedMSAudio
C:Program FilesCommon FilesMicrosoft SharedMSAuthCtrl
C:Program FilesCommon FilesMicrosoft SharedMSAPackages
C:Program FilesCommon FilesMicrosoft SharedMSSndMix

Estos directorios pueden contener los siguientes archivos:


dstrlog.dat
lmcache.dat
mscrypt.dat (or wpgfilter.dat)
ntcache.dat
rccache.dat (or audfilter.dat)
ssitable (or audache)
secindex.dat
wavesup3.drv (una copia del modulo principal,mssecmgr.ocx, en el directorio MSAudio)

Flame tambien puede 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

En consecuencia, podemos ofrecer un metodo para una rapida verificacion “manual” de vuestros sistemas en busca de una infeccion Flame:

1. Buscad el archivo ~DEB93D.tmp. Su presencia en el sistema significa que ha sido o esta infectado con Flame.
2. Revisad los paquetes de autentificacion de Registry Key HKLM_SYSTEMCurrentControlSetControlLsa.
Si encontrais mssecmgr.ocx o authpack.ocx, significa que el sistema esta infectado con Flame.
3. Verificad la presencia de los siguientes catalogos. Si estan presentes, el sistema esta infectado:
C:Program FilesCommon FilesMicrosoft SharedMSSecurityMgr
C:Program FilesCommon FilesMicrosoft SharedMSAudio
C:Program FilesCommon FilesMicrosoft SharedMSAuthCtrl
C:Program FilesCommon FilesMicrosoft SharedMSSndMix
4. Buscad el resto de los nombres de archivos mencionados arriba. Todos ellos son bastante unicos y descubrirlos significaria que es muy posible que el sistema este infectado con Flame.

P.D. Hemos revisado la informacion sugerida por los comentarios en nuestro blog respecto a una posible relacion con el software FLAME de Brasil (Flexible Lightweight Active Measurement Environment).

Curiosamente, el nombre que hemos elegido coincide plenamente con este software, que tambien usa LUA para implementar su logica de negocios. El software FLAME se usa para medir las caracteristicas de redes implementando agentes de medicion y recopilando datos en una base de datos central. A pesar de algunas similitudes, pensamos que este software no tiene nada que ver ya que persigue distintos objetivos. Ademas del motor LUA, el nucleo de la comunicacion en FLAME es el protocolo XMPP, que no usa el programa malicioso Flame.

Los autores pueden haberse inspirado en el proyecto FLAME y reimplementado una arquitectura similar, sólo para un objetivo distinto, o todo esto no es más que una coincidencia. No tenemos razón alguna para pensar que esto tenga que ver con el programa malicioso Flame.

Flame: Bunny, Frog, Munch y BeetleJuice…

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Informes

BlindEagle vuela alto en LATAM

Kaspersky proporciona información sobre la actividad y los TTPs del APT BlindEagle. Grupo que apunta a organizaciones e individuos en Colombia, Ecuador, Chile, Panamá y otros países de América Latina.

MosaicRegressor: acechando en las sombras de UEFI

Encontramos una imagen de firmware de la UEFI infectada con un implante malicioso, es el objeto de esta investigación. Hasta donde sabemos, este es el segundo caso conocido en que se ha detectado un firmware malicioso de la UEFI usado por un actor de amenazas.

Suscríbete a nuestros correos electrónicos semanales

Las investigaciones más recientes en tu bandeja de entrada