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.
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.
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.
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.
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.
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. |