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.
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.
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
Parmis 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.
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 trois ou un Rootkit.
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 inter site 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.
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).
Cheval de
Troie
Un cheval de Troie, communément
appelé « RAT » pour (Remote
Acces 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
».
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.
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.
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.
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.
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.
L'objectif est ici de récupérer le maximum d'informations sans exécuter le malware. Pour ce faire 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. Cette technique peut se révéler très efficace mais montre rapidement ses limites en présence de malwares complexes comportant de l'obfuscation.
Contrairement à l'analyse statique, l'analyse dynamique vise à exécuter le malware pour comprendre son comportement. Autrement appelée analyse comportementale, il s'agit ici d'observer les interactions du malware avec le système. Pour pouvoir réaliser une analyse dynamique sans risque, il est nécessaire de disposer d'un environnement sécurisé et isolé. L'avantage est ici de voir en pratique le fonctionnement du malware. Cependant il y à un risque de ne pas observer certaines fonctionnalités. De plus, certains malwares sophistiqués sont capable de modifier leur comportement en présence d'analyse dynamique.
L’analyse forensique a pour objectif l'investigation numérique est le processus de
découverte et
d'interprétation de données électroniques.
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
dans le but de reconstituer des événements passés.
L’analyse forensique fournit des
preuves à la justice et aide à mieux comprendre les
incidents.
par exemple après une attaque informatique.
Les recherches peuvent
porter sur les journaux d’applications ou d’équipements
réseaux, mémoires,
disques durs et d’autre supports amovibles. Dans certain cas, la récupération et
l'investigation
d'appareils numériques et de matériaux numériques souvent liés à la violation des règles de
l'organisation
ou des lois de l'État.
Cela implique l'utilisation d'un large éventail de technologies,
méthodes et procédures
d'enquête.
A 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.
Les développeurs de logiciels utilisent
parfois des techniques d’obfuscation
parce qu’ils ne veulent pas que leurs programmes
soient piratés.
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.
Les possibilités sont infinies. Sa mise en œuvre peut être aussi simple
comme avancée
avec des chiffrements cryptographiques ( DES,
AES). Dans le monde des
logiciels malveillants,
il est utile de masquer les mots importants utilisés par le
programme (appelés « strings»
pour chaîne de
caractères), car ils donnent un aperçu du comportement du programme
malveillant. Des exemples de telles chaînes sont par exemple, des URL malveillantes ou des clés
de
registre.
Exemple de chaîne de caractères :
Dans de nombreux cas, c'est l’ensemble du
logiciel malveillant qui est
offusqué.
Cela empêche tout le monde de voir le code du malware
jusqu'à ce qu'il soit
placé en mémoire.
Exemple de programme Obfusqué :
1. Le code de la fonction n'est pas obfusqué:
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:
Pour ce premier cas pratique, je voulais vous sensibiliser sur l’utilisation grandissantes de logiciels malveillants dans des contextes de guerre civile.
Analyse static du serveur (malware)
Ici, l'intêret est de récolter un maximum d'information sur le malware sans l'executer.
Nous allons charger dans l'outils PEiD notre executable.
On peu constater qu'il a été compilé en Borland Delphi 7. C'est pas une version toute jeune, c'était dans les années 2000-2008. Mais c'est déjà une première info!
Nous allons charger dans l'outils pestudio notre executable.
Nous avons des informations intéressantes ici!
BINGO!
Les strings parlent d'elles mêmes.
DarkComet fournit de nombreuses fonctionnalités très similaires à d'autres RAT disponibles dans le commerce et implémente la même architecture client-server comme indiqué dans le diagramme ci-dessous. Les servers sont construits sur la machine cliente et déployés sur autant d'hôtes distants que nécessaire, une fois déployés, ils se reconnecteront au client et attendront les commandes.
La capture d'écran ci-dessous montre la console d'administration principale exécutée sur le client sur lequel les servers sont construits et toutes les connexions entrantes contrôlées:
Nous allons voir la partie génération du server, celui qui sera envoyé à la victime.
Nous pouvons voir les valeurs par défaut du server.
Sur cette capture d'écran, on peut voir les fonctionalités et commandes que peut envoyer le client au server.
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 <-> SERVER.
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.
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
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
Analyse du trafic réseau:
Connexion initiale.
Une fois installé sur la machine de la victime, le server DarkComet commence par ouvrir une connexion TCP à l'adresse préconfigurée de son client. Le server 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.
Le client effectue une prise de contact dans laquelle le server envoie des informations d'identification (par exemple, l'ID de user/server, 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.
Détails du cryptage.
j'ai extrais toutes les chaines de caractères du server afin de voir si il y a pas une signature d'un algorithme de cryptage.
Pour en être sur, il faudrait analyser si il y a des permutations avec des loops dans le code.
Tout le trafic de commande et de contrôle est crypté avec l'algorithme RC4. La clé de chiffrement par défaut pour la version 4 est # KCMDDC4 # -890, et pour la version 3 est # KCMDDC2 # -890. Si un mot de passe de sécurité est fourni pendant la phase de création du server, le mot de passe est ajouté à la clé par défaut. Par conséquent, pour la version 4 avec le mot de passe par défaut activé, la clé de chiffrement deviendrait: # KCMDDC4 # -8900123456789.
Afin de décrypter le trafic, la connaissance de la clé de cryptage est requise et peut être trouvée par l'analyse du binaire. Si le binaire n'est pas compressé, les détails, y compris la clé et l'adresse IP / le domaine distant, peuvent être trouvés dans l'exécutable en texte clair. Cependant, si le binaire est compressé, ces détails ne seraient pas visibles en raison de l'obfuscation. Lorsque le processus malveillant est en cours d'exécution ces informations notables peuvent être trouvées en mémoire.
Recherche de la clé de cryptage
Ouvrant notre plus beau Débugger et executant le server.
Ce que nous pouvons consater!
Clé par défaut: #KCMDDC5#-890
Maintenant, il nous reste plus qu'a utiliser notre clé pour déchiffrer les données échangées entre le client et le server.
url: 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.
Copier/coller dans le tools CyberChef
Et BINGO!!! Nous avons bien notre trame déchiffrée.
Le tableau ci-dessous montre le trafic de l'exemple ci-dessus, décrypté.
Maintenant, nous sommes capable de déchiffrer le trafic réseau entre le client et le server. Pas mal pour un début, non ?
je pense que pour commencer c'est une bonne méthode, cela reste une analyse basic, mais dans ce domaine, il est préférable de bien assimiler les bases avant de ce lancer sur plus compliqué!
Conclusion de ce petit lab
Dans ce cas pratique, j'ai montré comment l'inverse engineering et l'analyse du trafic a permis une meilleure détection des activités malveillantes ciblées.
Voilà, j'espère que vous aurez pris plaisir à suivre cette introduction à l'analyse de malware dans ce premier cas pratique. Il y en aura d'autre, l'idée est de monter dans la difficulter progressivement!
See you soon...
Il est maintenant temps de choisir et d’installer vos outils d’analyse. Si vous ne savez pas
quoi installer, voici une liste de mes suggestions pour commencer.
Les outils de cette liste sont devenus mon couteau suisse pour l'analyse de base des logiciels malveillants.
Vous devez absolument passer du temps à essayer divers tools afin de pouvoir
construire votre boite à outils selon vos besoins.
Par soucis de brièveté, je ne passe pas en revue tous les outils qui peuvent
éventuellement être utilisés.
L’important est que l’analyste soit en mesure de surveiller le
malware, quels que soient ses
outils ou ses préférences personnelles. Il est également
important de comprendre toute lacune dans le choix d'un outil et comment un logiciels malveillants
peut détecter son utilisation et éviter sa surveillance.
Il on existe beaucoup sur le web, mais c'est souvent les mêmes qui sont utilisé.
A vous de jouez!
j'aime écrire sur les menaces les plus récentes et analyser les mécanismes d'intrusion.
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 !
En mai 2019, le nombre total de nouvelles détections de logiciels malveillants dans le monde au cours de l'année s'élevait à 903,14 millions de programmes.
C'est une augmentation par rapport à 2018, dans laquelle 856,62 millions de nouveaux logiciels malveillants avaient été détectés.
(source statista).
Ce chiffre n’a cessé d’augmenter, c’est dire l’ampleur exponentielle de la cyber menace.
Si on prend en compte Les variantes des
malwares, les chiffres,
explosent.
Conclusion :
Dans les années avenir, il y aura de plus en plus de cyber menaces.
Les attaques sont multiples et font appel à des technologies très évoluées.
Ces attaques sont de plus en plus ciblées et complexes à éradiquer souvent de type APT (Advanced Persistent Threat).
Les gouvernements l’ont compris, ils ont tous un département cyber sécurité avec une team
d’analystes
malwares, forensiques, reverse
engineering et chercheurs en sécurité.
C’est devenu essentielle pour détecter, analyser, qualifier les incidents et les menaces
pour mieux
anticiper les futures évolutions.
Nous assistant actuellement à l’émergence de nouveaux métiers tel que celui présenté sur
ce site.
L'analyse des
malwares n'est plus réservée
uniquement aux éditeurs d'antivirus.
Il ne devient pas rare de voir des offres d’emplois de ce type, certaines entreprises ont
déjà fait
le pas et d’autres vont suivre prochainement.
la cybercriminalité progresse et tout le monde est concerné, particuliers, entreprises, et
gouvernements.
Patrick Jossevel.
Lausanne, VD, Suisse
Des remarques, des questions ou besoin d'informations supplémentaires? Utilisez mon email
pour me contacter!
© Corporate 2019 All right reserved. Writing and developed by Patrick Jossevel