Ousaban est un cheval de Troie bancaire latino-américain actif exclusivement au Brésil. ESET suit cette famille de logiciels malveillants depuis 2018. Comme la plupart des autres chevaux de Troie bancaires ciblant l'Amérique latine, Ousaban utilise des fenêtres superposées pour voler des informations d'identification et plus encore auprès des institutions financières. Cependant, contrairement à la plupart des autres chevaux de Troie bancaires d'Amérique latine, les développeurs d'Ousaban ont étendu l'utilisation des fenêtres superposées pour voler les informations d'identification des services de messagerie régionaux populaires. Dans ce volet de notre série, nous examinons ses principales caractéristiques et ses nombreux liens avec d'autres familles de chevaux de Troie bancaires d'Amérique latine.

Caractéristiques

Ousaban est rédigé en Delphi, comme la grande majorité des autres chevaux de Troie bancaires latino-américains analysés par ESET. Et, comme beaucoup d'entre eux, Ousaban montre des signes de développement actif et continu.

Le nom attribué par ESET à cette famille est un mot-valise composé de deux mots : « ousadia », qui signifie « audace » en portugais, et « cheval de Troie bancaire ». La raison d’être du choix de ce nom découle du fait que pendant longtemps, Ousaban a été distribué avec les images (dont certaines sont obscènes) présentées dans la Figure 1. Dans les campagnes les plus récentes distribuant Ousaban, ce n'est plus le cas.

Figure 1. Différentes images distribuées avec le cheval de Troie bancaire Ousaban

Ousaban est également connu sous le nom de Javali, un nom attribué par Kaspersky. Un article récent sur Ousaban est disponible ici. ESET a également été en mesure d'attribuer Ousaban aux campagnes décrites dans cet article de 2018. Même si certaines sources affirment qu'Ousaban est actif en Europe, ESET n'a jamais observé de campagne diffusant ce cheval de Troie bancaire en dehors du Brésil.

Ousaban protège ses exécutables avec les obfuscateurs binaires Themida ou Enigma. En outre, la plupart des EXE sont agrandis, à l'aide d'un remplissage binaire, jusqu'à environ 400 Mo, probablement afin d'échapper à la détection et au traitement automatisé.

La plupart des variantes récentes d'Ousaban contiennent une table de chaînes de caractères, stockée dans leurs sections .rsrc. L'une des ressources contient une liste de chaînes compressée en zlib et délimitée par des caractères de nouvelle ligne.

Ses capacités de porte dérobée sont très similaires à celles d'un cheval de Troie bancaire latino-américain typique : simulation des actions de la souris et du clavier et enregistrement des frappes. Les dernières variantes communiquent avec les serveurs C&C en utilisant RealThinClient, un protocole également utilisé par Grandoreiro.

Le cheval de Troie bancaire latino-américain typique attaque les utilisateurs d'institutions financières à l'aide de fenêtres superposées conçues spécifiquement pour ses cibles et Ousaban ne fait pas exception. Ousaban ne fait pas exception à la règle. Fait à noter : ses cibles incluent plusieurs services de messagerie pour lesquels il dispose également de fenêtres superposées, comme le montre la Figure 2.

Figure 2. Conception d'une fenêtre superposée pour le service de messagerie UOL

Pour assurer la persistance, Ousaban crée un fichier LNK ou un simple chargeur VBS dans le dossier de démarrage, ou bien il modifie la clé de registre Windows Run.

Distribution et exécution

Ousaban est distribué principalement par le biais d'e-mails de phishing (comme celui de la Figure 3). L'acteur de la menace qui se cache derrière Ousaban passe par plusieurs chaînes de distribution. Ces chaînes partagent certaines caractéristiques communes, notamment :

  • Le chargement latéral de DLL est utilisé pour exécuter une charge utile binaire
  • Les archives CAB sont parfois utilisées à la place des archives ZIP
  • Un fichier de configuration distribué dans une archive à une étape est requis par l'étape suivante.
  • Un injecteur, propre à Ousaban, peut être utilisé.

Figure 3. Spam récent distribuant Ousaban (une traduction anglaise approximative est affichée à droite)

MSI avec JavaScript

Cette chaîne de distribution, illustrée à la Figure 4, est assez simple. La victime est incitée à exécuter un MSI joint à l'e-mail de phishing. Une fois exécuté, le MSI lance un téléchargeur JavaScript intégré qui télécharge une archive ZIP et en extrait le contenu. Il exécute ensuite l'application légitime, qui charge latéralement le cheval de Troie bancaire Ousaban.

