Analyse de malwares

Recherche sur les menaces et analyse des logiciels malveillants

Nouveau outil !

ExeScope - outil d'analyse statique (web)

Testez en ligne mon nouvel outil d'analyse statique. Traitement local dans votre navigateur : vos fichiers ne quittent pas votre machine. Fonctions : hachages, strings, entropie, sections, imports, signatures, IoC.

Confidentialité Export JSON / HTML PE • ELF • Script
PANORAMA

Qu'est-ce qu'un malware ?

Un malware peut se définir comme un logiciel malveillant, les malwares regroupent tous les types de logiciels malveillants. Il existe une quantité phénoménale de programmes indésirables. Tous ces programmes portent le nom générique de "malware". Mais sous cette appellation se cache des familles bien différentes les unes des autres. Nous allons les détailler par classe.

Spyware

Spywares

Un logiciel espion est un type de malware qui espionne l'activité des utilisateurs à leur insu. Ces fonctions d'espionnage peuvent inclure la surveillance des activités, la collecte de frappes au clavier, la collecte de données (informations de compte, connexions, données financières), etc. Les logiciels espions disposent souvent de fonctionnalités supplémentaires, allant de la modification des paramètres de sécurité des logiciels ou des navigateurs aux interférences avec les connexions réseaux. Les logiciels espions se propagent en exploitant des vulnérabilités logicielles, en s'associant avec des logiciels légitimes ou sous des chevaux de Troie.

Keylogger

Keyloggers

Il enregistre tout ce que vous tapez sur votre PC afin de récupérer vos noms de connexion, mots de passe et autres informations sensibles pour ensuite les envoyer à l'attaquant. Souvent, les entreprises et les parents utilisent des filtres parentaux pour obtenir des informations d'utilisation de l'ordinateur par exemple. C'est exactement le même principe de fonctionnement si ne c'est que le keylogger est invisible à tous.

Adware

Adware

Parmi les moins dangereux, Adware est un type de malware qui diffuse automatiquement des publicités. Les exemples courants d'adware incluent les annonces contextuelles sur les sites Web et les annonces affichées par les logiciels. Souvent, les logiciels et les applications offrent des versions « gratuites » livrées avec un logiciel publicitaire. La plupart des logiciels publicitaires sont sponsorisés ou créés par des annonceurs et constituent un outil générateur de revenus. Certains logiciels publicitaires sont uniquement conçus pour diffuser des publicités, mais il n'est pas rare qu'ils soient livrés avec un logiciel espion capable de suivre l'activité des utilisateurs et de voler des informations.

Downloader

Downloaders

Ce malware se présente en général sous la forme d'un petit exécutable. Une fois exécuté sur votre machine il va analyser votre système, vos protections et selon ce qu'il trouve, va se connecter sur un site web, FTP, IRC, etc. De ce site, il va télécharger un autre programme, en général beaucoup plus agressif, tel un cheval de Troie ou un Rootkit.

Virus

Virus

Un virus est une forme de malware capable de se copier et de se propager sur d'autres ordinateurs. Les virus se propagent souvent à d'autres ordinateurs en se liant à divers programmes et en exécutant du code lorsqu'un utilisateur lance l'un de ces programmes infectés. Les virus peuvent également se propager par le biais de fichiers de script, de documents et de vulnérabilités de script intersite dans des applications Web. Les virus peuvent être utilisés pour voler des informations, endommager les ordinateurs hôtes et les réseaux, créer des réseaux de zombies, voler de l'argent, afficher des publicités, etc.

Ver

Vers

Les vers informatiques font partie des types de logiciels malveillants les plus courants. Ils se propagent sur les réseaux informatiques en exploitant les vulnérabilités du système d'exploitation. Les vers endommagent généralement leurs réseaux hôtes en consommant de la bande passante et en surchargeant les serveurs Web. Les vers informatiques peuvent également contenir des « charges » « utiles » qui endommagent les ordinateurs hôtes. Les données utiles sont des morceaux de code écrits pour effectuer des actions sur les ordinateurs affectés, au-delà de la simple propagation du ver. Les charges utiles sont généralement conçues pour voler des données, supprimer des fichiers ou créer des botnets. Les vers informatiques peuvent être classés comme un type de virus informatique, mais plusieurs caractéristiques distinguent les vers informatiques des virus classiques. Une différence majeure réside dans le fait que les vers informatiques ont la capacité de se répliquer et de se propager indépendamment, tandis que les virus dépendent de l'activité humaine pour se propager (exécution d'un programme, ouverture d'un fichier, etc.). Les vers se propagent souvent en envoyant des courriels contenant des pièces jointes infectées aux contacts des utilisateurs. Les chevaux de Troie (Trojan) et portes dérobées (Backdoor).

