Être ingénieur analyste ou même chercheur en vulnérabilités et codes malveillants est un métier en lui-même, le but de l’article n’est donc pas d’expliquer ce métier en détail, mais de donner un point de vue global sur l’analyse de malwares dans le cadre d’une activité personnelle.

Je rappelle que « malware » signifie « logiciel malveillant » en français. On emploie également souvent le mot « virus informatique » par abus de langage. Un malware étant un logiciel malveillant de façon générale, il peut ainsi être un keylogger, un cheval de Troie, un rogue, un ransomware, un ver informatique…etc.

On a vu plusieurs fois que l’antivirus est très utile, mais qu’on ne peut pas se baser uniquement sur lui.

Lorsqu’on se fait infecter par un malware, on passe habituellement par l’une de ces options :

  • On formate le système infecté
  • On supprime le « virus »
  • On change ses mots de passe
  • On ne sait simplement pas quoi faire

Dans tous les cas, on espère surtout ne plus jamais revoir ce malware.

L’analyse de malwares fait l’inverse.

Le but ici est plutôt d’analyser ce qu’il s’est passé, de savoir comment un « virus » est arrivé là, de savoir s’il y en a d’autres et de savoir ce qu’il fait exactement.

On peut même aller plus loin, en essayant d’évaluer l’impact, le risque et même l’auteur du malware en question.

L’analyse de malwares se divise en deux parties : l’analyse statique et l’analyse dynamique. La plupart des analyses approfondies se basent sur un mix des deux façons.

Analyse statique d’un malware

L’analyse statique est une phase qui est fastidieuse et qui demande des connaissances techniques pointues. Typiquement, on va analyser le fonctionnement du malware « à la main » et cela prend beaucoup de temps. On simplifiera donc cela dans l’article en passant uniquement en revue les moyens les plus faciles et directs d’analyser statiquement un malware.

Nous allons ici analyser un cheval de Troie en ne connaissant pas son code source ni même ses fonctions précises.

Nous pouvons lancer une première analyse VirusTotal sur le fichier, dont voici le résultat :

analyse-malware-virustotal

Mauvaise nouvelle pour notre cher cheval de Troie, il est détecté par 28 antivirus sur les 56 utilisés. (On notera tout de même que la moitié des antivirus ne détectent donc pas ce cheval de Troie !)

Commençons par analyser les chaînes de caractères présentes dans ce malware.

Nous allons pour cela utiliser l’outil Strings de Microsoft qui nous permettra d’afficher toutes les chaînes de caractères lisibles dans notre malware.

Après avoir téléchargé le programme, on lance un invite de commandes :

touches Windows + R -> "cmd.exe" -> touche Entrée

On se place dans le dossier contenant le programme strings récemment téléchargé :

cd C:Usersvotrenomdossier_contenant_strings.exe

Et on utilise la commande :

strings.exe Stub.exe > resultat.txt

« Stub.exe » étant ici le cheval de Troie que j’utiliserai pour l’exemple, mais vous pouvez utiliser n’importe quel autre programme exécutable.

Toutes les chaînes de caractères que contient le programme sont à présent lisibles dans le fichier texte « resultat.txt » nouvellement crée dans le même dossier.

L’analyse de ce fichier demande habituellement des connaissances pointues en programmation et système, mais parfois c’est assez évident.

Voici un exemple de ce que l’on trouve :

analyse-chaines-malware

Le nom « Logger » ressemble à « Keylogger », et visiblement l’option keylogger du cheval de troie est confirmée, car il utilise des structures typiques qu’utilisent les keyloggers. À savoir « KBDLLHOOKSTRUCT » et « KBDLLHOOKSTRUCFlags ».

On continue dans notre analyse en observant d’autres chaînes de caractères dans notre fichier résultat :

analyse-chaines-malware2

Visiblement le malware cherche à soutirer des mots de passe de quelques navigateurs.

Un peu plus bas dans le fichier, nous tombons sur quelque chose d’encore plus direct :

analyse-chaines-malware3

« Uninstall », « Shutdown », « KillProcess », « OpenCD », « ReverseMouse » ou encore « fun », je pense que même en anglais, ces mots sont suffisamment parlant pour se rendre compte que le programme ne fait rien de bien sympathique pour celui qui l’exécute.

Vous pensez bien que tous les programmes malveillants ne se laissent pas si facilement observer. Pour tout vous dire, certains malwares comme celui que nous venons de voir sont programmés avec des langages qu’on appelle « managés ». Il s’agit par exemple de Visual Basic, C# et Java. Le code n’est pas compilé, mais transformé dans une version « intermédiaire ». Il est facile de retrouver le code source complet de ces programmes. Ce qui n’est pas le cas des autres programmes dont le code source n’est pas directement récupérable.

Lors de l’analyse statique de programmes non managés, on utilise beaucoup ce que l’on appelle un éditeur hexadécimal. Il s’agit d’un outil permettant de visualiser et de modifier un fichier exécutable.

