Security Response Regin: la mejor herramienta de espionaje facilita una supervisión sigilosa Symantec Security Response Versión 1.0: 24 de noviembre de 2014 Regin es un software extremadamente complejo que se puede personalizar con una amplia gama de capacidades diferentes que se pueden implementar en función del objetivo. Síganos en Twitter Visite nuestro blog CONTENIDO DESCRIPCIÓN GENERAL........................................................................ 3 Introducción.............................................................................................5 Cronograma.............................................................................................5 Perfil del objetivo..................................................................................... 6 Vía de infección................................................................................6 Arquitectura.............................................................................................8 Etapa 0 (Instalador de software malicioso)................................... 9 Etapa 1.............................................................................................. 9 Etapa 2.............................................................................................. 9 Etapa 3............................................................................................10 Etapa 4................................................................................ 11 Etapa 5............................................................................................11 Contenedores de sistemas de archivos virtuales cifrados 11 Operaciones de comando y control..............................................12 Registro...........................................................................................12 Cargas útiles..........................................................................................14 Versión de 64 bits..................................................................................15 Nombres de archivos.....................................................................15 Diferencias entre las etapas..........................................................16 Conclusión..............................................................................................16 Protección..............................................................................................16 Apéndice.................................................................................................18 Archivos de datos...........................................................................18 Indicadores de peligro...........................................................................20 Archivo MD5s.................................................................................20 Rutas/nombres de archivos..........................................................20 Atributos extendidos.....................................................................21 Registro...........................................................................................21 DESCRIPCIÓN GENERAL En el mundo de las amenazas de software malicioso, solo unos pocos raros ejemplos pueden considerarse innovadores y prácticamente incomparables. Regin lo es. Regin es un software extremadamente complejo que se puede personalizar con una amplia gama de capacidades diferentes que se pueden implementar en función del objetivo. Se desarrolla en un entorno diseñado para soportar operaciones de recopilación de información a largo plazo manteniéndose presente. Hace todo lo posible por ocultarse y ocultar sus actividades en equipos afectados. Su sigilosidad combina muchas de las técnicas más avanzadas que jamás se hayan usado. El objetivo principal de Regin es la recopilación de información y se ha implicado en las operaciones de recopilación de datos frente a organizaciones gubernamentales, operadores de infraestructura, empresas, profesionales e individuos. El nivel de sofisticación y complejidad de Regin sugiere que el desarrollo de esta amenaza puede haber requerido equipos de desarrolladores con muchos recursos y muchos meses o años de desarrollo y mantenimiento. Regin es una amenaza modular de varias etapas, lo que significa que tiene varios componentes que dependen entre sí para ejecutar operaciones de ataque. Este enfoque modular brinda flexibilidad a los operadores de amenazas, ya que puede insertar funciones personalizadas en objetivos particulares cuando sea necesario. Algunas cargas útiles personalizadas son muy avanzadas y muestran un alto nivel de conocimientos en sectores de especialistas. El diseño modular también dificulta el análisis de amenazas, ya que todos los componentes deben estar disponibles para poder comprenderlas completamente. Este enfoque modular se observó en otras familias de software malicioso sofisticado como Flamer y Weevil (The Mask), mientras que la arquitectura de carga de varias etapas es similar a la observada en la familia de amenazas Duqu/Stuxnet. Regin es diferente a lo que comúnmente se denomina amenazas persistentes avanzadas (APT) “tradicionales” debido a su técnica y objetivo final. Las APT típicamente buscan información específica, generalmente propiedad intelectual. El objetivo de Regin es diferente. Se usa para recopilar datos y supervisar de forma continua personas y organizaciones identificadas. Este informe proporciona un análisis técnico de Regin basado en la cantidad de componentes y muestras identificados. Este análisis ilustra la arquitectura de Regin y muchas cargas útiles en el momento de su eliminación. INTRODUCCIÓN Regin cuenta con una amplia gama de capacidades estándar, particularmente relacionadas con supervisión de objetivos y robo de datos. Introducción Regin es una herramienta versátil de recopilación de datos que se remonta a varios años atrás. Symantec comenzó a investigar esta amenaza por primera vez en el tercer trimestre de 2013. Se encontraron varias versiones de Regin en la lista oficial de virus más populares destinados a empresas, instituciones, profesionales e individuos. Regin cuenta con una amplia gama de capacidades estándar, particularmente relacionadas con datos sobre robo y objetivos de supervisión. También tiene la capacidad de cargar funciones personalizadas para objetivos particulares. Algunas cargas útiles personalizadas de Regin apuntan a un alto nivel de conocimientos de especialistas en sectores particulares, como software de infraestructura de telecomunicaciones, por parte de los desarrolladores. Regin permite instalar una gran cantidad de cargas útiles adicionales, algunas de ellas altamente personalizadas para el equipo objetivo. Las capacidades estándar de la amenaza incluyen muchas funciones de troyanos de acceso remoto (RAT), como capturas de pantalla y toma del control de las funciones de un solo clic del mouse. Regin también se configura para robar contraseñas, supervisar tráfico de red y recopilar información sobre la utilización de memoria y procesos. También puede realizar análisis en busca de archivos eliminados en un equipo infectado y recuperarlos. En nuestras investigaciones, también se encontraron módulos de carga útil más avanzados diseñados con objetivos más específicos en mente. Por ejemplo, se diseñó un módulo para supervisar el tráfico de red en servidores web de Microsoft Internet Information Services (IIS). Otro módulo fue diseñado para recopilar tráfico de administración de controladores de estaciones base de telefonía móvil y otro módulo se creó específicamente para analizar correo de bases de datos de Exchange. Regin hace todo lo posible por ocultar los datos que está robando. Los datos objetivo valiosos no se suelen escribir en el disco. En algunos casos, Symantec solo pudo recuperar las muestras de amenazas, pero no los archivos que contienen los datos robados. Cronograma Symantec tiene conocimiento de dos versiones diferentes de Regin. La versión 1.0 parece haber sido usada desde 2008 hasta 2011. La versión 2.0 se comenzó a usar de 2013 en adelante, aunque puede haberse utilizado anteriormente. La versión 1.0 parece haber sido retirada abruptamente de circulación en 2011. Las muestras de la versión 1.0 detectadas con posterioridad a esta fecha parecen haber sido retiradas incorrectamente o los atacantes ya no pueden acceder para su eliminación. Este informe se basa principalmente en nuestro análisis de la versión 1.0 de Regin. También debemos mencionar la versión 2.0, para la cual solo recuperamos archivos de 64 bits. Symantec asignó estos identificadores de versión, ya que son las únicas dos versiones que se han adquirido. Regin probablemente tiene más de dos versiones. Puede haber versiones anteriores a 1.0 y versiones entre 1.0 y 2.0. Página 5 Perfil del objetivo Los operadores de Regin no parecen enfocarse en ningún sector específico de la industria. Las infecciones de Regin se han observado en una variedad de organizaciones, incluidas empresas privadas, entidades gubernamentales e institutos de investigación. Las infecciones también se encuentran en diferentes regiones geográficas. Se han identificado principalmente en 10 regiones diferentes. Vía de infección La vía de infección varía entre los objetivos. Una vía de infección reproducible no ha sido confirmada al momento de redactar el presente informe. Se puede engañar a los objetivos al visitar versiones falsas de sitios web reconocidos y la amenaza se puede instalar mediante el navegador web o al vulnerar una aplicación. En un equipo, los archivos de registro muestran que Regin se originó en Yahoo! Instant Messenger mediante un punto vulnerable no confirmado. Figura 1. Infecciones de Regin confirmadas por sector Figura 2. Infecciones de Regin confirmadas por país Página 6 ARQUITECTURA El controlador de la etapa 1 inicial es el único código claramente visible en el equipo. Todas las demás etapas se almacenan como objetos grandes binarios de datos cifrados... Arquitectura Regin tiene una arquitectura de seis etapas. Las etapas iniciales incluyen la instalación y la configuración de los servicios internos de las amenazas. Las etapas finales ponen en juego las principales cargas útiles de Regin. Esta sección presenta una breve descripción general del formato y el objetivo de cada etapa. Las etapas más interesantes son los archivos de datos y ejecutables almacenados en las etapas 4 y 5. El controlador de la etapa 1 inicial es el único código claramente visible en el equipo. Todas las demás etapas se almacenan como objetos grandes binarios de datos cifrados, como un archivo, o dentro del área de almacenamiento de archivos no tradicionales, como registros, atributos ampliados o sectores sin formato al final del disco. Tabla 1. Las seis etapas de Regin Etapas Componentes Etapa 0 Instalador de software malicioso. Instala Regin en el equipo objetivo Etapa 1 Carga el controlador Etapa 2 Carga el controlador Etapa 3 Carga la compresión, el cifrado, las redes y el control para un sistema de archivos virtuales cifrados (EVFS). Etapa 4 Utiliza el EVFS y carga controladores de modo kernel adicionales, incluidas las cargas útiles. Etapa 5 Cargas útiles y archivos de datos principales Figura 3. Arquitectura de Regin Página 8 Etapa 0 (Instalador de software malicioso) Symantec Security Response no ha obtenido el instalador de software malicioso al momento de redactar el presente informe. Symantec cree que una vez que el instalador de software malicioso se ejecuta en el equipo del objetivo, se instala y se ejecuta en la etapa 1. Es probable que la etapa 0 sea responsable de la configuración de varios atributos ampliados y valores y claves de registro que contienen versiones codificadas de las etapas 2, 3, posiblemente 4 y posteriores. El instalador de software malicioso puede ser transitorio, en lugar de actuar como archivo ejecutable y puede formar parte del código de vulneración de la vía de infección. Etapa 1 La etapa 1 es el punto de carga inicial de la amenaza. Existen dos nombres de archivo conocidos de la etapa 1: • usbclass.sys (versión 1.0) • adpu160.sys (versión 2.0) Estos son los controladores de kernel que cargan la etapa 2 y la ejecutan. Estos controladores del kernel se pueden registrar como servicio del sistema o pueden ser una clave de registro asociada para cargar el controlador mientras el equipo se está iniciando. La etapa 1 simplemente lee la etapa 2 y la ejecuta desde un conjunto de atributos ampliados de NTFS. Si no se encuentran atributos ampliados, la etapa 2 se ejecuta desde un conjunto de claves de registro. Etapa 2 La etapa 2 es un controlador del kernel que simplemente extrae la etapa 3, la instala y la ejecuta. La etapa 2 no se almacena en el sistema de archivos tradicional, sino que se cifra dentro del atributo ampliado o un objeto grande binario de clave de registro. La etapa 2 se encuentra cifrada en: Atributo ampliado • %Windir% • %Windir%\fonts • %Windir%\cursors (posiblemente solo la versión 2.0) Subclave de registro • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4F20E605-9452-4787-B793-D0204917CA58} • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\RestoreList\VideoBase (posiblemente solo en la versión 2.0) Esta etapa solo puede ocultar las instancias en ejecución de la etapa 1. Una vez que sucede esto, no quedan herramientas de código claramente visibles. Similar a las etapas anteriores, la etapa 2 busca y carga una versión cifrada de la etapa 3 desde atributos ampliados de NTFS o un objeto grande binario de clave de registro. La etapa 2 también puede supervisar el estado de la amenaza. Esta etapa descarga el archivo msrdc64.dat, que siempre parece tener un tamaño de 512 bytes. Se usan los primeros dos bytes y los bytes restantes se configuran en cero. El segundo byte indica la cantidad máxima de instancias exclusivas que se permiten ejecutar, que está configurado en dos. Esto significa que no se puede ejecutar más de una instancia en ningún momento. El primer byte indica la cantidad de instancias que se ejecutaron o se intentaron ejecutar. Por lo tanto, las posibles combinaciones para los primeros dos bytes son: • 00 02 (la amenaza no se está ejecutando) • 01 02 (la amenaza se está ejecutando) • 02 02 (la amenaza se estaba ejecutando y la segunda instancia se ha iniciado). Página 9 Etapa 3 La etapa 3 es un DLL de modo kernel y no se almacena en el sistema de archivos tradicional. En su lugar, este archivo se cifra dentro de un atributo ampliado u objeto grande binario de clave de registro. La etapa 3 se puede encontrar en las siguientes ubicaciones: Atributo ampliado • %Windir%\system32 • %Windir%\system32\drivers Subclave de registro • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4F20E605-9452-4787-B793-D0204917CA5A} El archivo tiene de seis a siete veces el tamaño del controlador de la etapa 2. Además de cargar la etapa 4 y ejecutarla, la etapa 3 ofrece un marco para las etapas de nivel superior. Las etapas 3 y superiores se basan en un marco modular de módulos de código. Estos módulos ofrecen funciones mediante una interfaz personalizada y privada. Cada archivo en la etapa 3 y posteriores pueden exportar la funcionalidad a otras partes de Regin. En el caso de la etapa 3, se ofrecen los siguientes primitivos: • El organizador, que analiza los registros personalizados encontrados en los datos anexos de archivos ejecutables para las etapas 3 y posteriores. Estos archivos contienen una lista de funcionalidades de Regin que se deben ejecutar. Un registro comienza con el número 0xD912FEAB (ordenamiento little-endian) • Rutinas de compresión y descompresión • Rutinas de cifrado y descifrado • Rutinas para recuperar las ubicaciones de almacenamiento de componentes de mayor nivel (etapa 4) • Rutinas para controlar un sistema de archivos virtual cifrado usado por la etapa 4 • Primitivos de la red Estos primitivos se proporcionan mediante una metodología de exportación personalizada. Metodología de exportación El DLL de la etapa 3 exporta una amplia gama de funcionalidades mediante una metodología de exportación personalizada. La interfaz usada para exportar la funcionalidad no usa el mecanismo de exportación de DLL de Windows tradicional por número u orden. Tabla 2. Un ejemplo de los métodos de Regin organizados en 12 grupos Mayor Funcionalidad 0001h Núcleo 000Dh Compresión, descompresión 000Fh Cifrado, descifrado Los métodos de Regin exportados se consultan por número de variable compuesto por número mayor y menor. La etapa 3 exporta cientos de métodos, organizados en 12 grupos principales diferentes. Los números usados varían entre las versiones. Adquirimos herramientas con dos esquemas de numeración diferentes. La tabla 2 es un ejemplo de listado. 003Dh Control de EVFS 0007h Administración de contenedores 000Bh Administración de registros 0033h Cargador 0011h Red 0013h Red C373h Comando y control (C y C) de TCP Con la naturaleza modular de Regin, los módulos de kernel de la etapa 4 y los módulos de usuario de la etapa 5 (cargas útiles) pueden proporcionar funcionalidades y rutinas de exportación con los mismos esquemas de números mayores y menores. 0019h C y C de UDP 0009h Procesador de C y C Página 10 Etapa 4 Los archivos de la etapa 4, que se cargan en la etapa 3, están compuestos por un organizador de modo de usuario y varios módulos de carga útil de kernel. Se almacenan en dos contenedores EFVS como archivos: • %System%\config\SystemAudit.Evt: contiene los controladores de kernel de la etapa 4, que constituye la parte del modo de kernel de la carga útil de Regin. • %System%\config\SecurityAudit.Evt: contiene una versión de modo de usuario de la etapa 3. Los archivos se introducen en services.exe. Cuando los atacantes que activaron Regin limpiaron los equipos afectados una vez que terminaron con ellos, no pudieron quitar las herramientas de las etapas 4 y 5 del sistema. La etapa 4 también usa la misma metodología de exportación descrita en la etapa 3. Etapa 5 La etapa 5 incluye la principal funcionalidad de carga útil de Regin. Los archivos para la etapa 5 son insertados en services.exe por la etapa 4. Los archivos de la etapa 5 son contenedores de EVFS que incluyen otros archivos: • %System%\config\SystemLog.evt: contiene los DLL de modo de usuario de la etapa 5. Constituyen la carga útil de Regin. • %System%\config\SecurityLog.evt: contiene archivos de datos de la etapa 5 usados por los componentes de las etapas 4 y 5 para almacenar diversos elementos de datos. • %System%\config\ApplicationLog.evt: otro contenedor de registros de la etapa 5, al cual hacen referencia los archivos de datos de la etapa 5 • %Windir%\ime\imesc5\dicts\pintlgbp.imd (versión 2.0) • %Windir%\ime\imesc5\dicts\pintlgbs.imd (versión 2.0) La carga útil de Regin incluye los DLL incluidos en el contenedor EVFS de SystemLog.evt. La funcionalidad de la carga útil difiere según el equipo de destino. Los archivos de carga útil personalizada probablemente se entregarán para cada entorno específico. El ejemplo de funcionalidad de carga útil observado hasta la fecha incluye: • Tráfico de red de bajo nivel de rastreo • Datos de extracción a través de varios canales (TCP, UDP, ICMP, HTTP) • Recopilación de información del equipo • Robo de contraseñas • Recopilación de información de memoria y procesos • Rastreo mediante el sistema de archivos • Capacidades forenses de bajo nivel (por ejemplo, recuperación de archivos eliminados) • Manipulación de IU (actividades remotas de un solo clic del mouse, capturas de pantalla, etc.) • Enumeración de registros de robos y servidores web IIS • Rastreo de tráfico de red de administración de BSC de GSM Contenedores de sistemas de archivos virtuales cifrados Regin almacena archivos de datos y cargas útiles en disco en archivos del sistema de archivos virtual cifrado. Se accede a dichos archivos mediante las rutinas principales de 3Dh. Los archivos almacenados en los contenedores de EVFS se cifran con una variante de RC5, con bloques de 64 bits y 20 tandas. El modo de cifrado es un comentario de cifrado inverso (CFB). Las extensiones conocidas para los contenedores de EVFS son *.imd. y *.evt La estructura de un contenedor es similar al sistema de archivos FAT. La principal diferencia es que los archivos no tienen nombre, sino que son identificados por una etiqueta binaria. La etiqueta es una concatenación de un número mayor y un número menor. El número mayor suele indicar el grupo de funciones principales que controlará el archivo. Página 11 Figura 4. Diseño físico de un contenedor EVFS El contenedor comienza con el encabezado en la tabla 3 (ordenamiento little-endian). El encabezado está seguido por la tabla de entrada de archivos (Tabla 4). Cada entrada de archivos tiene una longitud en bytes 13h+taglen. Tabla 3. El encabezado del contenedor DesplazaTipo Descripción miento 00h WORD Tamaño del sector en bytes 02h WORD Cantidad máxima de sectores Los sectores se detallan a continuación (Tabla 5). El sector de bytes sectsize comienza con DWORD señalando el siguiente sector (si el archivo no se ajusta a un solo sector), seguido por bytes sectsize-4 de datos de carga útil. 04h WORD Recuento máximo de archivos 06h BYTE Longitud de etiqueta del archivo (taglen) 07h DWORD CRC de encabezado 0Bh DWORD CRC de tabla de archivo Como se explicó anteriormente, los archivos están cifrados. Pueden estar aplicadas otras capas de cifrado y compresión, aunque se controlarán con los componentes de nivel más alto. 0Fh WORD Cantidad de archivos 11h WORD Cantidad de sectores en uso 13h - Mapa de bits de uso de sector Operaciones de comando y control Las operaciones de C y C de Regin son amplias. Estas operaciones de canal posterior son bidireccionales, es decir que los atacantes pueden iniciar comunicaciones con equipos afectados en la red fronteriza o que los equipos afectados pueden iniciar comunicaciones con el atacante. Además, los equipos afectados pueden servir como proxy para otras infecciones y las operaciones de comando y control también pueden ser de tipo P2P. Todas las comunicaciones están cifradas de forma segura y pueden producirse en dos etapas, en cuyo caso el atacante puede contactar a un equipo afectado usando un canal para indicarle que comience las comunicaciones en otro canal. Hay cuatro protocolos de transporte para C y C: Tabla 4. La tabla de entrada del archivo del contenedor DesplazaTipo Descripción miento 00h DWORD CRC 04h DWORD Desplazamiento de archivo 08h DWORD Desplazamiento al primer sector que aloja los datos de los archivos 0Ch BYTE[taglen] Etiqueta de archivo Tabla 5. Los sectores del contenedor DesplazaTipo Descripción miento 00h DWORD Desplazamiento de sector siguiente o 0 04h BYTE[sectsize-4] Datos • ICMP: la información sobre la carga útil puede estar codificada e incorporada en lugar de los datos de ICMP/ ping legítimos. La cadena ‘shit’ se encuentra diseminada en el paquete para validación de datos. Además, las comprobaciones de CRC usan el valor de inicialización ‘31337’. • UDP: carga útil sin procesar de UDP • TCP: carga útil sin procesar de TCP • HTTP: la información sobre la carga útil puede estar codificada e incorporada sin datos de cookies con los nombres SESSID, SMSWAP, TW, WINKER, TIMESET, LASTVISIT, AST.NET_SessionId, PHPSESSID o phpAds_d. Esta información se puede combinar con otra cookie para validación con los nombres USERIDTK, UID, GRID, UID=PREF=ID, TM, __utma, LM, TMARK, VERSION o CURRENT Las operaciones de C y C se realizan en diversos módulos, incluidos los principales grupos C373h, 19h, 9 y las cargas útiles de la etapa 5, como C375h y 1Bh. Registro Regin registra datos en el archivo ApplicationLog.dat. Este archivo no es un contenedor cifrado, sino que está cifrado y comprimido. Página 12 CARGAS ÚTILES La naturaleza expansible de Regin y sus cargas útiles personalizadas indican que es posible que existan muchas cargas útiles para mejorar las capacidades de Regin... Cargas útiles Regin se puede distribuir con diversos módulos de carga útil o recibir módulos de carga útil después de la infección. La naturaleza expansible de Regin y sus cargas útiles personalizadas indican que es posible que existan muchas cargas útiles adicionales para mejorar las capacidades de Regin. Además, hemos encontrado archivos de datos que acompañan módulos de cargas útiles que no se han recuperado. En la siguiente tabla, se describen los módulos de carga útil de kernel de la etapa 4 y los módulos de carga útil del modo de usuario de la etapa 5, los cuales han presenciado diversas variantes del uso de Regin. Tabla 6. Módulos de carga útil de kernel de la etapa 4 y módulos de carga útil del modo de usuario de la etapa 5 de Regin Tipo de archivo Mayor Descripción SYS 0003 Controlador SYS C433 Rootkit SYS C42B Cargador de PE SYS C42D Injección de DLL SYS C3C3 Controlador de filtro de paquete de red similar a WinPCap (filtro de protocolo versión 3.5) Se usa para configurar filtros de paso de TCP y UDP y para eludir firewalls. Ejecuta el código de byte BPF (Berkeley Packet Filter), almacenado en los archivos de datos de la etapa 5. SYS 4E69 Bloqueador de puerto de red DLL C363 Captura de paquete de red DLL 4E3B Recupera información de proxy para un navegador web (Internet Explorer, Netscape, Firefox) mediante archivos de registro o configuración (por ejemplo, prefs.js, refs.js, etc.) Enumera sesiones y cuentas de usuario DLL 290B Ladrón de contraseñas • Credenciales de Windows Explorer • Registros de pstore de Windows Explorer • Configuración heredada de Internet Explorer • Datos para un paquete de notificación de Winlogon denominado “cryptpp” DLL C375 HTTP/cookies de C y C DLL C383 Comunicaciones SSL DLL C361 Compatibilidad con funciones criptográficas DLL 001B Backchannel ICMP DLL C399 Generador de registros para ApplicationLog.Evt DLL C39F Archivo de procesos: %Temp%\~b3y7f.tmp DLL C3A1 Funciones varias DLL 28A5 Funciones varias DLL C3C1 Funciones varias DLL C3B5 Recopila información del sistema • Memoria de la CPU • Unidades y recursos compartidos • Dispositivos • Información sobre Windows (tipo, versión, información de la licencia, información del propietario) • Software instalado • Procesos en ejecución (mediante HKEY_PERFORMANCE_DATA id 230) • Servicios • Programas de tareas y trabajos • Ejecución de sesiones de escritorio • Información de cuentas de usuario • Reglas/política de auditoría del sistema • Hora del sistema y hora de instalación de Windows Página 14 DLL C36B Manipulación de IU • Captura de pantallas • Registro de pulsaciones • Bloqueo de la estación de trabajo/entradas con Ctrl + Alt + Del • Funcionalidad con clic (mediante tres comandos: ir, hacer clic y soltar, volver a la posición original) • Finalización de procesos DLL C351 Exploración de nivel forense y primitivo de exploración del sistema de archivos, incluido un analizador NTFS sin formato • Obtención de diversas propiedades e información de archivos • Navegación de directorios • Lectura y escritura de archivos • Transferencia y copia de archivos • Lectura y recuperación parcial o completa de archivos eliminados • Cálculo de hashes de archivos DLL 2B5D Manipulación de procesos y módulos • Módulos y procesos de lectura • Procesos que ejecutan plazos, cuotas y privilegios • Omisión del análisis de archivos de Microsoft en inglés y ruso • Comprobación de archivos PE recientemente introducidos en los últimos dos días DLL C3CD Enumeración de las interfaces TCP/IP desde %System%\CurrentControlSet\Services\Tcpip\Linkage\bind DLL C38F Utilidad TCPDump DLL C3C5 Binario Libnet DLL 27E9 Robo del registro de servidores web de IIS Enumeración mediante objetos COM para buscar registros IIS. Capacidad de recuperar la información de registro parcial o completo. • Parcial: tipo de registro, último registro y marca de fecha de registro más antigua • Completo: se extraen los datos del registro completo El módulo de robo del registro de servidores web de IIS, 27E9h, es un ejemplo de un módulo de carga útil que se instaló después de la infección inicial y se implementó específicamente para un objetivo en particular. Versión de 64 bits Solo se recuperó una pequeña cantidad de archivos de Regin de 64 bits. Estas muestras pueden representar la versión 2.0, o sus diferencias pueden ser exclusivamente específicas de las versiones de 64 bits de Regin. También recuperamos archivos de equipos infectados que pueden o no asociarse con archivos de Regin de 64 bits, incluidas algunas variantes de svcsstat.exe, un archivo que busca recuperar datos binarios en canalizaciones y zócalos y ejecutar los datos. Nombres de archivos Los archivos recuperados no parecen variar esencialmente respecto de los de 32 bits, aparte de unas pocas diferencias notables. Las versiones de 32 y 64 bits de Regin usan distintos nombres de archivo. Estas diferencias se muestran en la primera sección de este artículo, y también en el apéndice. Lo que es más importante, en la versión de Regin de 64 bits, los nombres de los contenedores aparecen cambiados: • PINTLGBP.IMD reemplaza a SystemLog.Evt • PINTLGBPS.IMD reemplaza a SecurityLog.Evt Página 15 Diferencias entre las etapas La versión de 64 bits de la etapa 1 de Regin (wshnetc.dll) ya no es un controlador en modo kernel, ya que los controladores en Windows de 64 bits deben estar firmados. En cambio, la etapa 1 es un DLL en modo de usuario cargada como una aplicación auxiliar de Winsock cuando el equipo se está iniciando. En lugar de cargar la etapa 2 a partir de un atributo extendido de NTFS, la etapa 1 busca la última partición (en relación con la ubicación física) en el disco y busca la carga en los sectores sin formato en esta área del disco. La etapa 3 de Regin de 64 bits no se ha recuperado. Creemos que es posible que no exista, ya que la versión de 32 bits en un controlador. La etapa 4 es un organizador al igual que su equivalente de 32 bits, y usa los mismos valores mayores y menores para exportar la funcionalidad. La etapa 5 usa los siguientes nombres de archivo: • %Windir%\IME\IMESC5\DICTS\PINTLGBP.IMD contiene cargas de usuario de la etapa 5 y reemplaza a SystemLog. Evt en la versión de 32 bits • %Windir%\IME\IMESC5\DICTS\PINTLGBS.IMD contiene archivos de datos de la etapa 5 y reemplaza a SecurityLog. Evt en la versión de 32 bits • Los archivos equivalentes para SystemAudit.Evt y SecurityAudit.Evt no se recuperaron No se recuperaron módulos de carga útil de la etapa 5. Conclusión Regin es una amenaza de alta complejidad que se ha usado para la recopilación de datos a gran escala o campañas de recopilación de información. El desarrollo y el funcionamiento de esta amenaza exigió una inversión significativa de tiempo y recursos. Las amenazas de esta naturaleza son poco frecuentes y solamente se pueden comparar con la familia Stuxnet/Duqu de software malicioso. La detección de Regin sirve para destacar las inversiones significativas que se siguen haciendo en el desarrollo de herramientas de recopilación de información. Hay varios componentes de Regin que todavía no se han detectado, y es posible que existan funcionalidades y versiones adicionales. Protección Los productos de Symantec y Norton detectan esta amenaza como Backdoor.Regin. Página 16 APÉNDICE Apéndice Archivos de datos Los archivos de datos de Regin se clasifican como componentes de la etapa 5 y se encuentran en un contenedor EVFS. Tabla 7. Archivos de datos usados por el DLL del marco de la etapa 4 Mayor Menor Descripción 0001 - - 000D - - 000F 01 Objetos grandes binarios de alta entropía, datos criptográficos 02 Objetos grandes binarios de alta entropía, datos criptográficos 003D - - 0007 - - 000B 01 Contiene una ruta al archivo de registro. Normalmente, %System\config\ApplicationLog.Evt 02 Archivos pequeños de 8 bytes 01 Un solo DWORD, como 111Ch 03 Un solo DWORD, como 1114h 0011 - - 0013 01 Lista desconocida de registros 02 Un solo byte, como 3 01 Código de bytes de BPF para el controlador de netpcap: permite el paso de UDP 02 Un valor WORD, como 1 01 Código de bytes de BPF para el controlador de netpcap: permite el paso de TCP 02 Un valor WORD, como 1 00 Un solo DWORD, como 11030B15h 01 Contiene información de ubicación de comando y control (C y C) 02 Rutinas de C y C que se deben ejecutar: • (C375, 1) param= 08 02 • (19, 1) param= 44 57 58 00 • (C373, 1) param= 08 02 • (1B, 1) param= 20 00 03 Rutinas que se deben ejecutar • (4E69, 2) • (19, 2) • (1B, 2) • (C373, 2)( • C375, 2) • (C383, 2)(C363, 2) 07 Clave RC5 usada para descifrar paquetes de comando y control 09 Datos desconocidos 0B Datos desconocidos 12 Un solo byte, como 1 17 Datos desconocidos 0033 C373 0019 0009 Página 18 Dado que los archivos se almacenan en un contenedor, no tienen nombre. Al igual que los módulos de la etapa 5, se los nombra por su etiqueta de archivo, es decir, la suma de los identificadores mayores y menores. El identificador mayor indica el grupo mayor de rutina que probablemente manipula o crea el archivo. No todos los archivos de datos se han recuperado; por lo tanto, la información sigue incompleta. Tabla 9. Archivos de datos huérfanos Mayor Menor Descripción 4E25 28A4 00 Byte (1) 01 Byte (2) 00 Desconocido 02 Archivo pequeño, 8 bytes (01 00 00 00 00 00 00 00) 01 Archivo pequeño, 8 bytes (00 00 01 01 04 00 00 00) Los archivos de datos asociados con módulos de kernel de la etapa 4 no se han recuperado. DEAB En la tabla 8, se enumeran los archivos de datos recuperados usados por los módulos de la etapa 5. Tabla 8. Archivos de datos usados por los módulos de la etapa 5 (cargas útiles) Los módulos asociados que, supuestamente, manipularon esos archivos de datos no se recuperaron. Mayor Menor Descripción 6 bytes (01 00 00 00 00 00) C363 02 4E3B - 290B - C375 01 Dword (1) 02 Dword (0) 01 Dword (1) 02 Dword (0) 10 64 bytes (512 bits), Diffie Hellman, p (primo) 11 Byte (2), Diffie Hellman, g (generador) 10 Archivo con marcas de fecha y alta entropía dataUnclear 11 Dword (E10h) 12 Dword (2) C383 C361 001B - C399 - C39F 00 Archivo pequeño, 18 bytes, entropía baja 01 Ruta de acceso de Unicode no cifrada, %Temp%\~B3Y7F.tmp C3A1 01 Archivo pequeño, 6 bytes (08 01 00 00 00 01) 28A5 02 Archivo pequeño, 18 bytes, desconocido C3C1 - - C3B5 - - C36B - - C351 - - 2B5D - - C3CD - - C38F - - C3C5 - - 27E9 - - Página 19 Indicadores de peligro Se pueden usar los siguientes detalles para saber si ha sido afectado por esta amenaza. Archivo MD5s 2c8b9d2885543d7ade3cae98225e263b 4b6b86c7fec1c574706cecedf44abded 187044596bc1328efa0ed636d8aa4a5c 06665b96e293b23acc80451abb413e50 d240f06e98c8d3e647cbf4d442d79475 6662c390b2bbbd291ec7987388fc75d7 ffb0b9b5b610191051a7bdf0806e1e47 b29ca4f22ae7b7b25f79c1d4a421139d 1c024e599ac055312a4ab75b3950040a ba7bb65634ce1e30c1e5415be3d1db1d b505d65721bb2453d5039a389113b566 b269894f434657db2b15949641a67532 bfbe8c3ee78750c3a520480700e440f8 Rutas/nombres de archivos usbclass.sys adpu160.sys msrdc64.dat msdcsvc.dat %System%\config\SystemAudit.Evt %System%\config\SecurityAudit.Evt %System%\config\SystemLog.evt %System%\config\ApplicationLog.evt %Windir%\ime\imesc5\dicts\pintlgbs.imd %Windir%\ime\imesc5\dicts\pintlgbp.imd %Windir%\system32\winhttpc.dll %Windir%\system32\wshnetc.dll %Windir%\SysWow64\wshnetc.dll %Windir%\system32\svcstat.exe %Windir%\system32\svcsstat.exe Página 20 Atributos extendidos %Windir% %Windir%\cursors %Windir%\fonts %Windir%\System32 %Windir%\System32\drivers Registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4F20E605-9452-4787-B793-D0204917CA58} HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\RestoreList\VideoBase HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4F20E605-9452-4787-B793-D0204917CA5A} Página 21 Acerca de Symantec Síganos en Twitter Visite nuestro blog Symantec Corporation (NASDAQ:SYMC) es una empresa experta en protección de la información, que ayuda a personas, empresas y gobiernos a ser libres para aprovechar al máximo las oportunidades que brinda la tecnología, en cualquier momento y en cualquier lugar. Fundada en abril de 1982, Symantec, una empresa incluida en la lista de Fortune 500 que trabaja con una de las más grandes redes globales de inteligencia de datos, proporciona soluciones líderes de protección, copia de seguridad y disponibilidad necesarias donde se almacena la información vital, se accede a ella y se comparte. La empresa cuenta con más de 20 000 empleados, en más de 50 países. El 99% de las empresas incluidas en la lista de Fortune 500 son clientes de Symantec. Durante el año fiscal 2014, Symantec registró ingresos de 6900 millones de dólares. Para obtener más información, visite www.symantec.com/la o conéctese con Symantec en: go.symantec.com/social/. Obtenga información sobre las oficinas y los números de contacto de los diferentes países visitando nuestro sitio web. 9155 South Dadeland Blvd., Suite 1100 Miami, FL 33156 Teléfono: 305-671-2300 Fax: 305-671-2350 http://www.symantec.com/la/ http://www.symantec.com.mx/ Sede Mundial de Symantec 350 Ellis St. Mountain View, CA 94043 USA +1 (650) 527 8000 +1 (800) 721 3934 www.symantec.com Copyright © 2014 Symantec Corporation. Todos los derechos reservados. Symantec, el logotipo de Symantec y el logotipo de la marca de comprobación son marcas comerciales o marcas comerciales registradas en los Estados Unidos y en otros países por Symantec Corporation o sus filiales. Los demás nombres pueden ser marcas comerciales de sus respectivos propietarios. Toda la información técnica que Symantec Corporation pone a su disposición corresponde a una labor registrada de Symantec Corporation, y su propietario es Symantec Corporation. SIN GARANTÍA. La información técnica se proporciona tal cual, y Symantec Corporation no ofrece ninguna garantía respecto de su exactitud o su uso. Cualquier uso de la documentación técnica o de la información aquí contenida está bajo la responsabilidad del usuario. Es posible que la documentación contenga inexactitudes técnicas o de otro tipo, así como errores tipográficos. Symantec se reserva el derecho a realizar cambios sin previo aviso.