Trojan

Cheval de Troie

Un cheval de Troie, communément appelé « RAT » pour (Remote Access Tools) ou « Trojan », est un type de malware qui se déguise en un fichier ou un programme normal pour inciter les utilisateurs à télécharger et à installer un malware. Un cheval de Troie peut donner à un tiers malveillant un accès à distance à un ordinateur infecté. Une fois qu'un attaquant a accès à un ordinateur infecté, il peut voler des données (identifiants de connexion, données financières, même de la monnaie électronique), installer, modifier des fichiers, surveiller l'activité des utilisateurs (surveillance de l'écran, webcam, enregistrement de frappe, etc.), utiliser l'ordinateur dans les réseaux de zombies et anonymiser l'activité Internet de l'attaquant. Ce Malware est l'un des plus dangereux et répondu avec les « rootkit ».

Backdoor

Backdoors

Les portes dérobées ressemblent beaucoup aux chevaux de Troie ou aux vers, à la différence qu'elles ouvrent une « porte dérobée » sur un ordinateur, fournissant ainsi une connexion réseau aux hackers ou autres logiciels malveillants à saisir ou aux virus ou au SPAM à envoyer.

Rootkit

Rootkits

C'est le logiciel malveillant le plus difficile à détecter et donc à supprimer ; de nombreux experts recommandent d'effacer (formater) complètement votre disque dur et de tout réinstaller à partir de zéro. Un rootkit est un type de logiciel malveillant conçu pour accéder ou contrôler à distance un ordinateur sans être détecté par les utilisateurs ou les programmes de sécurité. Une fois le rootkit installé, il est possible pour la partie malveillante située derrière le rootkit d'exécuter à distance des fichiers, d'accéder / de voler des informations, de modifier les configurations du système, de modifier des logiciels (en particulier tout logiciel de sécurité pouvant détecter le rootkit), d'installer des logiciels malveillants dissimulés ou de contrôler l'ordinateur en tant que partie d'un botnet. La prévention, la détection et l'élimination des rootkits peuvent être difficiles en raison de leur fonctionnement furtif. Parce qu'un rootkit cache continuellement sa présence, les produits de sécurité typiques ne sont pas efficaces pour détecter et les supprimer. En conséquence, la détection de rootkit repose sur des méthodes manuelles, telles que la surveillance du comportement de l'ordinateur en cas d'activité irrégulière, l'analyse de signature et l'analyse de vidage de stockage. Les organisations et les utilisateurs peuvent se protéger des rootkits en corrigeant régulièrement les vulnérabilités des logiciels, des applications et des systèmes d'exploitation, en mettant à jour les définitions de virus, en évitant les téléchargements suspects et en effectuant des analyses statiques.

Flooder

Flooders

Distributed Denial of Service (DDOS), désigne l'attaque d'un ou de plusieurs systèmes compromis contre une cible, ce qui provoque une inondation de messages entrants, et qui accable le système et provoque son arrêt. Ces programmes passent souvent par une phase de contamination (installation sur le plus de machines possibles) avant la phase d'attaque proprement dite. Cette attaque est beaucoup utilisée contre les sites web.

Ransomware

Ransomwares

En 2012 est apparu un nouveau type de malwares : les Ransomwares. Ransomware est une forme de malware qui détient essentiellement un système informatique tout en exigeant une rançon. Le logiciel malveillant restreint l'accès des utilisateurs à l'ordinateur en chiffrant des fichiers sur le disque dur ou en verrouillant le système et en affichant des messages destinés à obliger l'utilisateur à payer son créateur pour supprimer les restrictions et retrouver l'accès à son ordinateur. Les ransomwares se propagent généralement comme un ver informatique normal se retrouvant sur un ordinateur via un fichier téléchargé ou via une autre vulnérabilité d'un service réseau. Les ransomwares les plus connus sont Cryptolocker, Crytowall, TeslaCrypt et Wannacry. Mais une multitude de variantes existe.

Faux antivirus

Rogue security software

Il trompe les utilisateurs. Il prétend être un bon programme pour éliminer les infections par les logiciels malveillants, mais reste le logiciel malveillant. Souvent, le véritable logiciel antivirus sera désactivé. L'image suivante montre l'écran typique de ce logiciel malveillant, antivirus 2010.

Conclusion: Plusieurs millions de malwares sont ainsi recensés. La plupart affectent le monde Windows. Depuis quelques années, nous observons que la majorité des malwares récents sont en fait une combinaison des différentes familles. Par exemple, le malware "Kelvir.B" se propage par MSN, télécharge et installe une variante du Virus SpyBot qui lui permet de prendre la main à distance de votre poste et se propage par mail. Cette multiplicité des agents infectueux qui se répandent par tous les protocoles possibles, fait des malwares un facteur de risque élevé pour tout ordinateur ayant accès à Internet.

Les techniques d'analyse

L'analyse des logiciels malveillants permet de déterminer leurs fonctionnements et leurs impacts potentiels

Analyse statique

Analyse statique

L'objectif est ici de récupérer le maximum d'informations sans exécuter le malware. L'analyste va identifier les chaines de caractères utilisées par le programme, analyser les metadata et utiliser un désassembleur pour analyser le code.

Analyse dynamique

Analyse dynamique

Contrairement à l'analyse statique, l'analyse dynamique vise à exécuter le malware pour comprendre son comportement. Il s'agit d'observer les interactions du malware avec le système dans un environnement sécurisé et isolé.

Analyse forensique

Analyse forensique

L'analyse forensique a pour objectif l'investigation numérique. Le processus permet de préserver toute preuve dans sa forme la plus originale tout en menant une enquête structurée en collectant, identifiant et en validant les informations numériques.

Obfuscation

« Cachez ce code que je ne saurais voir »

À l’origine, l'obfuscation de code a pour objectif de protéger vos codes sources en les rendant illisibles aussi bien pour un être humain qu'un décompilateur. Obfusqué (dans le contexte d'un logiciel) est une technique qui rend les données binaires et textuelles illisibles et / ou difficiles à comprendre.

La plupart des malwares actuels veulent rester cachés afin d'empêcher leur suppression et leur analyse. Les malwares y parviennent en recourant à de nombreuses techniques. Par exemple en utilisant des noms de fichiers obfusqués, en modifiant les attributs du programme, ou dans des cas plus avancés en masquant les processus en cours et les connexions réseau.

Exemple de chaîne de caractères :

Exemple encodage

Exemple de programme Obfusqué :

1. Le code de la fonction n'est pas obfusqué:

Code non obfusqué

Figure 1: Cette fonction collecte des informations sur votre ordinateur et les envoie sur un site web.

2. Le code de la fonction est obfusqué:

Code obfusqué

Figure 2: Le code d'origine n'a plus rien à voir, on peut que faire des suppositions sur ce qu'il est censé faire.

Méthode 1: L'exclusivité ou l'opération (XOR)
L'exclusivité ou opération (représentée par XOR) est probablement la méthode d'obfuscation la plus couramment utilisée. En effet, il est très facile à mettre en œuvre et cache facilement vos données à des yeux non avertis.

Méthode 2: ROT13
La plus simple des deux techniques couramment utilisées est la ROT13. ROT13 utilise la substitution de lettre simple pour obtenir une sortie obfusquée.

ROT13

Conclusion
Les techniques d'obfuscation deviennent très compliquée et changent constamment. L'obfuscation est une technique extrêmement fiable qui permet de masquer une partie du contenu d'un programme, voire même l'ensemble du programme s'il utilise un logiciel de compression «packer».

Encryption

Labs

« Environnement pour l'analyse »

Pourquoi avez-vous besoin d'un laboratoire d'analyse de logiciels malveillants et comment le construire ?

Idéalement, nous voulons un environnement isolé sur lequel nous pourrons gérer nos fichiers potentiellement très dangereux. Nous voulons pouvoir voir sa communication réseau, sans alerter les concepteurs du malware. Être en mesure de voir ce qui est modifié sur le système d'exploitation, de vérifier les modifications du registre, les modifications de fichiers, la création de processus, etc.

Par ailleurs, certains malwares sophistiqués sont capables de détecter une solution de virtualisation pour modifier leur comportement ou cesser de s'exécuter pour empêcher toute analyse.

Un excellent moyen d'en savoir plus sur les logiciels malveillants est de créer votre propre laboratoire personnel et de jouer avec des échantillons de logiciels malveillants dans cet environnement. Cela peut être un projet amusant et éducatif même si vous n'êtes pas un professionnel d'InfoSec. Si vous êtes un professionnel d'InfoSec, ce que vous apprendrez dans votre laboratoire à la maison pourrait vous aider à faire votre travail plus efficacement.

Comme vous pouvez l'imaginer, il n'existe pas une solution unique toute faîte. Vous devrez déterminer ce qui vous convient le mieux. Le processus de création de votre propre laboratoire d'analyse de logiciels malveillants commence par déterminer vos besoins et de la configuration de celui-ci.

En dépit de vos besoins spécifiques sur les machines d'analyse, il sera très important que vous disposiez de systèmes dédiés avec des outils pour contrôler, analyser et protéger votre environnement, même s'il est virtualisé. Le prochain grand choix auquel vous êtes confronté est le système d'exploitation à installer en tant que système invité pour votre laboratoire.

D'après mon expérience, la majorité des logiciels malveillants vise des systèmes Windows. Inutile de dire que la plupart des logiciels malveillants sont conçus pour s'exécuter sur des systèmes Windows, vous voudrez donc probablement choisir cette option.

Ma suggestion serait Windows XP SP2 et / ou Windows 7 comme base. Cela vous permettra d'exécuter la majorité des échantillons malveillants que vous rencontrerez et vous assurera de couvrir toutes les plates-formes Windows pour les analyser. La majorité des échantillons sont des fichiers exécutables. Cependant, lorsqu'il s'agit d'attaques de logiciels malveillants à l'état sauvage, vous pouvez être confronté à un code malveillant enveloppé dans des formats de fichier légitimes. Cela peut inclure, sans toutefois s'y limiter, les documents Microsoft Office et les fichiers PDF. Pour analyser ce que ces documents malveillants font sur un système, vous devez installer des versions vulnérables du logiciel requis.

Exemple d'une machine virtuel :

1. Interface Oracle VM VirtualBox:

VirtualBox

Figure 1: 3 machines virtuels installées sur cette interface. 1 Windows XP, 1 Windows7 et 1 windows 10.

Je ne m'attarde pas ici sur l'installation et la configuration d'une machine virtuel. Il existe sur internet une multitude d'excellent tutoriels à cet effet. Attention toute fois à la configuration du réseaux dans la machine virtuel. Cette étape est très importante! Il y a différente façon de configurer son réseau pour l'analyse de malwares. Après ça dépend beaucoup comment vous voulez récupérer les trames (packet) sur votre réseau. Vous pouvez utiliser une autre machine virtuel avec un logiciel qui fait office de passerelle et router tous le traffic dessus. Ou alors un logiciel qui simule un serveur DNS par exemple. Nous verrons plus en détail cette étape dans le cas pratique.

2. La machine virtuel lancée avec Windows 7:

Windows 7 VM

Figure 2: Windows 7 installé avec tous les programmes et mise à jour effectuées.

Une fois Windows ainsi que tous vos tools pour l'analyse des malwares installé, vous devez prendre un instantané en cliquant sur « Machine » / « Prendre un instantané... ». Cela va créer une image de l'état actuel de la machine virtuelle afin que vous puissiez revenir plus tard ou créer de nouvelles machines virtuelles à partir de la même image. Un instantané revient à créer une copie du contenu du disque dur et de la RAM de votre ordinateur virtuel. Lorsque vous « restaurer » un instantané, cela revient à écraser le disque dur et la RAM avec les données sauvegardées lors de l'instantané. Vous devez faire cette opération après chaque analyse de malwares.

3. Rétablir l'instantané de la machine virtuel:

VM Snapshot

Figure 3: Cette opréation annule les modifications et bien sûr les infections par logiciels malveillants survenues après la prise de l'instantané.

Une fois l'installation terminée, il est vivement recommandé de basculer les paramètres réseau de la machine virtuelle sur le mode hôte uniquement afin d'éviter que des échantillons de logiciels malveillants ne se connectent accidentellement à Internet ou à un réseau local.

Vous êtes prêt, vous pouvez choisir n'importe quel échantillon, allumer vos machines et commencer à vous familiariser avec les outils, les systèmes et votre nouvel environnement.

Si vous ne savez pas quels outils installer, allez faire un tour sur la section « Link » du site. Sinon, il y a l'excellent FLARE VM de la société fireeye. C'est une distribution spécialement conçue pour l'analyse de malwares.

FLARE VM de Peter Kacherginsky reverse engineer dans l’équipe FLARE est une distribution de sécurité basée sur Windows, open source, conçue pour les ingénieurs en reverse engineering, les analystes de logiciels malveillants, les intervenants en cas d'incident, les experts judiciaires et les testeurs d'intrusion. Inspiré des distributions de sécurité basées sur Linux et open source telles que Kali Linux, REMnux et autres, FLARE VM fournit une plate-forme entièrement configurée avec une collection complète d'outils de sécurité Windows tels que des débogueurs, des désassembleurs, des décompilateurs, des utilitaires d'analyse statique et dynamique, des analyses de réseau et manipulation, évaluation Web, exploitation, applications d'évaluation de la vulnérabilité, et bien d'autres. La distribution inclut également les outils d'analyse des logiciels malveillants publics de l'équipe FLARE, tels que FLOSS et FakeNet-NG. Moi personnellement je l'ai adoptée et vous ?

Vous cherchez une bonne série d'exemples d'échantillon pour commencer, je vous recommanderais theZoo, un dépôt Github avec plus de 170 échantillons de familles différentes à regarder. Attention, il s'agit de malwares fonctionnels et dangereux! Donc, assurez-vous de bien le gérer. Bonne chasse !

Cas pratique

« Où es-tu ? Et qui es-tu vraiment ? »

Avertissement: Cyber-Analysis et son auteur, ne peut en aucun cas être tenu responsable d'une quelconque action ou d'un quelconque dommage résultant de l'utilisation des informations contenues sur ce site. Ces références sont fournies uniquement à titre informatif.

Pour ce premier cas pratique, je voulais vous sensibiliser sur l'utilisation grandissante de logiciels malveillants dans des contextes de guerre civile. Nous allons prendre comme exemple le conflit Syrien de 2012.

Contexte :
Au cours des dernières années, les cyber-attaques en Syrie se sont déplacées en première ligne. Il y a de nombreuses activités de cyber-attaques qui ont été liées à la Syrie, en particulier celles menées par « l'Armée Électronique Syrienne » et des groupes pro-gouvernementaux. Internet a joué un rôle important dans le conflit : les différents groupes d'acteurs ont utilisé le réseau non seulement pour promouvoir leurs idéologies, mais aussi pour cibler leurs ennemis afin de les espionner, déstabiliser et intercepter. L'opposition a de plus en plus recours à des plateformes comme Facebook pour s'organiser et diffuser son message. En réponse, des partisans du régime ont cherché à perturber ces activités en altérant des sites Web et en « polluant » des pages Facebook.

Ce conflit a pris une nouvelle dimension avec des rapports suggérant des attaques de logiciels malveillants ciblées contre les partisans du mouvement d'opposition syrien. Pour la plupart, ces malwares ont été déployés via du « social engineering » (courriels, messageries, réseaux sociaux), des vecteurs d'infection toujours très efficaces.

Compte tenu de la complexité de la situation et des enjeux, nous nous concentrerons ici sur les logiciels malveillants liés à ce conflit et plus particulièrement sur l'analyse d'un échantillon représentatif.

Il existe un site qui recense des échantillons de ce conflit : https://syrianmalware.com/. Nous allons choisir l'un de ces échantillons et le disséquer avec les méthodes et outils vus sur ce site. Nous verrons en détail ce que fait ce malware afin d'illustrer concrètement le travail d'analyse.

Site web https://syrianmalware.com/ :

1. Échantillons de malwares:

Syrian Malware Samples

Figure 1: Quelques échantillions recensés de malwares du conflit en Syrie.

Nous allons dowloader l'échantillon qui se nomme AntiHacker.exe

Sample Selection
Sample Details

Le nom de ce fichier est intéressant, car on pourrait croire qu'il s'agit d'un antivirus ou d'une protection contre les hackers.

C'est d'ailleurs l'objectif de cette fausse campagne lancée par des groupes pro-gouvernementaux syriens à l'égard des activistes : faire croire que, pour se protéger des logiciels malveillants, il faut installer leur « programme de sécurité ».

L'art du « social engineering » entre en scène. Un site web et une page Facebook ont été mis en place pour vanter les mérites de ce logiciel.

Le site web du faux programme:

Fake website

Source image: EFF

La page Facebook du faux programme:

Fake Facebook

Source image: EFF

AntiHacker.exe est un « Rogue security software ». Il se fait passer pour un logiciel de sécurité, mais en fait c'est tout le contraire... Voyons ce qu'il a dans le ventre ce AntiHacker.exe !

Analyse statique:
Let’s go!

Click AntiHack

En ouvre notre désassembleur préféré est en constate qu'il s'agit en fait d'un downloader. En regardant les imports et le code, c'est assez parlant!

Imports Downloader

Le downloader charge simplement l'URL du binaire à partir des ressources, télécharge le fichier exécutable et l'exécute, assez simple. En possession de ce fichier, nous pouvons récupérer le malware d'origine, et nous avons de la chance : le nom du fichier et l'URL ne sont pas chiffrés. Comme vous pouvez le voir sur ce vidage hexadécimal (j'ai volontairement modifié l'URL).

Resource URL

Maintenant Récupérons le fichier malveillant à partir de l'URL pointée par le downloader et prenons un instantané propre de notre machine virtuelle, un Windows 7 32 bits dans mon cas.

Analyse statique du serveur (malware)

Ici, l'intérêt est de récolter un maximum d'information sur le malware sans l'exécuter. Dans un premier temps, on pourrait très bien aller sur virustotal pour faire une analyse de notre fichier, sa signature est sans doute déjà répertoriée. Mais le but de ce premier lab, est de faire le travail manuellement afin de comprendre au mieux la démarche et la méthodologie. (qui je le rappelle n'est pas exhaustive, il existe une multitude de façon pour arriver au même résultat).

Nous allons charger dans l'outils PEiD notre executable.

PEiD

On peut constater qu'il a été compilé en Borland Delphi 7. Ce n'est pas une version récente (années 2000–2008), mais c'est déjà une première information utile.

Personnellement, je connais quelques malwares écrits en Delphi 7 ; du coup, je me fais déjà une idée de ce qu'il pourrait être… Pas vous ?

Nous allons confirmer cela avec l'outil PEStudio : chargeons notre exécutable dans PEStudio.

PEStudio

Nous avons des informations intéressantes ici ! Par exemple, c'est une application Win32, compilée en juin 2012, et surtout la ligne file-description | Remote Service Application. Elle nous indique clairement que nous avons affaire à un cheval de Troie !

Pour en avoir le cœur net, allons voir la section Strings de PEStudio et je pense que nous ne serons pas déçus !

BINGO!

PEStudio Strings

Les strings parlent d'elles-mêmes. Il y a plus de 8 000 strings et, rien qu'avec la capture, on comprend qu'il s'agit bien d'un cheval de Troie DarkComet.

Il y a pas mal de strings avec des variables « DC… », ce qui constitue l'une des signatures de ce malware.

Je fais un petit aparté : je vais vous présenter brièvement ce malware côté client (hacker) avant d'attaquer l'analyse dynamique.

DarkComet fournit de nombreuses fonctionnalités similaires à d'autres RAT disponibles dans le commerce et implémente une architecture client-serveur classique, comme illustré dans le diagramme ci-dessous. Les serveurs sont générés depuis la machine du client puis déployés sur autant d'hôtes distants que nécessaire ; une fois déployés, ils se reconnectent au client et attendent les commandes.

Le côté client propose une console d'administration pour gérer toutes les connexions entrantes, offrant des capacités complètes de commande-et-contrôle ainsi qu'un accès au système de fichiers. Plusieurs « profils » de serveurs peuvent être gérés depuis un seul client, et les serveurs peuvent être mis à jour ou désinstallés à distance.

Présentation de DarkComet

DarkComet Schema

La capture d'écran ci-dessous montre la console d'administration principale exécutée sur le client sur lequel les serveurs sont construits et toutes les connexions entrantes contrôlées:

DarkComet Interface

Nous allons voir la partie génération du serveur, celui qui sera envoyé à la victime.

DC Server Generation DC Configuration

Nous pouvons voir les valeurs par défaut du serveur. On regardant la capture d'écran et nos résultats au niveau des strings, on s'aperçois vite que le pseudo Hacker a laissé les valeurs par défaut lors de la génération du serveur.

Sur cette capture d'écran, on peut voir les fonctionalités et commandes que peut envoyer le client au serveur.

DC Features

Voilà, je ferme cette parenthèse

Ce qui nous intéresse dans cette analyse, c'est de pouvoir trouver d'ou vient l'attaque (IP,DNS,PORT,PAYS, etc...) et les données qui transitent sur le réseau par le biais du malware CLIENT <-> serveur.

Analyse dynamique du serveur

Avant d'exécuter le fichier, il est judicieux de prendre un instantané du registre, de nos documents et du répertoire tmp afin de comprendre quels fichiers et entrées de registre sont créés / supprimés.

Pour cela, nous pouvons utiliser l'application RegShot: url: RegShot.

RegShot

On prend la première photo avant d'exécuter le fichier, et la seconde après l'avoir exécuté, à partir de cette comparaison, nous comprendrons quels sont les modifications apportées à notre système. Nous constatons que deux fichiers ont été créés:

C: \ Users \ IEUser \ Documents \ MSDCSC \ msdcsc.exe
C: \ Users \ IEUser \ AppData \ Local \ Temp \ dclogs \ 2020-22-02-6.dc

User Install

Il y a également une nouvelle entrée dans le registre qui a été ajoutée:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run | MicroUpdate | C:\Users\IEUser\Documents\MSDCSC\msdcsc.exe

Registry

Analyse du trafic réseau

Connexion initiale.

Une fois installé sur la machine de la victime, le serveur DarkComet commence par ouvrir une connexion TCP à l'adresse préconfigurée de son client. Le serveur tente de se connecter via TCP au port choisi sur l'IP / domaine choisi. Si une connexion peut être établie, le trafic de commande et le contrôle commence malheureusement pour nous, chiffrée à l'aide de RC4. Comme on peut le voir sur cette trame réseau.

Network Traffic

Le client effectue une prise de contact dans laquelle le serveur envoie des informations d'identification (par exemple, l'ID de user/serveur, le pays, l'ip, etc...). Si aucun trafic de commande et de contrôle actif se produit, la connexion réseau est maintenue avec une série de requêtes TCP [PSH, ACK] contenant le mot «keepalive», suivi d'une chaîne de chiffres. Cette séquence, ainsi que la conversation de commande et de contrôle initiale sous sa forme chiffrée, est lisible avec un analyseur réseau (sniffer). La clé statique et le mot de passe sont intégrés dans le serveur et peuvent être récupérés nous permettant de décrypter toutes les communications DarkComet.

Détails du chiffrage

j'ai extrait toutes les chaines de caractères du serveur afin de voir s’il y a pas une signature d'un algorithme de chiffrement. Je suis arrivé sur plusieurs textes avec le terme RC4, ce qui me fait penser qu'il s'agit d'un chiffrage RC4.

RC4

Pour en être sûr, il faudrait analyser s'il y a des permutations avec des boucles dans le code. Pour ce premier cas, on supposera qu'il s'agit bien de RC4 (c'est d'ailleurs souvent l'algorithme utilisé dans ce type de malware). Pour toutes les versions antérieures de DarkComet, c'est le cas ! Mais on n'est jamais à l'abri d'un chiffrement « maison ».