L’idée est de comprendre ce que fait un programme dont on n’a pas le code source.

En somme, ça ressemble à cela :

editeurhexa

Il s’agit de XVI32 qui est un éditeur hexadécimal simple, mais dans le cadre de l’analyse statique de code malveillant, on utilise souvent un éditeur hexadécimal plus poussé, qui fait même office de débogueur interactif, il s’agit de IDA Pro :

Le but ici, même si il n’en a pas l’air, est de rendre plus facile la lecture du code à investiguer. L’utilisation de ce programme demande des connaissances avancées, on ne va donc pas s’attarder dessus.

Dans cette partie, nous avons réussi notre analyse de malware statique et compris un peu mieux ce que fait le malware étudié. Passons à l’analyse dynamique.

Analyse dynamique du malware

L’analyse dynamique consiste à exécuter directement le malware dans un environnement contrôlé et spécialement prévu à cet effet.

« L'analyse dynamique consiste à exécuter directement le malware dans un environnement contrôlé »Cliquez pour tweeterPartager sur FacebookPartager sur LinkedIn

L’idée est d’observer ce que fait le malware afin d’en tirer des conclusions. Bien que cela soit plus facile et rapide à faire que l’analyse statique, il faut noter qu’on peut potentiellement passer à côté de certaines fonctionnalités cachées du malware. On en reparlera plus tard.

Lors de cette analyse dynamique, on construit ce que l’on appelle un « laboratoire de test » contenant habituellement un système d’exploitation Windows qui va jouer le rôle de victime et une machine Linux comme « routeur » vers lequel on passe pour renvoyer le trafic sur Internet, au besoin.

On utilise souvent VMware, mais VirtualBox fait également l’affaire, et la deuxième partie de ce tutoriel montre comment installer une distribution Linux en tant que machine virtuelle.

Le système d’exploitation Windows en question est habituellement Windows XP avec la configuration suivante :

  • Internet Explorer non mis à jour
  • Adobe Flash Player non mis à jour
  • Case « Cacher les fichiers systèmes » non cochée dans les options des dossiers
  • Java non mis à jour
  • Connexion automatique
  • Pare-feu désactivé
  • Bloqueur de fenêtres publicitaires désactivé
  • Et d’autres configurations permettant aux malwares de s’exécuter correctement

En ayant donc la machine Windows vulnérable en place, on va utiliser divers outils nous permettant d’analyser ce que fait le malware une fois exécuté sur le système cobaye.

Les plus populaires sont les suivants :

  • RegShot : Permet de faire une « image » de la base de registre avant et après exécution d’un malware pour voir les clés de registre qu’il aura créées. On pourra par exemple découvrir si le malware essaye de s’ajouter au démarrage du système.
  • Capture-BAT : Projet initié par des chercheurs en sécurité informatique qui permet d’analyser le comportement du malware testé. On saura notamment les fichiers qu’exécute le malware mais aussi les processus qu’il peut créer.
  • LordPE : Outil qui va analyser ce que le malware fait du côté de la mémoire de l’ordinateur.
  • WireShark : Analyseur réseau permettant de détecter l’activité réseau d’un malware.

Pour nous faciliter la tâche, il existe déjà des environnements tout-en-un contenant ces outils ou en tout cas ce type d’outils afin de ne pas avoir à les installer manuellement.

Par exemple, le projet Cuckoo Sandbox permet de créer facilement son petit laboratoire avec Virtual Box. La documentation est visible à l’adresse suivante (et en anglais) :

https://cuckoo.readthedocs.org/en/latest/

Pour nous faciliter encore plus la tâche, il existe des services web gratuits qui ont déjà mis en place leur laboratoire. Ils vous permettent d’uploader un fichier afin d’obtenir un rapport sur son exécution.

Si vous souhaitez donc voir directement le résultat final, ou simplement connaître ce que fait un programme via l’analyse dynamique, voici deux services populaires que je recommande :

  • Anubis (EDIT: hors service)
  • Malwr

Exemple d’analyse de malware : https://malwr.com/analysis/MzhlNzNhN2RhMTdlNGIxMTk3NDU2ZmUyZGY4YWVlMmQ/

analyse de malwares avec malwr

Je cite :

« Identifié par au moins un antivirus comme malveillant »

« Contient des données chiffrées ou compressées »

« Vole des données privées depuis les navigateurs Internet »

« S’installe au démarrage de l’ordinateur »

Je pense qu’il est inutile de préciser que ce programme semble un poil malveillant 🙂

Conclusion sur l’analyse de malwares

Nous avons vu les bases de l’analyse de malwares et j’espère que ce tutoriel vous a plu.

En résumé, il y a deux types d’analyses, l’analyse statique où l’on cherche à comprendre le fonctionnement d’un malware sans l’exécuter, et l’analyse dynamique où l’on exécute le malware et l’on note ce qu’il fait durant son exécution avec des outils spécifiques.

Enfin, on a vu qu’il existe déjà des services web tout-en-un pour scanner les programmes que vous suspectez, et une fois que vous aurez commencé, vous ne vous en passerez plus !

