Variante de Agent Tesla, nuestros FortiGuard Labs capturaron una campaña de phishing que difunde una nueva variante del Agente Tesla. Esta conocida familia de malware utiliza un archivo . Troyano de acceso remoto basado en red (RAT) y ladrón de datos para obtener acceso inicial. A menudo se utiliza para Malware-as-a-Service (MaaS).
Realicé un análisis en profundidad de esta campaña, desde el correo electrónico inicial de phishing hasta las acciones del agente Tesla instalado en la máquina de la víctima y la recopilación de información confidencial del dispositivo afectado.
En este análisis, aprenderá sobre el contenido de este ataque, como cómo el correo electrónico de phishing inicia la campaña, cómo se explota la vulnerabilidad CVE-2017-11882 / CVE-2018-0802 (y no la macro VBS) para descargar y ejecutar el archivo Agent Tesla en el dispositivo de la víctima, así como cómo el Agente Tesla recopila los datos confidenciales del dispositivo de la víctima, como las credenciales, los registros de teclas y las capturas de pantalla de la pantalla de la víctima.
A pesar de las correcciones para CVE-2017-11882 / CVE-2018-0802 lanzadas por Microsoft en noviembre de 2017 y enero de 2018, esta vulnerabilidad sigue siendo popular entre los actores de amenazas, lo que sugiere que todavía hay dispositivos sin parchear en la naturaleza, incluso después de más de cinco años. Estamos observando y mitigando 3000 ataques por día, a nivel IPS. El número de dispositivos vulnerables observados es de alrededor de 1300 por día.
Correo electrónico de phishing
El correo electrónico de phishing se disfraza como una notificación de orden de compra, que se muestra en la figura 1.1, que solicita al destinatario que confirme un pedido de una empresa proveedora de equipos industriales. Se adjunta un documento Excel a este correo electrónico llamado “Orden 45232429.xls”.
CVE-2017-11882/CVE-2018-0802 explotado por el documento de Excel
El documento Excel adjunto está en formato OLE. Contiene datos de ecuaciones creadas que aprovechan la vulnerabilidad CVE-2017-11882/CVE-2018-0802 para ejecutar un shellcode malicioso.
Al abrir el documento de Excel adjunto, se muestra un mensaje engañoso para el usuario (Figura 2.1). Mientras tanto, el shellcode dentro de los datos de la ecuación creada se ejecuta en secreto.
CVE-2017-11882/CVE-2018-0802 es una vulnerabilidad RCE (ejecución remota de código) que provoca daños en la memoria dentro del proceso de EQNEDT32.EXE al analizar los datos de ecuaciones creadas cuando se explotan. Esto puede conducir a la ejecución de código arbitrario.
La figura 2.2 muestra el documento de Excel analizado en un lector de compuestos OLE, donde los datos de la ecuación están dentro de la secuencia “\x01Ole10NativE” en la carpeta de almacenamiento “MBD0057E612”.
Una vez que se abre el documento de Excel diseñado, los datos de ecuaciones maliciosas se analizan automáticamente mediante un proceso de MS Office llamado “EQNEDT32.EXE”. Esto desencadena la vulnerabilidad CVE-2017-11882 / CVE-2018-0802, y el código de shell malicioso dentro de los datos de la ecuación se ejecuta en segundo plano.
En la Figura 2.3, podemos ver que los datos de la ecuación creada anulan la pila del EQNEDT32.EXE y lo hacen saltar dos veces (a través de las direcciones fijas de 0x450650 y 0x44C329) al shellcode en 0x33C006C (en la pila).
Después del autodescifrado, observamos que el trabajo principal del shellcode es descargar y ejecutar un archivo de malware adicional desde la URL “hxxp://23[.] 95.128.195/3355/cromo.exe”. Para hacer esto, llama a varias API, como URLDownloadToFileW(), para descargar el malware a una carpeta local y ShellExecuteW() para ejecutar el malware en el dispositivo de la víctima. En la Figura 2.4, podemos ver que el shellcode está a punto de llamar a la API URLDownloadToFileW() para descargarlo en un archivo local y cambiarle el nombre como “dasHost.exe” en la carpeta “%TEMP%”.
Una mirada al archivo descargado
El archivo descargado (“dasHost.exe”) es un programa .Net protegido por dos empaquetadores, IntelliLock y .NET Reactor.
La figura 3.1 muestra la función EntryPoint del archivo descargado dentro de dnSpy, donde el nombre del ensamblado del archivo es “Nvgqn7x”. Como habrás notado, todos los nombres de los espacios de nombres, clases, métodos y variables están completamente ofuscados.
Hay archivos de recursos dentro de la sección Recursos .Net del archivo descargado. El archivo descargado (“dasHost.exe”) extrae dos módulos de ejecución sin archivos de la sección Recursos de .Net. Uno es el módulo de carga útil del Agente Tesla, y el otro es un módulo Cargador para el archivo de carga útil del Agente Tesla.
La figura 3.2 muestra todos los recursos de la sección Recursos de .Net. Según mi análisis, el recurso “rTMIRNhcvIYnT8lMa6.UJQcCvWAsvT8GV6hyn.resources” es el módulo Loader codificado, cuyo nombre de ensamblaje es “Cassa”. El recurso “FinalProject.Resources” es el módulo de carga útil cifrado y comprimido del agente Tesla, cuyo nombre de ensamblaje es “NyZELH bX”. Se descifra, descomprime y carga como un módulo en la función “DeleteMC()” del módulo Loader, como se muestra en la Figura 3.3.
Como habrás notado, el recurso está disfrazado como un recurso de mapa de bits y se mezcla con la carga útil. Bitmap.GetPixel() y Color.FromArgb() son las dos API a las que se llama para leer la carga útil del recurso. Luego pasa por el descifrado y la descompresión gzip para restaurar el archivo de carga útil, que se carga como un módulo ejecutable llamando al método AppDomain.CurrentDomain.Load(). Finalmente, la función “EntryPoint” del archivo de carga útil se invoca desde el módulo Loader (“Cassa”).
fuente: fortinet.
También puedes leer: 3 amenazas de ciberseguridad mundial.