Tout le trafic de commande et de contrôle est chiffré avec l'algorithme RC4. La clé de chiffrement par défaut pour la version 4 est #KCMDDC4#-890, et pour la version 3 #KCMDDC2#-890. Si un mot de passe de sécurité est fourni lors de la création du serveur, ce mot de passe est concaténé à la clé par défaut. Par conséquent, pour la version 4 avec le mot de passe par défaut activé, la clé deviendrait : #KCMDDC4#-8900123456789.

Afin de déchiffrer le trafic, la connaissance de la clé est nécessaire et peut être retrouvée par l'analyse du binaire. Si le binaire n'est pas compressé (« packé »), les détails y compris la clé et l'adresse IP / le nom de domaine distant peuvent apparaître en clair dans l'exécutable. En revanche, si le binaire est compressé, ces détails seront masqués par l'obfuscation. Lorsque le processus malveillant est en cours d'exécution, ces informations peuvent toutefois être retrouvées en mémoire.

Recherche de la clé de chiffrement

En ouvrant notre débogueur et en exécutant le serveur, on cherche des mots-clés comme password ou pwd dans les strings ; cela permet de cibler plus rapidement la zone de code qui nous intéresse en déboguant pas à pas. Il ne faut pas oublier de placer un point d'arrêt sur la chaîne : le débogueur s'y arrêtera.

