La participación falló: expongamos AgentTesla al agua limpia. Parte 1
Recientemente, un fabricante europeo de equipos de instalación eléctrica se puso en contacto con Group-IB: su empleado recibió por correo una carta sospechosa con un archivo adjunto malicioso. Iliá Pomerantsev, especialista en análisis de malware de CERT Group-IB, realizó un análisis detallado de este archivo, descubrió el software espía AgentTesla allí y dijo qué esperar de dicho malware y qué tan peligroso es.
Con esta publicación abrimos una serie de artículos sobre cómo analizar archivos potencialmente peligrosos y esperamos a los más curiosos el 5 de diciembre para un seminario web interactivo gratuito sobre el tema. “Análisis de Malware: Análisis de Casos Reales”. Todos los detalles están debajo del corte.
Mecanismo de distribución
Sabemos que el malware llegó al equipo de la víctima a través de correos electrónicos de phishing. El destinatario de la carta probablemente tenía BCC.
El análisis de los encabezados muestra que el remitente de la carta fue falsificado. De hecho, la carta se fue con vps56[.]oneworldhosting[.]com.
El archivo adjunto del correo electrónico contiene un archivo WinRar. qoute_jpeg56a.r15 con un archivo ejecutable malicioso QOUTE_JPEG56A.exe dentro.
Ecosistema HPE
Ahora veamos cómo es el ecosistema del malware en estudio. El siguiente diagrama muestra su estructura y las direcciones de interacción de los componentes.
Ahora veamos cada uno de los componentes del malware con más detalle.
Cargador
Archivo original QOUTE_JPEG56A.exe es un compilado AutoIt v3 guion.
Para ofuscar el guión original, se utiliza un ofuscador con funciones similares. PELock AutoIT-Ofuscador características
La desofuscación se lleva a cabo en tres etapas:
Eliminando la ofuscación Por si
El primer paso es restaurar el flujo de control del script. Control Flow Flattening es una de las formas más comunes de proteger el código binario de la aplicación del análisis. Las transformaciones confusas aumentan drásticamente la complejidad de extraer y reconocer algoritmos y estructuras de datos.
Recuperación de filas
Se utilizan dos funciones para cifrar cadenas:
gdorizabegkvfca: realiza una decodificación similar a Base64
xgacyukcyzxz - XOR byte-byte simple de la primera cadena con la longitud de la segunda
Eliminando la ofuscación BinarioACadena и Implementación
La carga principal se almacena de forma dividida en el directorio. Fuentes secciones de recursos del archivo.
El orden de pegado es el siguiente: TIEQHCXWFG, IME, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.
La función WinAPI se utiliza para descifrar los datos extraídos. CriptaDescifrar, y la clave de sesión generada en función del valor se utiliza como clave fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.
El archivo ejecutable descifrado se envía a la entrada de la función. RunPEque lleva a cabo ProcesoInyectar в RegAsm.exe usando incorporado Código Shell (también conocido como Ejecutar PE ShellCode). La autoría pertenece al usuario del foro español. indetectables[.]neto bajo el sobrenombre de Wardow.
También vale la pena señalar que en uno de los hilos de este foro, un ofuscador de AutoIt con propiedades similares identificadas durante el análisis de muestras.
Sí mismo Código Shell bastante simple y llama la atención, solo lo tomó prestado del grupo de hackers AnunakCarbanak. Función hash de llamadas API.
También conocemos los casos de uso. Código Shell francés diferentes versiones.
Además de la funcionalidad descrita, también identificamos funciones inactivas:
Bloquear la terminación manual del proceso en el administrador de tareas
Reiniciar un proceso hijo cuando finaliza
Omitir UAC
Guardar la carga útil en un archivo
Demostración de ventanas modales.
Esperando a que cambie la posición del cursor del ratón
AntiVM y AntiSandbox
Autodestrucción
Bombeo de carga útil desde la red.
Sabemos que dicha funcionalidad es típica del protector. CypherIT, que, aparentemente, es el gestor de arranque en cuestión.
Módulo principal de software.
A continuación, describiremos brevemente el módulo principal del malware y lo consideraremos con más detalle en el segundo artículo. En este caso se trata de una aplicación sobre .NET.
Durante el análisis, descubrimos que se utilizó un ofuscador. ConfusoEX.
IELibrary.dll
La biblioteca se almacena como un recurso del módulo principal y es un complemento bien conocido para agente de Tesla, que proporciona funcionalidad para extraer información diversa de los navegadores Internet Explorer y Edge.
Agent Tesla es un software de espionaje modular que se distribuye utilizando un modelo de malware como servicio bajo la apariencia de un producto legítimo de registro de pulsaciones. El agente Tesla es capaz de extraer y transmitir credenciales de usuario desde navegadores, clientes de correo electrónico y clientes FTP al servidor a los atacantes, registrar datos del portapapeles y capturar la pantalla del dispositivo. En el momento del análisis, el sitio web oficial de los desarrolladores no estaba disponible.
El punto de entrada es la función. Obtener contraseñas guardadas clase InternetExplorer.
En general, la ejecución del código es lineal y no contiene ninguna protección contra el análisis. Sólo la función no realizada merece atención. Obtener cookies guardadas. Aparentemente, se suponía que se iba a ampliar la funcionalidad del complemento, pero nunca se hizo.
Adjuntar el gestor de arranque al sistema
Estudiemos cómo se adjunta el gestor de arranque al sistema. El ejemplar en estudio no realiza anclaje, pero en eventos similares se produce según el siguiente esquema:
En carpeta C:UsuariosPúblico se crea el guión Visual Basic
Ejemplo de guión:
El contenido del archivo del cargador se rellena con un carácter nulo y se guarda en la carpeta. %Temp%<Nombre de carpeta personalizada><Nombre de archivo>
Se crea una clave de ejecución automática en el registro para el archivo de secuencia de comandos. HKCUSoftwareMicrosoftWindowsCurrentVersionRun<nombre del script>
Así, a partir de los resultados de la primera parte del análisis, pudimos establecer los nombres de las familias de todos los componentes del malware estudiado, analizar el patrón de infección y también obtener objetos para escribir firmas. Continuaremos nuestro análisis de este objeto en el próximo artículo, donde veremos el módulo principal con más detalle. agente de Tesla. ¡No te pierdas!
Por cierto, el 5 de diciembre invitamos a todos los lectores a un seminario web interactivo gratuito sobre el tema “Análisis de malware: análisis de casos reales”, donde el autor de este artículo, especialista del CERT-GIB, mostrará online la primera etapa de Análisis de malware: descompresión semiautomática de muestras utilizando el ejemplo de tres minicasos reales de la práctica, y usted puede participar en el análisis. El seminario web es adecuado para especialistas que ya tengan experiencia en el análisis de archivos maliciosos. El registro es estrictamente desde el correo electrónico corporativo: зарегистрируйтесь. ¡Esperando por ti!