Continuamos nuestra serie de artículos dedicados al análisis de malware. EN
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.
Archivo de configuración
La siguiente tabla enumera qué funcionalidad se aplica al ejemplo que está utilizando:
Descripción | Valor |
Indicador de uso de KeyLogger | verdadero |
Indicador de uso de ScreenLogger | false |
Intervalo de envío de registros de KeyLogger en minutos | 20 |
Intervalo de envío de registros de ScreenLogger en minutos | 20 |
Bandera de manejo de tecla de retroceso. Falso: solo registro. Verdadero: borra la clave anterior | false |
Tipo CNC. Opciones: smtp, panel web, ftp | smtp |
Indicador de activación de hilo para finalizar procesos de la lista "%filter_list%" | false |
Bandera de desactivación de UAC | false |
Bandera de desactivación del administrador de tareas | false |
Bandera de desactivación de CMD | false |
Ejecutar bandera de desactivación de ventana | false |
Indicador de desactivación del visor de registro | false |
Deshabilitar el indicador de puntos de restauración del sistema | verdadero |
Indicador de desactivación del panel de control | false |
Bandera de desactivación de MSCONFIG | false |
Bandera para desactivar el menú contextual en Explorer | false |
Bandera de alfiler | false |
Ruta para copiar el módulo principal al fijarlo al sistema | %carpeta de inicio% %insfolder%%insname% |
Bandera para configurar los atributos "Sistema" y "Oculto" para el módulo principal asignado al sistema | false |
Marcar para realizar un reinicio cuando está anclado al sistema | false |
Bandera para mover el módulo principal a una carpeta temporal | false |
Bandera de derivación de UAC | false |
Formato de fecha y hora para el registro | aaaa-MM-dd HH: mm: ss |
Bandera para usar un filtro de programa para KeyLogger | verdadero |
Tipo de filtrado de programas. 1 – el nombre del programa se busca en los títulos de la ventana 2 – el nombre del programa se busca en el nombre del proceso de la ventana |
1 |
Filtro de programa | "Facebook" "gorjeo" "gmail" "instagram" "película" "skype" "pornografía" "cortar a tajos" "whatsapp" "discordia" |
Conexión del módulo principal al sistema
Si se establece el indicador correspondiente, el módulo principal se copia a la ruta especificada en la configuración como la ruta que se asignará al sistema.
Dependiendo del valor de la configuración, el archivo recibe los atributos "Oculto" y "Sistema".
La ejecución automática la proporcionan dos ramas del registro:
- Software HKCUMicrosoftWindowsCurrentVersionRun%insregname%
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedEjecutar %insregname%
Dado que el gestor de arranque se inyecta en el proceso. RegAsmo, establecer el indicador persistente para el módulo principal tiene consecuencias bastante interesantes. En lugar de copiarse a sí mismo, el malware adjuntó el archivo original al sistema RegAsm.exe, durante el cual se llevó a cabo la inyección.
Interacción con C&C
Independientemente del método utilizado, la comunicación en la red comienza con la obtención de la IP externa de la víctima utilizando el recurso.
A continuación se describen los métodos de interacción de red presentados en el software.
panel web
La interacción se realiza a través del protocolo HTTP. El malware ejecuta una solicitud POST con los siguientes encabezados:
- Agente de usuario: Mozilla/5.0 (Windows U Windows NT 6.1 ru rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
- Conexión: Keep-Alive
- Tipo de contenido: application / x-www-form-urlencoded
La dirección del servidor está especificada por el valor. %PostURL%. El mensaje cifrado se envía en el parámetro "pag". El mecanismo de cifrado se describe en la sección "Algoritmos de cifrado" (Método 2).
El mensaje transmitido se ve así:
type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nclient={8}nlink={9}nusername={10}npassword={11}nscreen_link={12}
Parámetro tipo indica el tipo de mensaje:
ancho — Se registra un hash MD5 a partir de los valores del número de serie de la placa base y el ID del procesador. Probablemente se utilice como ID de usuario.
equipo — sirve para transmitir la hora y fecha actuales.
nombre de pc - definido como <Nombre de usuario>/<Nombre de computadora>.
Dato de registro - Dato de registro.
Al transmitir contraseñas, el mensaje se ve así:
type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]
Las siguientes son descripciones de los datos robados en el formato nclient[]={0}nlink[]={1}nnombredeusuario[]={2}ncontraseña[]={3}.
smtp
La interacción se realiza a través del protocolo SMTP. La carta transmitida está en formato HTML. Parámetro CUERPO tiene la forma:
El encabezado de la carta tiene la forma general: <NOMBRE DE USUARIO>/<NOMBRE DE COMPUTADORA> <TIPO DE CONTENIDO>. El contenido de la carta, así como sus archivos adjuntos, no están cifrados.
La interacción se realiza a través del protocolo FTP. Un archivo con el nombre se transfiere al servidor especificado. <TIPO DE CONTENIDO>_<NOMBRE DE USUARIO>-<NOMBRE DE COMPUTADORA>_<FECHA Y HORA>.html. El contenido del archivo no está cifrado.
Algoritmos de cifrado
Este caso utiliza los siguientes métodos de cifrado:
El método 1
Este método se utiliza para cifrar cadenas en el módulo principal. El algoritmo utilizado para el cifrado es AES.
La entrada es un número decimal de seis dígitos. Sobre él se realiza la siguiente transformación:
f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3
El valor resultante es el índice de la matriz de datos incrustada.
Cada elemento de la matriz es una secuencia. DWORD. Al fusionarse DWORD Se obtiene una matriz de bytes: los primeros 32 bytes son la clave de cifrado, seguidos de 16 bytes del vector de inicialización y los bytes restantes son los datos cifrados.
El método 2
Algoritmo utilizado 3DES en el modo BCE con relleno en bytes enteros (PKCS7).
La clave está especificada por el parámetro. % clave de URL%, sin embargo, el cifrado utiliza su hash MD5.
Funcionalidad maliciosa
La muestra en estudio utiliza los siguientes programas para implementar su función maliciosa:
KeyLogger
Si hay un indicador de malware correspondiente usando la función WinAPI SetWindowsHookEx Asigna su propio controlador para eventos de pulsación de teclas en el teclado. La función del controlador comienza obteniendo el título de la ventana activa.
Si se establece el indicador de filtrado de aplicaciones, el filtrado se realiza según el tipo especificado:
- el nombre del programa se busca en los títulos de la ventana
- el nombre del programa se busca en la ventana nombre del proceso
A continuación, se agrega una entrada al registro con información sobre la ventana activa en el formato:
Luego se registra información sobre la tecla presionada:
Llave | Registro |
Retroceso | Dependiendo del indicador de procesamiento de la tecla Retroceso: Falso – {BACK} Verdadero: borra la clave anterior |
BLOQ MAYÚS | {BLOQ MAYÚS} |
ESC | {ESC} |
PageUp | {Página arriba} |
Plumón | ↓ |
BORRAR | {BORRAR} |
" | " |
F5 | {F5} |
& | Y |
F10 | {F10} |
TAB | {PESTAÑA} |
< | < |
> | > |
brecha | |
F8 | {F8} |
F12 | {F12} |
F9 | {F9} |
ALT + TAB | {ALT+TAB} |
FIN | {FINAL} |
F4 | {F4} |
F2 | {F2} |
CTRL | {CONTROL} |
F6 | {F6} |
Derecha | → |
Up | ↑ |
F1 | {F1} |
Unidades | ← |
PageDown | {Página abajo} |
recuadro | {Insertar} |
Win | {Ganar} |
BlNum | {Num lock} |
F11 | {F11} |
F3 | {F3} |
INICIO | {HOGAR} |
ENTRAR | {INGRESAR} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Otra clave | El carácter está en mayúsculas o minúsculas dependiendo de las posiciones de las teclas CapsLock y Shift. |
Con una frecuencia especificada, el registro recopilado se envía al servidor. Si la transferencia no tiene éxito, el registro se guarda en un archivo %TEMP%log.tmp en formato:
Cuando se active el temporizador, el archivo se transferirá al servidor.
Registrador de pantalla
Con una frecuencia específica, el malware crea una captura de pantalla en el formato JPEG con valor Quality igual a 50 y lo guarda en un archivo %APPDATA %<Secuencia aleatoria de 10 caracteres>.jpg. Después de la transferencia, el archivo se elimina.
registrador del portapapeles
Si se establece la bandera adecuada, se realizan reemplazos en el texto interceptado de acuerdo con la siguiente tabla.
Después de esto, el texto se inserta en el registro:
Ladrón de contraseñas
El malware puede descargar contraseñas de las siguientes aplicaciones:
Navegadores | Clientes de correo | Clientes FTP |
Chrome | Outlook | FileZilla |
Firefox | Thunderbird | WS_FTP |
IE/borde | Foxmail | WinSCP |
Safari | Opera Mail | Núcleo FTP |
Navegador de Opera | IncrediMail | Navegador FTP |
Yandex | pococorreo | FlashFXP |
Comodo | Eudora | SmartFTP |
Chrome Plus | Thebat | Comandante FTP |
Cromo | Buzón | |
Torch | GarrasCorreo | |
7Star | ||
Amigo | ||
software valiente | Clientes Jabber | Clientes VPN |
CentBrowser | psi/psi+ | VPN abierto |
Chedot | ||
CocCoc | ||
Explorador de elementos | Administradores de descargas | |
Navegador de privacidad épico | Internet Download Manager | |
Cometa | JDownloader | |
Orbitum | ||
Sputnik | ||
uCozMedia | ||
Vivaldi | ||
SeaMonkey | ||
Flock Browser | ||
UC Browser | ||
BlackHawk | ||
Ciberzorro | ||
K-Meleon | ||
gato de hielo | ||
Icedragon | ||
Luna pálida | ||
Zorro de agua | ||
Navegador Falkon |
Oposición al análisis dinámico
- Uso de la función Calidad de Sueño. Le permite omitir algunas zonas de pruebas por tiempo de espera.
- Destruyendo un hilo Identificador de zona. Le permite ocultar el hecho de descargar un archivo de Internet.
- en parámetro %lista_filtro% especifica una lista de procesos que el malware finalizará en intervalos de un segundo
- Desconectando UAC
- Deshabilitar el administrador de tareas
- Desconectando CMD
- Deshabilitar una ventana "Ejecutar"
- Deshabilitar el panel de control
- Deshabilitar una herramienta RegEdit
- Deshabilitar los puntos de restauración del sistema
- Deshabilitar el menú contextual en Explorer
- Desconectando MSCONFIG
- Derivación UAC:
Funciones inactivas del módulo principal.
Durante el análisis del módulo principal se identificaron funciones que se encargaban de difundirse por la red y rastrear la posición del mouse.
Gusano
Los eventos para conectar medios extraíbles se monitorean en un hilo separado. Cuando se conecta, el malware con el nombre se copia a la raíz del sistema de archivos scr.exe, después de lo cual busca archivos con la extensión LNK. El equipo de todos LNK cambiando a cmd.exe /c iniciar scr.exe&iniciar <comando original>& salir.
Cada directorio en la raíz del medio recibe un atributo. "Oculto" y se crea un archivo con la extensión LNK con el nombre del directorio oculto y el comando cmd.exe /c iniciar scr.exe&explorer /root,"%CD%<NOMBRE DEL DIRECTORIO>" y salir.
Rastreador de ratón
El método para realizar la interceptación es similar al utilizado para el teclado. Esta funcionalidad aún está en desarrollo.
Actividad del archivo
Camino | Descripción |
%Temp%temp.tmp | Contiene un contador para intentos de omisión de UAC |
%carpeta de inicio%%insfolder%%insname% | Ruta que se asignará al sistema HPE |
%Temp%tmpG{Hora actual en milisegundos}.tmp | Ruta para la copia de seguridad del módulo principal. |
%Temp%log.tmp | Archivo de registro |
%AppData%{Una secuencia arbitraria de 10 caracteres}.jpeg | Imágenes |
C:UsersPublic{Una secuencia arbitraria de 10 caracteres}.vbs | Ruta a un archivo vbs que el gestor de arranque puede usar para adjuntarlo al sistema |
%Temp%{Nombre de carpeta personalizada}{Nombre de archivo} | Ruta utilizada por el gestor de arranque para conectarse al sistema |
Perfil del atacante
Gracias a los datos de autenticación codificados, pudimos acceder al centro de mando.
Esto nos permitió identificar el correo electrónico final de los atacantes:
junaid[.]en***@gmail[.]com.
El nombre de dominio del centro de comando está registrado en el correo. sg***@gmail[.]com.
Conclusión
Durante un análisis detallado del malware utilizado en el ataque, pudimos establecer su funcionalidad y obtener la lista más completa de indicadores de compromiso relevantes para este caso. Comprender los mecanismos de interacción de la red de malware permitió dar recomendaciones para ajustar el funcionamiento de las herramientas de seguridad de la información, así como escribir reglas IDS estables.
Peligro principal agente de Tesla como DataStealer en el sentido de que no necesita comprometerse con el sistema ni esperar un comando de control para realizar sus tareas. Una vez en la máquina, inmediatamente comienza a recopilar información privada y la transfiere al CnC. Este comportamiento agresivo es en cierto modo similar al comportamiento del ransomware, con la única diferencia de que este último ni siquiera requiere una conexión de red. Si te encuentras con esta familia, después de limpiar el sistema infectado del malware, definitivamente deberías cambiar todas las contraseñas que, al menos en teoría, podrían guardarse en una de las aplicaciones enumeradas anteriormente.
De cara al futuro, digamos que los atacantes que envían agente de Tesla, el cargador de arranque inicial se cambia muy a menudo. Esto le permite pasar desapercibido para los escáneres estáticos y los analizadores heurísticos en el momento del ataque. Y la tendencia de esta familia a iniciar inmediatamente sus actividades hace que los monitores del sistema sean inútiles. La mejor manera de combatir a AgentTesla es un análisis preliminar en una zona de pruebas.
En el tercer artículo de esta serie veremos otros gestores de arranque utilizados. agente de Tesla, y también estudiar el proceso de su desembalaje semiautomático. ¡No te pierdas!
Hash
SHA1 |
A8C2765B3D655BA23886D663D22BDD8EF6E8E894 |
8010CC2AF398F9F951555F7D481CE13DF60BBECF |
79B445DE923C92BF378B19D12A309C0E9C5851BF |
15839B7AB0417FA35F2858722F0BD47BDF840D62 |
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
C & C
Enlance |
sina-c0m[.]icu |
smtp[.]sina-c0m[.]icu |
clave de registro
registro |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Nombre del script} |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname% |
HKCUSOFTWAREMicrosoftWindowsVersión actualExplorerInicioAprobadoEjecutar%insregname% |
Mutex
No hay indicadores.
archivos
Actividad del archivo |
%Temp%temp.tmp |
%carpeta de inicio%%insfolder%%insname% |
%Temp%tmpG{Hora actual en milisegundos}.tmp |
%Temp%log.tmp |
%AppData%{Una secuencia arbitraria de 10 caracteres}.jpeg |
C:UsersPublic{Una secuencia arbitraria de 10 caracteres}.vbs |
%Temp%{Nombre de carpeta personalizada}{Nombre de archivo} |
Información de muestras
Nombre | Desconocido |
MD5 | F7722DD8660B261EA13B710062B59C43 |
SHA1 | 15839B7AB0417FA35F2858722F0BD47BDF840D62 |
SHA256 | 41DC0D5459F25E2FDCF8797948A7B315D3CB0753 98D808D1772CACCC726AF6E9 |
Tipo de Propiedad | PE (.NET) |
Tamaño | 327680 |
Nombre original | AZZRIDKGGSLTYFUUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe |
Sello de la fecha | 01.07.2019 |
Compilador | VB.NET |
Nombre | IELibrary.dll |
MD5 | BFB160A89F4A607A60464631ED3ED9FD |
SHA1 | 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
SHA256 | D55800A825792F55999ABDAD199DFA54F3184417 215A298910F2C12CD9CC31EE |
Tipo de Propiedad | PE (.NET DLL) |
Tamaño | 16896 |
Nombre original | IELibrary.dll |
Sello de la fecha | 11.10.2016 |
Compilador | Vinculador de Microsoft(48.0*) |
Fuente: habr.com