Ce que nous pouvons constater : l'emplacement de la clé de chiffrement est chargé dans le registre EAX, ainsi que les autres paramètres de connexion. Voir la capture d'écran du débogueur avec le serveur non compressé ci-dessous.

Debugger

Clé par défaut: #KCMDDC5#-890
Password: pwdAnalyseTest
Mutex: DC_MUTEX-TestAnalyse
ID serveur/User: Guest16
IP Attaquant: 192.168.57.130
Port: 1604
Version: 5.3

Clé de déchiffrage pour le trafic réseau: Clé par défaut + Password = #KCMDDC5#-890pwdAnalyseTest

Maintenant, il nous reste plus qu'a utiliser notre clé pour déchiffrer les données échangées entre le client et le serveur. Pour cela, personnellement j'utilise souvent un petit script python pour faire le déchiffrage et le chiffrage de l'algorithme RC4. Mais de plus en plus, j'utilise le fabuleux tools CyberChef qui est le couteau Swiss des transformations et déchiffrages en tout genre...

CyberChef

Nous allons prendre la trame réseau chiffrée de la Connexion initiale que nous avons eu à l'aide d'un sniffer par exemple WireShark.

Network Traffic

Copier/coller dans le tools CyberChef.
Choisissez l'algorithme RC4 disponible et configuré comme sur la capture d'écran.

