TCLBANKER: Troyano Bancario Brasileño Propagándose a través de WhatsApp y Outlook
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El informe examina TCLBANKER, un nuevo troyano bancario brasileño identificado que abusa de un instalador firmado de Logitech para entregar una carga útil maliciosa de .NET. El malware incluye un componente bancario que utiliza superposiciones de WPF para atacar sesiones financieras, junto con dos módulos similares a gusanos que abusan de WhatsApp Web y Microsoft Outlook para su propagación. La comunicación de comando y control se maneja a través de una infraestructura de WebSocket de Cloudflare Workers, y el malware incorpora una amplia gama de técnicas anti-análisis para frustrar la detección e investigación.
Investigación
Elastic Security Labs analizó el paquete MSI malicioso, el método de carga lateral de DLL, el cargador de .NET y ambos módulos de propagación. Los investigadores recuperaron URLs de comando y control, claves de API, detalles de persistencia de tareas programadas y una lista de 59 dominios bancarios brasileños atacados por el malware. Su análisis también documentó la lógica anti-depuración, métodos de evasión en sandbox y un comportamiento de vigilancia diseñado para mantener el malware activo y resistente.
Mitigación
Los defensores deben bloquear la ejecución de instaladores no confiables, monitorear la carga lateral de DLL que involucre LogiAiPromptBuilder.exe, y aplicar controles de menor privilegio a los entornos de Outlook y navegador. El contenido de detección también debe cubrir la tarea programada RuntimeOptimizeService. Las defensas de red deben bloquear los dominios identificados de Cloudflare Workers y la dirección IP 191.96.224.96.
Respuesta
Si se detecta TCLBANKER, aísle el punto final afectado inmediatamente, termine los procesos maliciosos, elimine la tarea programada y borre el %LocalAppData%LogiAI directorio. Los investigadores deben preservar evidencia forense como hashes de DLL y tráfico de comando y control para compartir inteligencia. Las credenciales comprometidas de Outlook y WhatsApp deben ser restablecidas, y el entorno debe ser monitoreado para detectar intentos adicionales de propagación.
graph TB %% Sección de definiciones de clases classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef persistence fill:#ccccff classDef c2 fill:#ffdd99 %% Sección de nodos user_execution[«<b>Acción</b> – <b>T1204.002 Ejecución por el usuario</b><br/>La víctima ejecuta el MSI malicioso tras extraerlo del ZIP»] class user_execution action delivery_zip[«<b>Acción</b> – <b>T1546.016 Ejecución activada por evento: paquetes instaladores</b><br/>MSI malicioso entregado dentro de un ZIP usando un instalador firmado de Logitech»] class delivery_zip action malicious_msi[«<b>Malware</b> – <b>Nombre</b>: MSI malicioso<br/><b>Descripción</b>: Integrado en ZIP y ejecutado mediante instalador firmado»] class malicious_msi malware signed_logitech_installer[«<b>Herramienta</b> – <b>Nombre</b>: Instalador Logitech Logi AI Prompt Builder (firmado)»] class signed_logitech_installer tool logiai_exe[«<b>Proceso</b> – <b>Nombre</b>: LogiAiPromptBuilder.exe»] class logiai_exe process sideloader_dll[«<b>Malware</b> – <b>Nombre</b>: screen_retriever_plugin.dll (se hace pasar por plugin Flutter)»] class sideloader_dll malware flutter_framework[«<b>Herramienta</b> – <b>Nombre</b>: Framework Flutter (utilidad de desarrollo confiable)»] class flutter_framework tool dotnet_reactor[«<b>Herramienta</b> – <b>Nombre</b>: .NET Reactor packer»] class dotnet_reactor tool polymorphic_payload[«<b>Malware</b> – <b>Nombre</b>: Payload cifrado con AES-256<br/>La clave dependiente del entorno proporciona comportamiento polimórfico»] class polymorphic_payload malware env_evasion[«<b>Acción</b> – <b>T1497.002 Evasión de virtualización/sandbox</b><br/>Verificaciones de actividad del usuario, depurador, virtualización y región»] class env_evasion action locale_check[«<b>Acción</b> – <b>T1614.001 Descubrimiento de ubicación del sistema</b><br/>Verifica LCID, distribución de teclado y zona horaria para locale pt-BR»] class locale_check action scheduled_task[«<b>Persistencia</b> – <b>T1053 Tarea programada</b><br/>Crea tarea oculta RuntimeOptimizeService al inicio de sesión»] class scheduled_task persistence screen_capture[«<b>Acción</b> – <b>T1113 Captura de pantalla</b><br/>Captura PNG de pantalla completa por monitor para superposición y streaming»] class screen_capture action keylogging[«<b>Acción</b> – <b>T1056.001 Captura de entrada: keylogging</b><br/>Instala hook de bajo nivel WH_KEYBOARD_LL»] class keylogging action outlook_bot[«<b>Malware</b> – <b>Nombre</b>: Bot de automatización COM de Outlook»] class outlook_bot malware phishing_action[«<b>Acción</b> – <b>T1566 Phishing</b><br/>Envía correos phishing desde la cuenta Outlook de la víctima»] class phishing_action action email_bombing[«<b>Acción</b> – <b>T1667 Bombardeo de correo</b><br/>Phishing masivo de alto volumen a contactos obtenidos»] class email_bombing action network_logon_script[«<b>Acción</b> – <b>T1037.003 Script de inicio de sesión de red</b><br/>Establece conexión WebSocket persistente»] class network_logon_script action websocket_c2[«<b>Comando y Control</b> – <b>Endpoint</b>: wss://mxtestacionamentos.com/ws<br/><b>Auth</b>: HMAC-SHA256»] class websocket_c2 c2 %% Conexiones user_execution –>|activa| delivery_zip delivery_zip –>|contiene| malicious_msi malicious_msi –>|ejecutado por| signed_logitech_installer signed_logitech_installer –>|lanza| logiai_exe logiai_exe –>|carga| sideloader_dll sideloader_dll –>|usa| flutter_framework sideloader_dll –>|empaquetado con| dotnet_reactor sideloader_dll –>|contiene| polymorphic_payload polymorphic_payload –>|evasión mediante| env_evasion env_evasion –>|incluye| locale_check logiai_exe –>|crea| scheduled_task logiai_exe –>|captura| screen_capture logiai_exe –>|registra teclas| keylogging logiai_exe –>|ejecuta| outlook_bot outlook_bot –>|realiza| phishing_action outlook_bot –>|realiza| email_bombing logiai_exe –>|establece| network_logon_script network_logon_script –>|conecta a| websocket_c2
Flujo de Ataque
Detecciones
Apagado Utilizado para Forzar la Detención o Reinicio del Sistema (vía línea de comando)
Ver
IOCs (HashSha256) para detectar: TCLBANKER: Troyano Bancario Brasileño Propagándose a través de WhatsApp y Outlook
Ver
IOCs (HashSha1) para detectar: TCLBANKER: Troyano Bancario Brasileño Propagándose a través de WhatsApp y Outlook
Ver
IOCs (SourceIP) para detectar: TCLBANKER: Troyano Bancario Brasileño Propagándose a través de WhatsApp y Outlook
Ver
IOCs (DestinationIP) para detectar: TCLBANKER: Troyano Bancario Brasileño Propagándose a través de WhatsApp y Outlook
Ver
Detección de Comunicación C2 de TCLBANKER [Conexión de Red de Windows]
Ver
Detección de Carga Lateral de DLL Maliciosa en la Campaña TCLBANKER [Creación de Procesos de Windows]
Ver
Ejecución de Simulación
Prerequisito: La Verificación de Telemetría y Base Debe Habr Sido Superada.
Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y buscan generar la telemetría exacta esperada por la lógica de detección. Los ejemplos abstractos o no relacionados conducirán a un diagnóstico incorrecto.
-
Narrativa del Ataque y Comandos:
- Colocar la DLL maliciosa – el atacante coloca una DLL maliciosa (
evil.dll) en el mismo directorio que el legítimoLogiAiPromptBuilder.exe. La DLL no está firmada y contiene la carga útil del troyano bancario. - Ejecutar el binario legítimo – el atacante ejecuta
LogiAiPromptBuilder.exedirectamente desde el Explorador (o una sesión de PowerShell), haciendo que el proceso cargue la DLL maliciosa a través del orden de búsqueda de DLL del sistema operativo (carga lateral). - Telemetría resultante – Sysmon/Event ID 1 registra una creación de proceso donde
Imagetermina conlogiaipromptbuilder.exeandParentImagetermina conexplorer.exe. Porque el padre está not en la lista de exclusión, la regla Sigma debería activarse.
- Colocar la DLL maliciosa – el atacante coloca una DLL maliciosa (
-
Script de Prueba de Regresión:
# ------------------------------------------------------------------------- # Simulación de carga lateral de DLL de TCLBANKER – PowerShell # ------------------------------------------------------------------------- # 1. Definir rutas (ajustar si se ejecuta en una estación de trabajo diferente) $logiPath = "$env:ProgramFilesLogitechLogiAiPromptBuilder.exe" $dllPath = "$env:ProgramFilesLogitechevil.dll" # 2. Crear una DLL maliciosa ficticia (con fines de demostración, solo una copia de Notepad) Write-Host "[+] Colocando DLL maliciosa (carga simulada)..." Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $dllPath -Force # 3. Ejecutar el binario legítimo (el padre será el proceso PowerShell actual) Write-Host "[+] Ejecutando LogiAiPromptBuilder.exe para activar la carga lateral..." Start-Process -FilePath $logiPath -PassThru | Wait-Process # 4. Opcional: Verificar que el proceso fue registrado (requiere acceso Sysmon/ELK) Write-Host "[+] Simulación completa. Verificar SIEM para detección." -
Comandos de Limpieza:
# ------------------------------------------------------------------------- # Limpieza para la simulación de TCLBANKER # ------------------------------------------------------------------------- $dllPath = "$env:ProgramFilesLogitechevil.dll" if (Test-Path $dllPath) { Write-Host "[+] Eliminando DLL maliciosa colocada..." Remove-Item -Path $dllPath -Force } Write-Host "[+] Limpieza completa."