Figure 4. Chaîne de distribution simple d'Ousaban

MSI multi-étapes

ESET a récemment observé une nouvelle chaîne de distribution propageant massivement Ousaban. Elle est beaucoup plus compliquée que celle décrite ci-dessus. L'ensemble du processus est illustré dans la figure 5.

Les deux premières étapes sont presque identiques. Dans les deux cas, le cœur de l'étape est contenu dans une archive (ZIP ou CAB) et contient :

  • Une application légitime
  • Un injecteur chiffré
  • Un téléchargeur chiffré
  • Un fichier de configuration chiffré
  • Des fichiers légitimes

L'application légitime, une fois exécutée, charge latéralement l'injecteur. L'injecteur localise, déchiffre et exécute le téléchargeur. Le téléchargeur déchiffre le fichier de configuration pour obtenir une URL menant à une configuration distante. La configuration distante contient une URL menant à l'archive de l'étape suivante. Le téléchargeur télécharge l'archive de l'étape suivante, extrait son contenu et exécute l'application légitime.

La dernière étape est légèrement différente, car elle déchiffre et exécute le véritable cheval de Troie bancaire Ousaban au lieu d'un téléchargeur. Le troisième fichier de configuration mène à une configuration à distance avec l'adresse IP et le port du serveur C&C. L'archive de la dernière étape contient un autre fichier lié au logiciel malveillant : un module de support qui modifie divers paramètres de la machine de la victime. Enfin, les archives des trois étapes comprennent des fichiers supplémentaires - un seul exécutable légitime dans l'archive de la première étape, 14 fichiers légitimes dans l'archive de la deuxième étape et 13 fichiers légitimes dans l'archive de la troisième étape, plus une archive intégrée contenant 102 autres fichiers légitimes.

Figure 5. La chaîne de distribution complexe d'Ousaban

Module de support

  • Le module contient les binaires de RDPWrap dans sa section .rsrc. Il modifie ensuite les paramètres RDP directement dans le registre Windows à l'emplacement suivant :HKLM\SYSTEM\CurrentControlSet\Services\TermService\
  • Modifie les paramètres RDP pour utiliser RDPWrap, un utilitaire permettant d'autoriser des connexions RDP multiples aux éditions Familiales du système d'exploitation Windows;
  • Modifie les paramètres du pare-feu pour autoriser toutes les connexions RDP;
  • Création d'un nouveau compte avec des privilèges administratifs.

Ousaban charge ce module pour faciliter la connexion de l'acteur de la menace à la machine de la victime. Il s'agit principalement de :

  • HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\

Le module utilise ensuite netsh.exe pour modifier le pare-feu Windows afin d'autoriser tout le trafic TCP et UDP dirigé vers le port 3389, le port standard pour RDP. Enfin, il crée un nouveau compte Administrat0r avec des privilèges administratifs. Nous supposons que l'acteur de la menace souhaite disposer d'un deuxième moyen d'accéder à la machine de la victime. Il n'est alors pas limité par les capacités du cheval de Troie bancaire Ousaban et peut réaliser n'importe quelle activité malveillante.

Cryptographie