CyberChef Decrypt

Et BINGO ! Nous avons bien notre trame déchiffrée.

Le tableau ci-dessous montre le trafic de l'exemple ci-dessus, déchiffré :
GetSIN192.168.57.130|130937421 infoesGuest16|192.168.57.130 / [192.168.57.130] : 1604| PC-Analysis / Administrator|130937421|0s|Windows 7 Service Pack 2 [2600] 32 bits ( C: )|x||US|Program Manager| b5c7d186b478fc77626a5ae806479815|324.55 MB/580.27 MB [532.40 MB Free]|English (United States) US / -- |2/22/2020 at 2:58:57 PM

Nous sommes maintenant capables de déchiffrer le trafic réseau entre le client et le serveur. Pas mal pour un début, non ?

J'ai volontairement (comme déjà dit plus haut) modifié l'IP et d'autres informations, car je n'ai pas envie que tous les bots du Net fassent des liens avec ce site…

Je pense que, pour commencer, c'est une bonne méthode. Cela reste une analyse basique, mais dans ce domaine, il est préférable d'assimiler solidement les bases avant de se lancer sur plus compliqué. Si vous essayez d'aller trop vite vers des analyses trop complexes dès le début, vous risquez d'être déçus et démotivés ce serait dommage.

Conclusion de ce petit lab