AVERTISSEMENT :

Je me dois de prévenir qu’on joue ici potentiellement avec de vrais malwares et qu’une erreur de manipulation peut faire de gros dégâts.

Si vous débutez, je vous conseille d’utiliser les services en ligne que nous venons de voir, et de bien faire attention si vous souhaitez déployer votre propre labo.

Sachez que :

  • Certains malwares peuvent s’exécuter dès lors qu’ils sont scannés par un antivirus (si ce dernier possède une vulnérabilité critique)
  • Certains malwares détectent les machines virtuelles et modifient leur comportement en conséquence
  • Certains malwares ne s’exécutent qu’à une date précise
  • Certains malwares vont simplement crasher sur la machine de test mais fonctionner sur un autre système
  • etc…

Envie de devenir chercheur de codes malveillants ?

Il vous faudra apprendre et maîtriser plusieurs notions dont :

  • Le langage assembleur (représente le langage machine lisible pour un humain).
  • Le fonctionnement des systèmes d’exploitation.
  • Le Reverse Engineering (c’est l’étude d’un programme dont on ne connaît pas le code source).
  • Le fonctionnement des malwares.

Envie d’en savoir plus sans forcément devenir chercheur ?

Rejoignez le cours vidéo sur l’étude des malwares.

Articles similaires

