TCLBANKER : Cheval de Troie Bancaire Brésilien Se Répandant via WhatsApp et Outlook
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport examine TCLBANKER, un nouveau cheval de Troie bancaire brésilien identifié qui abuse d’un installateur Logitech signé pour livrer une charge utile .NET malveillante. Le logiciel malveillant comprend un composant bancaire qui utilise des superpositions WPF pour cibler les sessions financières, ainsi que deux modules de type ver qui abusent de WhatsApp Web et de Microsoft Outlook pour se propager. La communication de commande et de contrôle est gérée via une infrastructure WebSocket de Cloudflare Workers, et le logiciel malveillant intègre une large gamme de techniques anti-analyse pour échapper à la détection et à l’investigation.
Enquête
Elastic Security Labs a analysé le paquet MSI malveillant, la méthode de chargement de DLL, le chargeur .NET et les deux modules de propagation. Les chercheurs ont récupéré des URL de commande et de contrôle, des clés API, des détails de persistance des tâches planifiées et une liste de 59 domaines bancaires brésiliens ciblés par le logiciel malveillant. Leur analyse a également documenté la logique anti-débogage, les méthodes d’évasion de sandbox et le comportement de surveillance conçu pour maintenir le logiciel malveillant actif et résilient.
Atténuation
Les défenseurs doivent bloquer l’exécution des installateurs non fiables, surveiller le chargement de DLL impliquant LogiAiPromptBuilder.exe, et appliquer des contrôles de privilège minimum aux environnements d’Outlook et de navigateur. Le contenu de détection doit également couvrir la tâche planifiée RuntimeOptimizeService. Les défenses réseau doivent bloquer les domaines Cloudflare Workers identifiés et l’adresse IP 191.96.224.96.
Réponse
Si TCLBANKER est détecté, isolez immédiatement le point de terminaison affecté, terminez les processus malveillants, supprimez la tâche planifiée et supprimez le répertoire %LocalAppData%LogiAI . Les enquêteurs doivent préserver les preuves judiciaires telles que les hachages DLL et le trafic de commande et de contrôle pour le partage de renseignements. Les identifiants Outlook et WhatsApp compromis doivent être réinitialisés, et l’environnement doit être surveillé pour détecter les tentatives de propagation supplémentaires.
graph TB classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef persistence fill:#ccccff classDef c2 fill:#ffdd99 user_execution[« <b>Action</b> – <b>T1204.002 Exécution par l’utilisateur</b><br/>La victime exécute le MSI malveillant après extraction du ZIP »] class user_execution action delivery_zip[« <b>Action</b> – <b>T1546.016 Exécution déclenchée par événement</b><br/>MSI malveillant livré dans un ZIP via un installateur Logitech signé »] class delivery_zip action malicious_msi[« <b>Malware</b> – MSI malveillant »] class malicious_msi malware signed_logitech_installer[« <b>Tool</b> – Installateur Logitech signé »] class signed_logitech_installer tool logiai_exe[« <b>Process</b> – LogiAiPromptBuilder.exe »] class logiai_exe process sideloader_dll[« <b>Malware</b> – DLL Flutter déguisée »] class sideloader_dll malware flutter_framework[« <b>Tool</b> – Flutter framework »] class flutter_framework tool dotnet_reactor[« <b>Tool</b> – .NET Reactor »] class dotnet_reactor tool polymorphic_payload[« <b>Malware</b> – Payload AES-256 »] class polymorphic_payload malware env_evasion[« <b>Action</b> – Évasion sandbox »] class env_evasion action locale_check[« <b>Action</b> – Vérification locale système »] class locale_check action scheduled_task[« <b>Persistence</b> – Tâche planifiée »] class scheduled_task persistence screen_capture[« <b>Action</b> – Capture écran »] class screen_capture action keylogging[« <b>Action</b> – Keylogging »] class keylogging action outlook_bot[« <b>Malware</b> – Bot Outlook »] class outlook_bot malware phishing_action[« <b>Action</b> – Phishing »] class phishing_action action email_bombing[« <b>Action</b> – Email bombing »] class email_bombing action network_logon_script[« <b>Action</b> – Script réseau »] class network_logon_script action websocket_c2[« <b>C2</b> – WebSocket server »] class websocket_c2 c2 user_execution –> delivery_zip delivery_zip –> malicious_msi malicious_msi –> signed_logitech_installer signed_logitech_installer –> logiai_exe logiai_exe –> sideloader_dll sideloader_dll –> flutter_framework sideloader_dll –> dotnet_reactor sideloader_dll –> polymorphic_payload polymorphic_payload –> env_evasion env_evasion –> locale_check logiai_exe –> scheduled_task logiai_exe –> screen_capture logiai_exe –> keylogging logiai_exe –> outlook_bot outlook_bot –> phishing_action outlook_bot –> email_bombing logiai_exe –> network_logon_script network_logon_script –> websocket_c2
Flux d’Attaque
Détections
Arrêt Utilisé Pour Forcer un Arrêt ou un Redémarrage du Système (via la ligne de commande)
Voir
IOCs (HashSha256) pour détecter : TCLBANKER : Cheval de Troie Bancaire Brésilien se Répandant via WhatsApp et Outlook
Voir
IOCs (HashSha1) pour détecter : TCLBANKER : Cheval de Troie Bancaire Brésilien se Répandant via WhatsApp et Outlook
Voir
IOCs (SourceIP) pour détecter : TCLBANKER : Cheval de Troie Bancaire Brésilien se Répandant via WhatsApp et Outlook
Voir
IOCs (DestinationIP) pour détecter : TCLBANKER : Cheval de Troie Bancaire Brésilien se Répandant via WhatsApp et Outlook
Voir
Détection de la Communication C2 de TCLBANKER [Connexion Réseau Windows]
Voir
Détection du Chargement de DLL Malveillantes dans la Campagne TCLBANKER [Création de Processus Windows]
Voir
Exécution de Simulation
Prérequis : La Vérification Pré-Vol des Télémetries et des Baselines doit avoir réussi.
Raison : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et viser à générer la télémetrie exacte attendue par la logique de détection. Des exemples abstraits ou non pertinents mèneront à un mauvais diagnostic.
-
Récit & Commandes de l’Attaque :
- Mettre en scène la DLL malveillante – l’attaquant place une DLL malveillante (
evil.dll) dans le même répertoire que leLogiAiPromptBuilder.exelégitime. La DLL n’est pas signée et contient la charge utile du cheval de Troie bancaire. - Exécuter le binaire légitime – l’attaquant exécute
LogiAiPromptBuilder.exedirectement depuis Explorer (ou une session PowerShell), provoquant le chargement du processus de la DLL malveillante via l’ordre de recherche de DLL de l’OS (chargement en douce). - Télémetrie résultante – Sysmon/Event ID 1 enregistre une création de processus où
Imagese termine parlogiaipromptbuilder.exeandParentImagese termine parexplorer.exe. Parce que le parent est not dans la liste d’exclusion, la règle Sigma devrait se déclencher.
- Mettre en scène la DLL malveillante – l’attaquant place une DLL malveillante (
-
Script de Test de Régression :
# ------------------------------------------------------------------------- # Simulation de chargement de DLL pour TCLBANKER – PowerShell # ------------------------------------------------------------------------- # 1. Définir les chemins (ajuster si l'exécution se fait sur un autre poste) $logiPath = "$env:ProgramFilesLogitechLogiAiPromptBuilder.exe" $dllPath = "$env:ProgramFilesLogitechevil.dll" # 2. Créer une DLL malveillante factice (pour démonstration, juste une copie de Notepad) Write-Host "[+] Mise en scène de la DLL malveillante (charge utile simulée)..." Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $dllPath -Force # 3. Lancer le binaire légitime (le parent sera le processus PowerShell courant) Write-Host "[+] Exécution de LogiAiPromptBuilder.exe pour déclencher le chargement en douce..." Start-Process -FilePath $logiPath -PassThru | Wait-Process # 4. Optionnel : Vérifier que le processus a été enregistré (requiert l'accès à Sysmon/ELK) Write-Host "[+] Simulation terminée. Vérifiez le SIEM pour la détection." -
Commandes de Nettoyage :
# ------------------------------------------------------------------------- # Nettoyage pour la simulation de TCLBANKER # ------------------------------------------------------------------------- $dllPath = "$env:ProgramFilesLogitechevil.dll" if (Test-Path $dllPath) { Write-Host "[+] Suppression de la DLL malveillante mise en scène..." Remove-Item -Path $dllPath -Force } Write-Host "[+] Nettoyage terminé."