Dans ce cas pratique, j'ai montré comment le reverse engineering et l'analyse du trafic ont permis d'améliorer la détection d'activités malveillantes ciblées.

Le reverse engineering a été utilisé pour comprendre le chiffrement employé et identifier comment le mot de passe peut être extrait d'un hôte infecté. Il est désormais possible de déchiffrer le trafic réseau et de voir clairement les commandes réellement utilisées par l'attaquant pendant l'attaque.

Cela permet d'évaluer l'impact et d'en attribuer l'origine. De plus, le trafic réseau ainsi caractérisé peut être exploité pour détecter de futures occurrences de cette attaque et d'attaques similaires offrant ainsi une meilleure protection. Des outils d'administration à distance comme DarkComet sont fréquemment utilisés dans des attaques ciblées, et des travaux comme celui-ci nous aident à comprendre les menaces et à les détecter plus tôt.

Voilà, j'espère que vous avez pris plaisir à suivre cette introduction à l'analyse de malwares dans ce premier cas pratique. Il y en aura d'autres : l'idée est de monter en difficulté progressivement !

See you soon…

About

Project Manager · Developer · InfoSec · OSINT Analyst

j'aime explorer les menaces émergentes, décortiquer les intrusions et concevoir des outils Blue Team, Red Team et OSINT. J'ai fais ce site pour partager ma passion pour la cyber sécurité et tous particulièrement l'analyse des malwares, mais également pour sensibiliser le monde de ces menaces invisibles. Ce n'est qu'une introduction à l'analyse de malware, le but n'est donc pas d'expliquer toutes les techniques et le métier en détail, mais de donner une vue globale.