Ousaban utilise globalement trois schémas cryptographiques. Ses chaînes sont chiffrées à l'aide d'un algorithme utilisé par la grande majorité des chevaux de Troie bancaires latino-américains que nous avons analysés (nous l'avons déjà décrit en détail ici). Toutes les communications entre Ousaban et son serveur C&C sont chiffrées à l'aide du chiffrement standard AES avec une clé codée en dur.

L'algorithme final est utilisé dans l'injecteur spécifique à cette famille, mentionné précédemment. Nous fournissons une implémentation Python dans la Figure 6.

def decrypt(data, key):
	data_dec = str()
	key_len = len(key)
	for i, c in enumerate(data):
		if i % 2 != 0:
			data_dec += chr(key[i % key_len ^ c ^ ((key_len - (i & key_len)) & 0xFF)])
		else
			data_dec += chr(key[i % key_len] ^ c ^ (i & 0xFF))

	return data_dec

Figure 6. Algorithme utilisé par l'injecteur d'Ousaban pour déchiffrer ses charges utiles

Configuration à distance

Ousaban s'appuie sur la configuration à distance pour obtenir les URL de ses prochaines étapes ainsi que l'adresse et le port C&C à utiliser. Ousaban avait l'habitude de stocker sa configuration à distance sur YouTube, comme Casbaneiro, mais depuis peu, il utilise plutôt Google Docs.

La configuration distante est au format JSON, les valeurs étant chiffrées par le même algorithme que celui utilisé pour les chaînes de caractères, mais avec une clé différente. Les champs ont la signification suivante :

  • host = domaine C&C
  • link = URL de l'étape suivante
  • porta = port C&C ou 0 (le port HTTP 80 par défaut est alors utilisé)
  • vers = version d'Ousaban

Des exemples de la configuration à distance sont fournis dans la Figure 7 et la Figure 8.

Figure 7. Configuration à distance d'Ousaban sur YouTube

Figure 8. Configuration à distance d'Ousaban sur Google Docs

Similitudes avec d'autres chevaux de Troie bancaires d’Amérique latine

Nous avons déjà mentionné certaines similitudes entre Ousaban et d'autres chevaux de Troie bancaires latino-américains précédemment analysés dans cette série (comme le même algorithme de déchiffrement de la chaîne). Au cours de notre analyse, nous avons découvert des liens supplémentaires avec les autres familles, principalement :

  • Certains téléchargeurs d'Ousaban contiennent le même code d'obfuscation de chaîne qu'Amavaldo;
  • Ousaban a été distribué par les mêmes publicités malveillantes que Mispadu dans le passé;
  • Les fichiers JavaScript qu'il utilise sont similaires à ceux de Vadokrist, Mekotio, Casbaneiro et Guildma;
  • Les fichiers PowerShell qu'il utilise occasionnellement pour la distribution (en dehors des méthodes récentes décrites dans ce billet) sont similaires à Amavaldo, Casbaneiro et Mekotio.

Nous avons analysé en profondeur la coopération étroite et intéressante entre ces familles de logiciels malveillants dans notre white paper présenté à la conférence Virus Bulletin 2020.

Conclusion

Dans ce volet de notre série, nous avons étudié Ousaban, un cheval de Troie bancaire latino-américain ciblant uniquement le Brésil. Cette famille de logiciels malveillants est active depuis au moins 2018 et partage des caractéristiques typiques de ce type de menace - elle est écrite en Delphi, contient des fonctionnalités de porte dérobée et attaque en utilisant des fenêtres superposées.

Nous avons couvert ses caractéristiques les plus typiques, ses méthodes de distribution et d'exécution et la structure de sa configuration à distance. Nous avons également découvert plusieurs pistes qui suggèrent que Ousaban est lié à d'autres chevaux de Troie bancaires latino-américains.

Pour toute question, contactez-nous à l'adresse threatintel@eset.com. Les indicateurs de compromission peuvent également être consultés dans notre dépôt GitHub.

Indicateurs de compromission (IoCs)

Hashes

SHA-1 Description ESET detection name
C52BC5B0BDFC7D4C60DF60E88835E3145F7FB34F Ousaban banking trojan Win32/Spy.Ousaban.G
D04ACFAF74861DDC3B12E75658863DA65C03013F Ousaban JS downloader JS/TrojanDownloader.Banload.AAP
9A6A4BF3B6E974E367982E5395702AFF8684D500 Ousaban JS downloader JS/TrojanDownloader.Banload.AAP
3E8A0B6400F2D02B6B8CD917C279EA1388494182 Ousaban MSI downloader Win32/Spy.Ousaban.W
6946BFB8A519FED8EC8C30D9A56619F4E2525BEA Ousaban injector Win32/Spy.Ousaban.W
E5DD2355E85B90D2D648B96C90676604A5C3AE48 Ousaban support module Win32/Spy.Ousaban.AB

Applications légitimes abusées

Example SHA-1 EXE name DLL name
BA5493B08354AEE85151B7BBD15150A1C3F03D1D Avira.SystrayStartTrigger.exe Avira.OE.NativeCore.dll
7F6C820B00FC8C628E2420C388BBB9096A547DAA AudioGrabber.exe StarBurn.dll
C5D5CF1B591C40344B20370C5EE5275356D312EC PlGen.exe bass_fx.dll
53045B8047CED049BBC7EBCB3D3299D2C465E8B9 BlazeDVD.exe SkinScrollBar.dll
A6118D354D512DC29965E368F6C78AA3A42A27AD ImageGrabber.exe StarBurn.dll
F9C71277CF05738275261D60A9E938CBA7232E0D nvsmartmaxapp.exe nvsmartmax.dll

URLs des fichiers de configuration récents

https://docs.google[.]com/document/d/1o9MlOhxIJq9tMOuUHJiw2eprQ-BGCA_ERnbF54dZ25w/edit
https://docs.google[.]com/document/d/1nQqifeYFsCcI7m-L1Y1oErkp50c-y670nfk7NTKOztg/edit
https://docs.google[.]com/document/d/13A6EBLMOOdvSL3u6IfyrPWbYREXNRVdDTiKzC6ZQx7U/edit
https://docs.google[.]com/document/d/1UiuqrzI_rrtsJQHqeSkp0sexhwU_VSje8AwS-U6KBPk/edit
https://docs.google[.]com/document/d/1VKxF3yKbwQZive-ZPCA4dAU1zOnZutJxY2XZA0YHa3M/edit
https://docs.google[.]com/document/d/19bXTaiFdY5iUqUWXl92Js7i9RoZSLJqcECgpp_4Kda4/edit
https://docs.google[.]com/document/d/1DDDmJzBVcNWhuj8JMRUVb7JlrVZ5kYBugR_INSS96No/edit
https://docs.google[.]com/document/d/1UbfOcHm-T9GCPiitqDRh5TNwZRNJ8_miEpLW-2ypU-I/edit
https://docs.google[.]com/document/d/1d1903AvDBYgOo0Pt9xBBnpCHwSerOpIi4l1b6M4mbT4/edit
https://docs.google[.]com/document/d/1JLuJKoxcd0vRqut8UeBjFJXzMDQ9OiY2ItoVIRq6Gw8/edit
https://docs.google[.]com/document/d/1EOwVDlYPV3gE7PSnLZvuTgUQXvOSN9alyN5aMw7bGeI/edit
https://docs.google[.]com/document/d/18sc6rZjk529iYF2iBTsmuNXvqDqTBSH45DhSZpuLv_U/edit

Techniques MITRE ATT&CK

Note : Ce tableau a été réalisé basé sur la version 8 de MITRE ATT&CK.

Tactic ID Name Description
Resource Development T1583.001 Acquire Infrastructure: Domains Ousaban operators register domains to be used as C&C servers.
T1587.001 Develop Capabilities: Malware Ousaban is operated by the same group that develops it.
Initial Access T1566.001 Phishing: Spearphishing Attachment Ousaban’s initial downloader is most commonly distributed as a spam attachment.
Execution T1059.001 Command and Scripting Interpreter: PowerShell Ousaban uses PowerShell in some distribution chains.
T1059.003 Command and Scripting Interpreter: Windows Command Shell Ousaban uses the cmd.exe to execute the legitimate applications that side-load the main Ousaban payload.
T1059.007 Command and Scripting Interpreter: JavaScript/JScript Ousaban uses JavaScript in some distribution chains.
T1204.002 User Execution: Malicious File Ousaban relies on the victim to execute the distributed MSI file.
Persistence T1098 Account Manipulation Ousaban registers a new local administrator account on the victim’s machine.
T1547.001 Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder Ousaban achieves persistence using the Run key or startup folder.
Defense Evasion T1140 Deobfuscate/Decode Files or Information Ousaban payloads and strings are encrypted.
T1574.002 Hijack Execution Flow: DLL Side-Loading Ousaban is often executed by this technique.
T1562.001 Impair Defenses: Disable or Modify Tools Ousaban modifies the RDP settings of the victim’s machine.
T1562.004 Impair Defenses: Disable or Modify System Firewall Ousaban modifies Windows firewall settings.
T1027.001 Obfuscated Files or Information: Binary Padding Ousaban frequently uses binary padding.
T1027.002 Obfuscated Files or Information: Software Packing Ousaban binaries are protected by Themida or Enigma packers.
T1218.007 Signed Binary Proxy Execution: Msiexec Ousaban uses the MSI format for execution.
Credential Access T1056.001 Input Capture: Keylogging Ousaban can capture keystrokes.
Discovery T1010 Application Window Discovery Ousaban looks for bank- and email-related windows based on their window names and titles.
T1518.001 Software Discovery: Security Software Discovery Ousaban collects information about the security software installed on the victim’s machine.
T1082 System Information Discovery Ousaban collects basic information about the victim’s machine, such as computer name and Windows version.
T1113 Screen Capture Ousaban can take screenshots.
Command and Control T1132.002 Data Encoding: Non-Standard Encoding Ousaban uses RealThinClient that provides non-standard encryption.
T1219 Remote Access Software Ousaban installs RDPWrap on the victim’s machine.
Exfiltration T1041 Exfiltration Over C2 Channel Ousaban exfiltrates data via C&C server.