35 Commentaires
Cliquez ici pour ajouter un commentaire

  • prospérité liberté
    22 février 2016 11 h 08 min

    merci michel…en lisant ce rapport je me suis dit en cours…mais mon systeme d’exploitation me previens lorsque un programme veut entrer dans mon systeme informatique et me donne certain details qui me demontre les dangers potentiels a l’infection de mon systeme et me demande toujours si je souhaite executer ou bloquer le programme…est ce suffisant ?

    Répondre
  • prospérité liberté
    22 février 2016 11 h 11 min

    est ce que tu connaitrait une solution contre le crackage des vpn ?

    Répondre
  • Bonjour Michel

    Ton article est très intéressant mais je viens de télécharger strings et pour cette partie d’explication :

    « On se place dans le dossier contenant le programme strings récemment téléchargé :
    cd C:Usersvotrenomdossier_contenant_strings.exe »

    Cela ne fonctionne pas et dit que c’est une commande inconne.
    Dans cmd après c:\Users\nom du dossier (à savoir strings), n’a pas fonctionné. Peut-être quelque chose m’échappe. dois-je exécuter cmd en tant qu’adminitrateur ? où est mon problème s’il te plaît . Merci

    Répondre
  • Bonjour Prospérité,

    Je rebondis de façon olympique et de bonne humeur aujourd’hui sur ta dernière question 🙂

    Pourrais-tu préciser ta question ?

    Un méthode connue qui consiste à la mise en place d’une attaque par force brute n’est rien d’autre qu’une méthode utilisée en cryptanalyse pour rechercher un mot de passe ou une clé. Il s’agit de tester séquentiellement, une à une, toutes les combinaisons possibles. Cette méthode de recherche exhaustive reste limitée et ne fonctionne que dans les cas où le mot de passe à rechercher est constitué de peu de caractères. Ce type de programme simule toutes les possibilités de mot de passe dans un ordre aléatoire, dans le but de berner les logiciels de sécurité et autre contres mesures… Enfin c’est l’objectif mais ça reste aléatoire. De plus, je ne vois pas comment un tunnel VPN pourrait être aussi facilement « cracké » à moins de posséder en préalable des infos techniques sur le VPN en question ??

    La solution la plus évidente « Prospérité » est de renforcer au plus vite ton mot de passe avec ce genre de caractères par exemple:

    !*P1@2s3s4w5o6r7d8*!

    Tu peux l’utiliser sans aucun souci! 🙂 Remplace par exemple les chiffres de 1 à 8 par ta date de naissance: jj mm AAAA ou AAAA mm jj

    Les lettres utilisées sont : P @ s s w o r d
    Les caractères spéciaux utilisés sont: ! *

    Ceci n’est qu’un exemple bien évidemment pour t’aider.

    Répondre
  • Hello Michel,

    Cela fait un moment que je n’ai rien posté mais toujours content de voir que tu n’oublie pas tes cher(e)s lecteur/ lectrice assidu.

    Cela semble interressant, je ne pensais pas qu’il fallait connaitre l’assembleur. Je pensais qu’en connaissant les language de programmation comme .NET ou C, C# etait suffisant.

    Tant de choses a apprendre et a maitriser, cela est vraiment excitant quand meme.

    Bon courage.

    Répondre
    • Bonjour gohy,
      Disons que connaître très bien l’assembleur est surtout nécessaire si l’on souhaite travailler dans ce domaine et ainsi pousser les recherches techniques.
      Connaître les langages de programmation .NET est un gros plus quoi qu’il arrive.
      Bonne continuation

      Répondre
  • Bonsoir,

    Juste un petit complément d’information au sujet des infections potentielles de machines virtuelles. Prenons VMWARE comme exemple de plateforme, à ma connaissance la seule possibilité d’infection réside dans la définition des caractéristiques réseau de VMWARE et de son HOST ou bien à travers un partage de support de stockage USB sous VMWARE avec la machine physique.

    Prenons le cas d’une carte réseau VMWARE configurée:

    « Bridged »: la machine virtuelle aura sa propre adresse IP interne délivrée par le réseau physique (routeur).

    « HOSTONLY »: la machine virtuelle communiquera à l’aide de l’IP de la machine physique.

    « NAT »: les machines virtuelles communiquent entre elles et la machine physique.

    Une configuration de type NAT sous VMWARE doit bien évidemment être sécurisée. De toute façon, en utilisation professionnelle, généralement, toute l’architecture système et réseau virtualisée reste confinée et cloisonnée, donc aucun souci de ce côté là.

    J’ai pu lire dans certains blogs, ailleurs qu’ici, que VMWARE notamment aurait des failles de sécurité au niveau de ses cartes réseaux. Personne n’a su me transmettre une explication claire et cohérente 🙂

    Franchement, j’ai beau réfléchir dans tous les sens, je ne vois pas comment cela serait possible… D’ailleurs, il faut savoir que les cartes réseau VMWARE « bridged » ou « HOSTONLY » paramétrées, avant l’installation d’un OS, sont automatiquement « soudées » au BIOS de la machine physique.

    Donc, à moins qu’un virus soit capable de pénétrer VMWARE pour ensuite s’infiltrer et attaquer le BIOS de la machine physique, je ne sais pas comment un virus serait capable d’agir sur une interface réseau VMWARE pour infiltrer le BIOS d’une machine physique etc. ? 🙂

    Répondre
  • Salut Michel

    Merci pour ta réponse

    J’ai essayé le chemin complet à savoir :
    C:\Users\***\Documents\Strings

    Mais cela ne mache pas non plus

    Répondre
    • Salut,
      Et-ce que le dossier Strings de ton exemple existe bien ?
      Le dernier dossier du chemin en question doit être celui qui contient le programme strings.exe.
      Sinon quel est le message d’erreur ?

      Répondre
      • Bonsoir,

        A noter que les utilitaires « Process Explorer » et « Netlimiter » sont très utiles dans ce genre d’analyse pointue.

        « Process explorer » permet de visualiser les programme en exécution, un classique pour ainsi dire. Il est performant de par ses fonctionnalités. On peut rapidement obtenir un visuel de ce qui se trame sur un « process », sa charge CPU et Mémoire par exemple. Au niveau des « Strings » aussi on peut faire de l’analyse comparative poussée etc.

        « Netlimiter », lui, permet d’afficher et de bloquer les logiciels qui ne sont pas sensés être connectés à internet. Il permet notamment de fixer des règles sur certaines zones (Réseau, Internet), de voir immédiatement le numéro de processus, port etc.

        Téléchargement « Process Explorer »: http://download.cnet.com/Process-Explorer/3000-2094_4-10223605.html

        Téléchargement « Netlimiter »: https://www.netlimiter.com/download

        Ces applicatifs font partis des incontournables avec bien évidemment « Virus total » pour tout utilisateur curieux et passionné 🙂

        Répondre
        • Au fait, j’oubliais un point important. L’application « Process Explorer » intègre l’analyse et la détection de « VirusTotal », cool! 🙂

          Répondre
  • Salut

    Oui le dossier existe bien. Le dossier est dans « documents » .
    Le message dans cmd c’est que « documents » n’est pas reconnu en tant que commande interne.
    J’ai pris le chemin complet du dossier et même j’ai essayé « mes documents » puis strings

    Merci

    Répondre
    • Bonjour Titan, Michel,

      Titan je te propose mon aide. Pourrais-tu copier/coller en retour ici la ligne de commande que tu as saisi dans l’invite de commandes (cmd) ?

      Si tu ne sais pas comment copier/coller en invite de commandes (cmd), je t’explique. Tu cliques gauche souris sur l’icône rectangulaire noir situé dans le coin gauche en haut de l’invite de commandes. Puis dans le menu contextuel qui s’affiche tu sélectionnes « Propriétés », puis coche « Mode d’édition rapide » et « Mode insertion », et valide « OK ».

      Répondre
      • ‘…ensuite tu sélectionnes la ligne avec ta souris dans l’invite de commandes (cmd), tu cliques gauche souris dessus la sélection, tu reviens ici et clic droit « Coller ».

        Répondre
  • …Erratum, c’est u clic droit sur la sélection puis reviens ici et clic droit « Coller » 🙂

    Répondre
  • Bonsoir Diki

    Merci pour ton aide

    Voilà ce qui s’affiche dans cmd

    C:\>Users\***\Documents\Strings
    ‘Users\***\Documents\Strings’ n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.

    Répondre
    • Ok. Je te propose une autre alternative plus pragmatique.

      Utilise pour commencer l’explorateur de fichiers Windows. Rends toi dans le répertoire intitulé « Utilisateurs » (ou « Users »), créé un nouveau Dossier intitulé « strings ». Copie et colle le fichier exécutable téléchargé « strings.exe »

      Ouvre à nouveau l’invite de commandes (cmd), normalement tu devrais voir s’afficher le chemin où tu es du style:

      C:\Users\Titan>

      ## commentaire: Titan est un exemple de nom d’utilisateur ##

      Tape la commande ‘cd..’ pour revenir au répertoire précédent « Utilisateurs » ou « Users »:

      C:\Users>cd..

      Tape la commande ‘dir’ pour éditer le contenu du répertoire « Utilisateurs » ou « Users »:

      C:\Users>dir

      Tu devrais voir le nouveau Dossier créé intitulé « strings » dans lequel tu as copié « strings.exe » et « stub.exe ». On va se positionner à l’intérieur du Dossier « strings » en tapant la commande ‘cd strings’:

      C:\Users>cd strings

      Retape la commande ‘dir’ pour afficher le contenu du Dossier « strings »:

      C:\Users\strings>dir

      Normalement tu devrais voir le fichier téléchargé et copié intitulé « strings.exe ». A l’intérieur du Dossier « strings » tu verras aussi le fichier exécutable (test) intitulé « Stub.exe » que tu auras préalablement copié/collé pour ce test.

      Il suffit maintenant de lancer la commande évoquée dans cet article qui est: strings.exe stub.exe >> resultat.txt

      ou

      C:\Users\strings>strings.exe stub.exe >> resultat.txt

      ## Commentaire: ATTENTION « C:\Users\strings> » est le chemin où tu te situes dans l’arborescence des dossiers Windows sur le disque ‘C’.

      Concernant le chemin que tu as posté dans ton précédent commentaire, il y a une anomalie. Es-tu certain de la syntaxe ‘***’ ??? Ces caractères spéciaux sont interdits normalement pour nommer un dossier. A moins que tu aies utilisé une technique bidouille, il vaut mieux faire comme je t’ai expliqué 🙂

      Répondre
  • Erratum sur le paragraphe « Tape la commande ‘cd..’ pour revenir… »:

    C:\Users>cd.. j’ai oublié le nom Utilisateur 🙂

    La correction est: C:\Users\Titan>cd..

    Répondre
  • Rebonsoir,

    J’attire votre attention sur le principe de précaution lorsqu’on télécharge ou ouvre un fichier en pièce jointe d’un email, notamment, dont on ne connaît pas vraiment l’origine et son contenu. Dans cet article il est fait référence par exemple à un fichier intitulé « Stub.exe ». Ici, aucun souci tout est fait dans les règles de l’Art 🙂

    Si vous êtes un jour, par curiosité, amené à tester un fichier étrange FAITES TRÈS ATTENTION.

    Il existe de nombreuses variétés et façons de collecter des données personnelles enregistrées sur votre disque dur. Si un jour vous recevez ou téléchargez un fichier « étrange » du style :

    « Carte_de_Visite_Sylvie_Dupond.cmd »

    Ne l’ouvrez surtout pas ! D’ailleurs, je vous déconseille fortement d’ouvrir aucun fichier portant l’extension ‘.cmd’ ! Les extensions standards ‘.pdf’ , ‘.docx’ ; ‘.jpg’ , ‘.xlsx’ etc. connus:) Concernant les extensions ‘.exe’ vérifiez via Google l’origine et le contenu de l’exécutable avant de cliquer dessus 🙂

    Il suffit de pas grand chose, quelques commandes du style (exemple):

    #################################

    @echo off

    open adresse du serveur ftp
    utilisateur
    mot de passe
    put « fichier à copier »

    ### ou via une connexion lecteur réseau ###

    net use x: \\nom du pc distant\nom de partage

    ### copie de fichiers: xcopy ###

    xcopy source x:

    ### déconnexion du lecteur réseau ###

    net use x: /delete
    ###################################

    J’ai volontairement simplifié le script pour des raisons évidentes. Faites donc ATTENTION lorsque vous ouvrez (cliquez) sur un fichier bizarre téléchargé ou réceptionné par email! 🙂

    A noter que Google Mail par exemple bloque automatiquement l’envoi et la réception de ce genre de fichier ‘.cmd’. « Web Mail Orange », lui, NON ! Ce n’est qu’un exemple.

    En conclusion, il faut toujours protéger et sécuriser son ordinateur et sa messagerie électronique à l’aide d’un bon antivirus Pro (payant).

    Répondre
  • Répondre
  • Re-bonjour Diki

    Merci beaucoup pour avoir pris le temps pour m’expliquer tout en détail. Finalement j’ai copié le dossier « strings » directement dans « users » et cela a marché pour cmd sauf qu’à la fin en tapant la commande strings.exe nom du fichier test.exe >> resultat.txt, il m’affiche que l’accès est refusé.

    Je dois préciser que pour fichier test.exe j’ai copié l’exe d’un logiciel portable dans le dossier strings (seulement son exe)

    Un grand merci

    Répondre
    • Bonjour Titan,

      Le retour « …accès refusé » est un classique. Je crois que c’est soit le système de protection temps réel Windows (Windows Defender) qui bloque l’accès ou soit ton antivirus, étant donné que c’est un fichier exécutable. Normalement si tu désactives ces 2 systèmes de protection tu devrais obtenir le résultat escompté dans le fichier « resultat.txt ». Ou alors tente de remonter en exception le fichier exécutable dans ton antivirus et le système de protection temps réel Windows, si tu ne veux pas les désactiver.

      Idéalement, dans ce genre de manipulation, il vaut mieux utiliser une machine virtuelle. J’ai prévu avec Michel de rédiger un petit tutoriel (Initiation à la virtualisation sous VMWARE) pour débutant. Ce sera l’occasion de le suivre et de le recommander sur la toile ! 🙂

      A+!

      Répondre
  • Salut Diki

    Merci infiniment pour tout et surtout ta patience et ta suivie.

    Malheureusement même en désactivant mon antivirus et d’autres produits de sécurité comme antimalware l’accès est toujours refusé.

    Merci pour la machine virtuelle recommandée. Je la connais mais actuellement pour certaine raison je ne souhaite pas installer une machine virtuelle 🙂

    Je laisse tomber pour le moment.

    100000 fois merci et encore + : )

    Répondre
    • De rien Titan! 🙂

      Je pensais à un truc, peut-être n’as-tu pas lancé l’invite de commandes en tant qu’Administrateur ? (« WINDOWS + R » puis clic droit souris sur « cmd » et Exécuter en tant qu’Administrateur)

      Bon week-end ! 🙂

      Répondre
  • Bonjour Diki

    Si j’ai essayé aussi avec le droit d’administrateur mais ça n’a pas marché non plus.

    En tout cas je te remercie.

    Je te souhaite un bon week-end 🙂

    Répondre
    • Bonjour Titan,

      A ce stade du diagnostic je ne vois qu’un souci de propriétés du fichier qui a été modifié. Il faudrait vérifier dans les propriétés du fichier « stub.exe » dans l’onglet « Sécurité » si tu es bien le propriétaire de ce fichier ?

      Il faut que l’utilisateur Windows « Administrateurs » sur lequel tu travailles soit le même que le propriétaire du fichier « stub.exe » affiché dans les propriétés/Sécurité/Avancé

      Répondre
  • Bonsoir Diki

    Oui l’administrateur et l’utilisateur tous les deux ont tous les droits sur le fichier.

    Répondre
  • Merci pour ce post . Svp tu as utilisé quel malware pour faire le test ? Le stub.exe provient de quel RAT ?

    Répondre
  • une relecture sur l’analyse des malwares ne me fait pas de mal , c’est une demande michel pourait tu nous faire un tutos sur le celèbre deboguer IDA pro ? merci d’avance

    Répondre
  • bon samedi soir michel très bien ton sujet sur les malware . légalité de l’analyse de codes malveillantes dans la loi
    française. les articles concernant la rétro conception ne couvrent pas. explicitement le cas de l’analyse de codes
    malveillants. en théorie cette activité n’est donc pas autorisée. même si elle est a priori indispensable. notamment

    chez les éditeurs d’antivirus et autres ids/ips. il ne semble cependant pas exister de jurisprudence. et on voit mal
    un auteur de code malveillant poursuivre quelqu’un en justice pour avoir analysé son oeuvre.en revanche la

    rétro conception est autorisée dans le but d’assurer l’interopérabilité entre logiciels. on pourrait donc considérer
    que cela couvre l’analyse de codes malveillants. puisqu’il s’agit justement d’assurer leur non interopérabilité.
    avec les système protégés!. l’objectif principal est d’analyser soit des fichiers exécutables soit des documents

    mal formés. sur une plate forme microsoft windows. il serait bien sûr possible d’avoir cette approche à d’autres
    systèmes. le laboratoire nécessite uniquement deux ordinateurs reliés par un réseau. indépendant i.e.un câble
    croisé ou un petit concentrateur appelés poste victime. victim host et poste d’observation monitoring server.

    ces deux postes peuvent aussi être constitués de deux machines virtuelles. sur une seule machine physique
    le poste victime contient le système ou est exécuté le code malveillant. tandis que le poste d’observation permet
    de simuler une connexion internet.et d’enregistrer toute activité réseau. ce type d’architecture a déjà été évoqué

    dans plusieurs articles. on peut le désigner par le terme sandnet par extension du terme classique sandbox
    bac à sable. le poste d’observation a deux principales fonctions il enregistre toute activité réseau provenant du poste
    victime. pour détecter les éventuelles tentatives de connexion du code malveillant. il permet de simuler

    une connexion à internet. afin de placer le code malveillant dans un environnement ou il peut tenter de se connecter.
    à des serveurs externes. pour cela il peut être nécessaire de simuler divers services. comme dns http smtp ftp ou encore
    irc. il faut également pouvoir simuler n’importe quelle adresse ip. sur demande du code malveillant

    bien sûr ce serveur ne doit pas être vulnérable vis-à vis du code malveillant. il doit être suffisamment durci
    sécurisé et maintenu à jour. il est recommandé. d’employer un système d’exploitation différent du poste victime
    pour limiter les risques si jamais le code malveillant. emploie un zero day. pour se répliquer il est possible

    d’employer des outils de détection d’intrusion comme snort ou bro pour détecter les tentatives d’attaque réseau connues.
    dans ce cas il est utile d’employer les signatures. bleeding threats. pour améliorer la détection de malware.
    connus le poste victime est l’ordinateur. ou le code malveillant est lancé. il doit si possible contenir le même

    système d’exploitation et les même applications que le système à protéger ou que celui ou le spécimen a été capturé.
    par exemple si le fichier suspect est un classeur excel détecté sur un poste. windows xp sp2 avec ms office xp
    alors le poste victime devrait avoir la même configuration. au contraire des postes habituels. le but ici est de pouvoir

    exécuter le code malveillant sans le bloquer il est donc nécessaire sauf cas particulier. de désactiver ou désinstaller
    toute protection. qui pourrait perturber l’analyse. antivirus à l’accès pare-feu personnel logiciel de scan automatique
    hips système de prévention d’intrusion local. maintenant intégré à de nombreux antivirus et pare-feu personnels.

    paramètres de sécurité trop restrictifs. la configuration réseau du poste victime doit aussi être adaptée pour diriger
    toute activité réseau ou internet vers le poste d’observation. passerelle par défaut serveur dns. fichier hosts
    proxy web. s’il est nécessaire d’observer les capacités d’auto réplication du code malveillant. il est possible d’étendre

    l’architecture réseau en ajoutant un ou plusieurs postes victimes supplémentaires. connectés au même concentrateur
    l’architecture de test peut être installée soit sur deux machines physiques soit sur deux machines virtuelles.

    aucune des deux solutions n’est idéale pour couvrir tous les cas de figure il est donc utile de prévoir les
    deux possibilités. avantages de la virtualisation coût et flexibilité une seule machine physique permet
    de simuler deux machines ou plus et de construire différentes architectures réseau. suivant les besoins

    sécurité les machines virtuelles peuvent être connectées par un réseau virtuel. totalement indépendant de tout réseau
    opérationnel. sans risque d’infecter d’autres machines. rapidité et efficacité une machine virtuelle peut être stoppée.
    restaurée et redémarrée en quelques secondes. facilité d’emploi n’importe quel état de fonctionnement

    peut être sauvegardé dans un snap -shot en quelques secondes. il est ensuite très simple de restaurer
    tout snapshot précédent et de comparer. plusieurs états entre eux les machines virtuelles peuvent être facilement
    copiées dupliquées et modifiées. pour constituer une bibliothèque de toutes les versions d’un système d’exploitation.

    ou d’une application inconvénients de la virtualisation il existe de nombreuses techniques connues. utilisables par un
    code malveillant pour détecter s’il s’exécute dans une machine virtuelle dans ce cas il peut éviter de s’exécuter ou
    perturber l’analyse. certains environnements de virtualisation peuvent être vulnérables et permettre à un code

    malveillant. spécifiquement conçu de s’échapper d’une machine virtuelle; pour compromettre le système hôte
    il est donc utile de prendre quelques précautions lors de toute exécution de code malveillant.fin de la première partie du
    sujet.

    Répondre
  • très bonne soirée michel super ton sujet sur les malwares. très bien expliquer pour les gens qui souhait devenir chercheur
    dans le domaine excuse du terme mais faut un putain de niveaux non? qu’elle son les formation et niveau qu’il faut pour
    cela un particulier peut t’il postuler à un poste dans le domaine? car bien souvent les formations son pas donner pour beaucoup de gens . toi par exemple qu’elles parcourt à tu fait qu’elles sont les conseille que tu peut donner aux gens.

    qui souhait travailler dans le domaine. avant de commencer à présenter les principes de l’analyse de malwares.
    il est nécessaire de définir précisément ce que nous désignons communément sous le terme malware.

    nous pouvons rencontrer de nombreuses définitions de la notion de malwares. toutes adoptant une vision et approche
    différente. le terme malware ou logiciel malveillant s’utilise généralement pour caractériser. tout logiciel malveillant

    ayant pour but de compromettre un système informatique sans l’accord de son propriétaire. le premier malware a
    fait son apparition dés le début de l’informatique dans les années 1970. intitulé creeper il était capable d’accéder

    à des système distants par le biais d’un modem et affichait le message l’m the creeper catch me if you can.
    à l’utilisateur. depuis les malwares n’ont cessés d’évoluer et de se complexifier. pour devenir aujourd’hui la première
    menace mondiale. ils peuvent maintenant opérer sur des système à haute criticité. comme ce fut le cas avec le

    malware stuxnet en 2010 qui était capable de modifier la vitesse de rotation des centrifugeuses des centrales nucléaires.
    aujourd’hui il existe de nombreuses version de malwares. il est important en tant qu’analyste d’avoir une vision
    précise des principales familles de malwares existantes. chaque famille de malwares à des fonctionnalités et des

    objectifs spécifiques. être capable de classifier la famille d’appartenance d’un malware permet d’identifier rapidement
    son impact et son but. backdoor les backdoor sont des malwares installant une porte dérobée sur la machine infectée.
    cette porte dérobée est alors utilisée par l’attaquant pour s’introduire dans le système à tout moment. initialement

    pour créer cette porte dérobée les attaquants ouvrait un port en écoute sur la victime. grâce à ce port actif l’attaquant
    pouvait alors se connecter à la machine pour l’administrer à distance. cette première technique montra rapidement ces
    limites. en effet cette méthode requiert une connexion et une action manuelle de la part de l’attaquant. sur chaque

    machine à infecter limitant ainsi le nombre de machines pouvant être administrées. pour répondre à ces limites.
    les portes dérobées ont rapidement dérivées en botnet.les botnet son un ensemble de machines administrées à
    distance par le biais d’un serveur central. dénommé c&c command and control l’utilisation d’un c&c. permet à l’attaquant

    de gérer un nombre potentiellement important de machines infectées depuis un point central. pour faciliter l’administration
    des botnet des frameworks existe ces frameworks. appelés rat remote administration tool permettent de procéder à
    toutes sortes d’actions sur la machine infectées. base de registre attaques. face à ce type de malware la priorité de

    l’analyse va être d’identifier le c&c pour rompre la communication. cette étape va permettre d’empêcher la machine
    infectée d’envoyer et recevoir des message. à son serveur central une fois la liaison inactive l’analyste va s’attacher
    à comprendre le protocole d’échange. entre le malware et son c&c afin de mettre en place une détection générique

    d’une infection sur le réseau. ransomware ces malwares vont empêcher la victime d’utiliser son système ou accéder à ses
    données tant qu’elle n’a pas payée une rançon à l’attaquant.pour empêcher l’accès aux données la plupart des variantes
    vont chiffrer les données. de la machine pour les rendre inaccessibles.la clé de déchiffrement sera alors livrée à l’utilisateur
    lors du paiement de la rançon. l’objectif principale pour l’analyste va être d’identifier les méthodes et algorithme de cryptage.

    utilisés stealer comme leur nom l’indique ces malwares vont tenter de dérober des information sur les victimes
    à l’instar des backdoor ces malwares vont dialoguer avec l’attaquant par le biais d’un c&c pour transmettre.
    les données récupérées. l’objectif pour le pirate étant principalement de récupérer des information.

    sensibles numéro de carte de crédits mot de passe. la mission principale de l’analyse va être d’identifier le serveur
    central pour rompre la communication. et empêcher l’envoie de données ensuite il va essayer. de comprendre qu’elle
    informations sont impactées pour estimer les risques encourus par l’infection

    Répondre
  • bonne soirée michel sympas le sujet . juste un petit exemple pour la forme.

    en théorie le code exécuté dans un environnement sandbox doit s’exécuter de la même manière que sur un ordinateur
    physique.en réalité. la plupart de ces environnements restreints présentent des caractéristiques particulières.

    qui permettent aux auteurs d’attaques d’inclure dans leur logiciel malveillant . des fonctions vérifiant s’il s’agit
    d’environnements virtuels. contrôle des versions de nombreux fichiers malveillants sont configurés pour s’exécuter

    uniquement sous certaines versions de systèmes d’exploitation ou d’applications.
    ces restrictions auto-imposées ne visent pas toujours à contourner les environnements sandbox.

    bon nombre d’entre elles. cherchent simplement à exploiter une vulnérabilité présente dans une version précise
    d’une application par exemple. mais le résultat est souvent le même.

    tous les environnements sandbox possèdent des configurations prédéfinies.
    si une configuration donnée n’inclut pas une combinaison précise de systèmes d’exploitation et d’applications

    certains logiciels malveillants ne s’exécuteront pas et échapperont ainsi à la détection.

    exemple balises iframe incorporées dans les fichiers gif et flash.

    souvent les logiciels malveillants utilisent des fichiers en apparence inoffensifs pour contourner les défenses.
    et télécharger une charge active malveillante.ils ont fréquemment recours à une tactique qui consiste à

    dissimuler des balises html iframe dans un fichier normalement non exécutable.

    par exemple une image gif ou acrobat flash. seules. ces fichiers ne sont pas exécutés et ne présentent
    donc aucun comportement suspect dans l’environnement sandbox.

    en faite ils dissimulent des données qui sont déverrouillées et exécutées par un fichier distinct. déjà
    présent sur un ordinateur physique compromis.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous devez remplir ce champ
Vous devez remplir ce champ
Veuillez saisir une adresse e-mail valide.

Menu