Les attaques informatiques et les logiciels malveillants sont de plus en plus présents dans le monde d'aujourd'hui.

Des chiffres affolants (2025) !
En 2024, le volume mondial de malwares a encore progressé (+8 % en glissement annuel) et certains mois ont connu des pics spectaculaires. Les laboratoires d'AV-TEST ont déjà recensé plus de 60 millions de nouvelles souches pour la seule année 2024. Côté rançongiciel, plus de 5 600 attaques ont été rendues publiques dans le monde en 2024.

Le ransomware reste l'un des principaux modes d'intrusion en 2025 : il apparaît dans 44 % des violations. Les deux vecteurs d'entrée dominants sont les identifiants volés (~22 %) et les vulnérabilités exploitées (~20 %).

Ce mouvement ne faiblit pas : si l'on tient compte des multiples variantes de malwares, les volumes et les familles explosent.

Conclusion :
Dans les années à venir, la menace ne sera pas seulement plus nombreuse : elle sera pilotée par l'IA. Les attaquants utilisent déjà des modèles capables de mimer la voix, l'écriture et le comportement pour contourner la vérification humaine, mais aussi de duper la vision (reconnaissance faciale, lecture de badges/QR, captchas visuels). Combinée à l'automatisation, l'IA permet une découverte d'assets en continu, un exploitation "en boucle fermée" des vulnérabilités et la génération de campagnes d'hameçonnage ultra-ciblées. On voit émerger des outils et malwares entièrement dirigés par des agents IA (adaptatifs, capables d'évasion, et d'auto-apprentissage sur l'environnement compromis).

Face à ça, la priorité est claire : authentification résistante au mimétisme (FIDO2/passkeys, MFA sans OTP réutilisable), défense en profondeur (segmentation, moindre privilège, durcissement), détection continue assistée par IA mais supervisée par l'humain, surveillance des modèles (red-teaming, protection contre l'empoisonnement de données), et plan de reprise testé (sauvegardes hors-ligne). L'enjeu n'est plus seulement de bloquer l'attaque suivante : c'est de réduire le temps de détection et de réponse face à des adversaires augmentés par l'IA.

Les gouvernements l'ont compris : chacun dispose désormais d'équipes cyber dédiées – analystes malwares, forensiques, reverse engineering et chercheurs en sécurité.

C'est devenu essentiel pour détecter, analyser et qualifier les incidents afin d'anticiper les évolutions futures. Nous assistons à l'émergence de nouveaux métiers, comme celui présenté sur ce site. L'analyse des malwares n'est plus réservée uniquement aux éditeurs d'antivirus.

La cybercriminalité progresse et tout le monde est concerné : particuliers, entreprises et gouvernements.
cursor

Patrick Jossevel.

Coffee

Contact

Prenez contact avec moi.

Lausanne, VD, Suisse

info@cyber-analysis.ch

Des remarques, des questions ou besoin d'informations supplémentaires? Utilisez mon email pour me contacter!