ebook img

Sécurité informatique et Malwares Analyse et contre­mesures PDF

278 Pages·1970·13.02 MB·French
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Sécurité informatique et Malwares Analyse et contre­mesures

Sécurité informatique et Malwares Analyse et contre­mesures (2e édition)  Ce livre décrit les techniques et la méthodologie utilisées par les professionnels de l'analyse de malwares(ou logiciels  malveillants). Il s'adresse à des informaticiens passionnés de sécurité, à des professionnels dans le domaine de la  sécurité informatique, qui souhaitent une approche opérationnelle et hautement technique.    L'auteur commence parl'identification et la classification des malwares, il décrit ensuite les collectes rapportées par  des investigations numériques légales (inforensiques) puis les analyse. Ces collectes comportent des images disque,  des journaux d'évènements, mais aussi des images mémoire. Les outils et techniques permettant d'analyser ces  données sont décritsavec de nombreux exemples.    Après  avoir  identifié  le  malware,  il  convient  de  l'analyser.  L'auteur  explique  le  fonctionnement  desoutils  de  sandboxes et décrit des formats de fichier comme les documents pdf, Microsoft Office ou encore les binaires Windows.  Afin de réaliser des analyses extrêmement techniques, le livre contient un chapitre entier sur le reverse engineering  (ou rétro­ingénierie), l'auteur y explique lesbases de l'assembleur (x86 et x64)et l'utilisation d'outils d'analyse  statique tel que IDA Pro et Radare2 ou de debuggers tel que Immunity Debugger et WinDBG. En complément sur ce  sujet du reverse engineering, un chapitre explique les techniquesd'obfuscation utilisées par les malwares, telles  que l'obfuscation de chaînes de caractères ou l'utilisation de packers. L'auteur détaille les techniques permettant de  dépacker des binaires packés. La dernière partie de ce livre parcourt les méthodes permettant d'éradiquer les  malwaresprécédemment identifiés et analysés.    Le livre est illustré d'exemples d'analyses de véritables malwares et les techniques présentées ont toutes été validées  sur des cas réels. Tous les codes sources du livre sont en téléchargement sur cette page.      Les chapitres du livre :  Avant­propos – Identification d'un malware – Analyse de base – Reverse engineering – Techniques d'obfuscation –  Détection, confinement et éradication  Paul RASCAGNERES  Paul RASCAGNERES, tout au long de sa carrière, a créé en Europe diverses équipes de réponses à incidents, il a  également réalisé de nombreuses analyses de codes malveillants complexes pour un éditeur d’anti­virus. Il travaille  aujourd’hui au CERT SEKOIA, où il a pour mission l’analyse de malwares lors d’incidents de sécurité ou lors de projets  de recherches. Il participe également activement à la communauté anti­malware et est l’auteur de nombreuses  publications. Au fil des années, il a créé des bases de données de malwares à disposition des chercheurs. Conférencier  à l'international (Europe, Asie, Amérique) sur l'analyse de malwares, il partage dans ce livre ses connaissances dans ce  domaine de la sécurité.  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGORiXv5qrnWiAsA-enidentnumber © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose - 1 - Introduction Ce livre s’adresse aux passionnés de sécurité informatique, mais également aux professionnels du secteur souhaitant  acquérir les compétences nécessaires pour gérer un incident de sécurité lié à une infection virale ou encore  comprendre le fonctionnement d’un malware.  Pour suivre le déroulement de ce livre, il est préférable d’avoir des notions sur les systèmes d’exploitation Windows,  sur les réseaux, et également des notions en développement.  L’objectif de ce livre est de pouvoir analyser une machine et identifier si elle est infectée par un malware ou non. Une  fois l’infection confirmée, il est nécessaire de pouvoir analyser ce malware avec différentes techniques pour en  comprendre le fonctionnement et créer des signatures permettant de l’identifier sur tout le parc informatique.  De nos jours, les attaques informatiques et l’utilisation de malwares sont de plus en plus fréquentes. Les médias  s’empressent d’exposer toujours plus de cas d’attaques avec des malwares tels que Stuxnet, Turla ou encore Regin.  Les cibles sont aussi variées que des États, des entreprises cotées en bourse ou des journalistes. L’analyse de  malwares n’est plus uniquement réservée aux sociétés d’antivirus. Afin de pouvoir gérer ces cas toujours plus  fréquents et évolués, les sociétés doivent, avec l’aide de leurs employés, être capables de comprendre les techniques  et la méthodologie utilisées par les spécialistes de l’analyse de malwares.  Ce livre est né d’un besoin exprimé lors de nombreuses interventions auprès de sociétés après des attaques réussies  ou des découvertes de réseaux infectés depuis des mois. Une demande de formation existe dans l’analyse de  malwares ; cet ouvrage peut parfaitement servir de support de cours.  Ce livre est décomposé en cinq chapitres. Chaque chapitre est illustré d’exemples réels, étudiés lors d’interventions  suite à un incident de sécurité ou lors d’analyses réalisées pour différents projets de recherches.  Le chapitre Identification d’un malware commence par une présentation des différentes familles de malwares. Il  présente ensuite plusieurs scénarios d’infection ainsi que les techniques utilisées par les malwares pour contacter  leurs  serveurs  d’administration.  Après  ces  présentations,  ce  chapitre  évoque  les  collectes  nécessaires  à  une  investigation ainsi que le mode opératoire des attaquants en cas d’attaques ciblées avancées (dites APT).  Le chapitre Analyse de base explique la création d’un laboratoire d’analyse de malwares. Puis, il présente différents  formats de fichiers tels que les formats PE, PDF, JAR, Office ou encore Flash. Ensuite, le chapitre présente des  techniques pour suivre le flux d’exécution d’un binaire sous Windows et l’utilisation de l’outil libre Cuckoo Sandbox. Il  se termine par une présentation des ressources disponibles sur Internet concernant l’analyse de malwares.  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGN7FJv+qrnWiAsA-enidentnumber Le chapitre Reverse engineering est le plus complexe de ce livre. Ce chapitre présente l’assembleur x86 nécessaire  pour ce type de travail. Ensuite, les outils liés à l’analyse statique et dynamique sont présentés. Une présentation de  l’API Windows est également faite afin de comprendre les actions d’un malware.   Le chapitre Techniques d’obfuscation est la continuité naturelle du chapitre Reverse engineering. En effet, pour  compliquer les analyses, les attaquants utilisent des techniques qui sont présentées dans ce chapitre. L’obfuscation  des chaînes de caractères et de l’API Windows est expliquée avec des exemples concrets. La plus importante partie  de ce chapitre est consacrée aux packers et comment dépacker un malware. Une description complète du packer  utilisé par Hacking Team sera présenté.  Le  chapitre  Détection,  confinement  et  éradication  d’un  malware  commence  par  présenter  les  indicateurs  de  compromission ainsi que les outils liés à ce domaine. Ensuite, il est expliqué comment créer des signatures des  malwares analysés. L’antivirus libre ClamAV sera présenté.  À l’heure où cet avant­propos est écrit, il n’existe aucun ouvrage francophone sur ce sujet. Le but de ce livre est de  pallier ce manque en espérant qu’il permettra que des attaques ou des infections soient correctement et rapidement  gérées.  © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose - 1 - enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGN7FJv+qrnWiAsA-enidentnumber - 2 - © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose Présentation des malwares par familles 1. Introduction Pour commencer, il est nécessaire de définir ce qu’est un malware (ou logiciel malveillant). Un malware est un logiciel  créé dans le but de compromettre un système informatique sans l’accord du propriétaire de ce système.  Les premiers malwares sont nés dans les années 1970. Le premier malware, nommé Creeper, pouvait se connecter  à un système distant en utilisant un modem et afficher le message d’erreur suivant : « I’M THE CREEPER: CATCH ME  IF YOU CAN ». Depuis, les malwares ont évolué, ils sont capables à présent de modifier la vitesse de rotation d’une  centrifugeuse comme l’a fait en 2010 le malware Stuxnet dans une centrale nucléaire iranienne, de voler des  informations sensibles comme Flamer en 2012, ou, encore plus récemment en 2015, d’utiliser des liaisons satellites  pour communiquer avec l’attaquant, comme ce fut le cas pour Turla.  Il existe des millions de malwares différents. Ces malwares ont des fonctionnalités différentes, ils peuvent être  classés par familles. Il est important de pouvoir classer un malware en fonction de son impact et son but.  2. Backdoor Les backdoors sont des malwares permettant à un attaquant de prendre la main sur le système infecté. Au début,  ces malwares ouvraient un port en écoute sur la machine infectée. Grâce à ce port ouvert, l’attaquant pouvait se  connecter à la machine afin de l’administrer à distance. Cette technique impose une connexion à chaque machine et  l’administration d’un parc de machines infectées est alors des plus laborieuses. On comprend que cette approche  limite le nombre de machines humainement gérables par un seul attaquant. Pour pallier cette limitation, ces  backdoors ont évolué en botnet. Un botnet est un ensemble de machines infectées reliées entre elles par un serveur  central qui diffuse les ordres au travers du botnet. Ce serveur central est communément appelé C&C ou C2  (Command and Control). Ces serveurs peuvent être des serveurs IRC (Internet Relay Chat) ou encore des serveurs  web. De cette manière, l’attaquant peut administrer des milliers de machines depuis un point central. Cette  architecture client/serveur est parfois édulcorée par un modèle pair à pair : quelques collecteurs obtiennent les  ordres depuis le C&C, ensuite les ordres sont diffusés dans le voisinage du collecteur. De proche en proche les  ordres sont ainsi diffusés dans tout le botnet. Waledac est un bon exemple d’une telle architecture.  Des frameworks ont été créés pour faciliter l’administration de ces machines infectées. Ces frameworks, appelés RAT  (Remote  Administration  Tool),  permettent  de  prendre  la  main  sur  les  machines  infectées,  mais  également  d’automatiser la capture d’écran, le transfert de fichiers entre l’attaquant et la machine infectée, de gérer la base de  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGOhY/QBq7nWiAsA-enidentnumber registre Windows... Les fonctionnalités de ces RAT sont seulement limitées par l’imagination des développeurs. Ces  frameworks sont parfois appelés des chevaux de Troie, en référence à la mythologie grecque.  Pour saisir l’impact de ce type de malware, de nombreux exemples d’utilisation existent. Par exemple, lors des  révolutions arabes de 2011, un RAT nommé DarkComet a été utilisé par les autorités syriennes pour contrôler les  ordinateurs des opposants au régime.  Pour ce type de malware, le premier travail de l’analyste de malwares consiste à trouver le C&C afin de bloquer tout  accès à ce serveur. Certes ce blocage ne nettoie pas les machines infectées par le malware mais l’attaquant sera  neutralisé, en effet il ne pourra plus donner d’ordre au botnet. Cette approche permet de gagner du temps pour  continuer les analyses. La seconde étape consiste alors à comprendre comment éradiquer le malware, c’est­à­dire  désinfecter la machine. Dans un troisième temps, on s’attachera à cerner les fonctionnalités du malware pour en  cerner l’impact ainsi que son protocole de communication avec le C&C par exemple pour définir une détection  générique de son trafic réseau. Cette dernière détection générique peut alors permettre la détection de nouveaux  C&C...  © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose - 1 - 3. Ransomware et locker Les ransomwares sont des malwares créés pour que l’utilisateur infecté ne puisse plus utiliser son système  d’information ou consulter ses documents sans payer une rançon à l’attaquant.  Dans le cas où ce sont les données qui ne peuvent plus être consultées, le ransomware chiffre les fichiers et  l’attaquant ne donnera la clé de déchiffrement qu’après avoir reçu la rançon. Ce type de malware est appelé un  locker.  Dans le cas où le système d’information est visé, la machine est limitée dans son utilisation. Par exemple, il est  impossible de se connecter sur Internet. Dans ce cas, l’attaquant fournit un logiciel de déblocage après avoir reçu la  rançon.  Pour ce type de malware, l’analyste devra comprendre l’algorithme de chiffrement ou les mécanismes de blocage de  la  machine  mis  en  place  par  l’attaquant.  En  effet,  des  erreurs  d’implémentation  ou  des  algorithmes  faibles  permettent souvent de restaurer les fichiers de la victime sans payer aucune rançon.  Il existe de nombreux ransomwares, parmi ceux­ci Matsnu (ou Rannoh) est particulièrement intéressant. Une des  caractéristiques de ce malware est sa grande vitesse de propagation ainsi que le nombre important de machines  bloquées. Ce ransomware était interfacé avec plusieurs serveurs d’administration. De plus, pour rendre l’analyse  encore plus complexe, le malware générait des clés de chiffrement uniques pour chaque fichier chiffré. Le chiffrement  utilisé était le RC4 qui est considéré comme un algorithme de chiffrement fort.  4. Stealer Les stealers (voleurs) sont des malwares créés dans le but de voler des informations ou des données sur la machine  infectée. Comme dans le cas des backdoors, ces malwares se connectent à des serveurs centraux pour envoyer les  données volées. Ces données peuvent être de tout type : des e­mails, des plans, des numéros de carte de crédit,  des bitcoins (monnaie virtuelle)...  Tout comme pour les backdoors, le but de l’analyste de malwares est de trouver le C&C afin de bloquer toutes les  communications avec celui­ci. La seconde étape est d’analyser quels types de données ont été exfiltrées par ce  malware afin d’évaluer l’impact.  Il existe de nombreuses manières pour faire sortir les données d’un système : l’attaquant peut utiliser de nombreux  canaux de communication tels que l’envoi d’e­mails, les salons IRC, ou encore le web en envoyant par exemple les  informations sur PasteBin, un outil permettant de copier un texte pour le rendre disponible aux autres internautes.  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGOhY/QBq7nWiAsA-enidentnumber Ce type de malware peut être illustré par le cas de Duqu, découvert en 2011 dans le laboratoire de cryptophragie et  de sécurité système de l’université polytechnique et économique de Budapest. Ce malware a été conçu pour  capturer les frappes du clavier de la machine infectée et également pour récupérer des informations sur le système  infecté. Les cibles de ce malware étaient peu nombreuses et concernaient essentiellement des systèmes de  contrôle industriel. Les malwares permettant de capturer ce qui est saisi au clavier sont appelés des keyloggers.  5. Rootkit Les rootkits sont des malwares servant à dissimuler l’activité de l’attaquant sur la machine infectée. Les premiers  rootkits sont nés en 1994 sur Linux, en 1998 sous Windows et en 2004 sous Mac OS X.  Le premier but d’un rootkit est de se dissimuler, pour cela le rootkit va supprimer sa trace dans les journaux  système. Il va également cacher son existence au niveau de la base de registre, mais aussi au niveau du système  de fichiers via des mécanismes de hook.  - 2 - © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose Un hook consiste à remplacer un appel système du système d’exploitation par un autre appel. Dans notre cas, le  malware peut par exemple remplacer l’appel système permettant d’afficher les fichiers présents dans un répertoire  par  un  appel  modifié  listant  seulement  les  fichiers  non  liés  au  rootkit.  Ainsi  les  fichiers nécessaires  au  fonctionnement du malware restent cachés.   Un rootkit cachera par exemple son activité de processus ou son activité réseau. De cette manière, l’utilisateur de la  machine infectée sera incapable de voir qu’un logiciel non voulu est en cours de fonctionnement sur sa machine. De  plus, les rootkits peuvent également stopper les antivirus ou firewalls pour ne pas être interrompus pendant que  l’attaquant se connecte à la machine infectée. À la manière d’une backdoor, les rootkits laissent généralement une  porte dérobée pour permettre à l’attaquant d’utiliser la machine infectée.  Les rootkits ont besoin de privilèges élevés pour pouvoir fonctionner. Il est donc fréquent que ces rootkits soient  des drivers du noyau chargés automatiquement au démarrage de la machine. Ces dernières années, de nouveaux  types de rootkit apparaissent agissant au niveau firmware ou au niveau du BIOS de la machine. Ces rootkits sont  très compliqués à identifier, car le systèmed’exploitation n’est pas capable de les analyser. En 2010, un chercheur a  publié une méthode permettant de remplacer le firmware d’une carte réseau. Ce nouveau firmware permettait une  prise de main à distance de la machine infectée sans rien modifier au système d’exploitation.  Ce type de malware est le plus compliqué à analyser. Les fonctionnalités sont multiples, la taille de ce type de  malware est généralement grande et leur dissimulation rend l’analyse encore plus ardue.  TDL­4 est un malware ayant utilisé un rootkit. Ce rootkit s’installait sur le MBR (Master Boot Record) du disque dur. Le  MBR est le secteur de boot d’un disque dur, il permet au système d’exploitation de démarrer. Le fait de se trouver  sur cette section de disque rend la détection par les antivirus beaucoup plus difficile. Il y aurait en juin 2011 plus de  4 millions de machines infectées par ce rootkit.  Plus récemment, en 2014, le rootkit Turla (également connu sous le nom Uroburos et Snake) a été révélé. Celui­ci a  pour particularité de contourner certainesprotections mises en place par Microsoft pour limiter l’utilisation des  rootkits sur les systèmes d’exploitation Windows. Ces protections et leurs contournements seront évoqués plus loin  dans cet ouvrage.  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGOhY/QBq7nWiAsA-enidentnumber © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose - 3 - Scénario d’infection 1. Introduction Il est important de comprendre comment un malware peut être installé sur une machine. Il existe une multitude de  scénarios d’injection, et les attaquants ne manquent pas de créativité pour infecter le plus de machines possible.  Certains  botnets,  comme  Cutwall,  contiennent  plus  de  deux  millions  de  machines  à  la  disposition  des  administrateurs.  2. Scénario 1 : l’exécution d’une pièce jointe Ce scénario est le plus simple et le plus courant, il joue sur la crédulité des utilisateurs d’ordinateurs. Le principe est  d’inciter l’utilisateur à infecter sa propre machine. Le malware au format exécutable peut être diffusé par e­mail ou  encore par des liens sur les réseaux sociaux. Il est accompagné d’un message visant à tromper la victime par  l’intermédiaire des techniques d’arnaque usuelles comme l’appât du gain. Ces malwares sont parfois même envoyés  par des proches de confiance dont l’identité a été usurpée.  Ainsi, il est recommandé de ne pas ouvrir les pièces jointes exécutables envoyées par e­mail si celles­ci ne sont pas  attendues, ou si l’e­mail est écrit d’une manière inhabituelle.  Certains sites proposent également des vidéos ou des photos pour pousser les utilisateurs à télécharger des  applications et à les installer. Beaucoup de sites pour adultes sont spécialisés dans la distribution de fichiers  binaires permettant d’accéder à des services privilégiés du site en question. Souvent ces exécutables sont en réalité  des malwares que l’utilisateur curieux installera lui­même sur la machine.  3. Scénario 2 : le clic malencontreux Le deuxième scénario est plus complexe que le premier et l’infection n’est pas réalisée directement par l’utilisateur.  Les attaquants utilisent des vulnérabilités dans le navigateur (ou ses extensions) pour déployer automatiquement  leurs malwares. Cette méthode exploite le fait que beaucoup d’utilisateurs ne mettent pas à jour leur système  d’exploitation ou leur navigateur ou encore les extensions utilisées par le navigateur telles que Flash ou Java.  En août 2015, une vulnérabilité majeure dans Flash a été rendue publique suite à la compromission de la société  Hacking Team. Cette vulnérabilité permettait d’exécuter des commandes sur la machine d’un utilisateur. Pour cela,  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGMFzAAIq7nWiAsA-enidentnumber l’utilisateur de la machine devait simplement se rendre sur la page malveillante. Rien ne laissait voir qu’une infection  était en cours en étant simplement connecté à cette page web. Des développeurs de malwares ont très largement  utilisé cette vulnérabilité pour infecter un grand nombre de machines.  Dans ce scénario, une action de l’utilisateur est tout de même nécessaire, mais cette action est limitée à un simple  clic. Avec les services de raccourcissement d’URL utilisés par les réseaux sociaux, il est de plus en plus fréquent de  cliquer sur des liens sans savoir vers quels sites ils pointent.  Depuis quelques années, l’écosystème des cybercriminels a vu une croissance fulgurante des exploit­kits. Ceux­ci  sont des frameworks vendus sur le marché noir permettant d’exploiter plusieurs vulnérabilités sur une cible pour  augmenter les chances de compromission. Par exemple, certains exploit­kits détectent les versions du navigateur  des cibles, ainsi que les versions des extensions (Flash, Java, Silverlight...) et ils déclencheront un exploit en fonction  des résultats pour exécuter le malware sur la machine cible.  4. Scénario 3 : l’ouverture d’un document infecté © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose - 1 - Ce scénario est un mélange des deux premiers. En effet, de plus en plus d’utilisateurs sont méfiants vis­à­vis des  binaires inconnus. Les attaquants envoient donc des documents médias qui eux sont trop souvent considérés sans  risque.   Les fichiers de type PDF ou encore les fichiers liés à la bureautique tels les DOC, XLS ou PPT (de la suite Office de  Microsoft) ne sont en effet pas des exécutables, ils ne modifient en rien la configuration de la machine qui ouvre ce  type de document. Mais comme tout logiciel, les applications permettant de lire ces documents peuvent comporter  des vulnérabilités. Ainsi, certains attaquants utilisent ces documents pour déployer du code malveillant sans que  l’utilisateur ne se doute de quoi que ce soit.   C’est par cette méthode que le malware Duqu a été installé, il a utilisé une vulnérabilité dans la gestion des polices  sous Windows.  5. Scénario 4 : les attaques informatiques Ce scénario concerne davantage les entreprises que les particuliers. Les attaquants peuvent chercher et trouver  des vulnérabilités sur les systèmes ouverts sur Internet. Les serveurs web ou les serveurs mail sont des exemples  de systèmes frontières faisant office d’interface entre Internet et le réseau interne.   Une fois qu’un attaquant découvre une vulnérabilité permettant d’exécuter des commandes, il est en mesure de  déployer un malware. Sur de tels serveurs, la suite de l’attaque consiste à pouvoir progresser depuis cette frontière  vers le réseau interne de l’entreprise pour atteindre les machines qui intéressent les attaquants tels que les  contrôleurs de domaines, les serveurs de boîtes e­mail ou les serveurs de fichiers.  6. Scénario 5 : les attaques physiques : infection par clé USB Ce dernier scénario, pour être réalisé, nécessite un accès physique à la machine à compromettre. Il existe des clés  USB (par exemple l’USB Rubber Ducky) pouvant se faire passer pour un clavier. Il est possible de configurer cette clé  pour que, une fois connectée sur une machine, elle saisisse ce que l’attaquant a préalablement configuré. La  machine pourra alors télécharger un logiciel malveillant et l’exécuter.   Cette technique peut sembler complexe à mettre en place, cependant il existe de nombreuses bornes multimédias à  libre disposition dans les lieux publics et dont les ports USB sont parfaitement accessibles.  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGMFzAAIq7nWiAsA-enidentnumber - 2 - © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose Techniques de communication avec le C&C 1. Introduction Les canaux de communication entre le malware et son C&C (Command and Control) sont souvent un point faible de  l’infection. Afin de pérenniser leur travail, les développeurs de malwares renforcent ces canaux de communication  afin de les rendre toujours plus discrets, plus difficiles à couper. La plupart des malwares interrogent les C&C via un  nom de domaine, ce nom pointant vers une adresse IP. Il existe plusieurs solutions permettant de couper les  canaux de communication : rendre indisponible l’adresse IP ou faire pointer le nom de domaine dans le vide. De  telles mesures peuvent stopper l’activité du malware.   Cette partie va traiter des techniques de protection utilisées par les malwares pour rendre leurs canaux de  communication plus résistants à de telles contre­mesures. Dans certains cas, beaucoup plus rares, le malware ne  contacte pas directement un C&C ; il reste passif et attend les ordres. Ce type d’approche est très discret et donc  difficile à identifier. Il est cependant plus complexe à mettre en place et à maintenir.  2. Mise à jour de la liste des noms de domaine Cette technique consiste à mettre à jour la liste d’adresses des C&C. Une telle commande est d’ailleurs souvent  opérée à distance par le C&C lui­même ou via un C&C de secours. Les malwares ont généralement plusieurs  adresses où ils peuvent joindre un C&C. Si une de ces adresses est inaccessible, un des C&C encore actifs prévient  la machine infectée en lui communiquant une ou plusieurs nouvelles adresses de C&C. Cette méthode fonctionne  correctement si tous les C&C ne sont pas coupés simultanément.  3. Communication via HTTP/HTTPS/FTP/IRC De nos jours, les malwares ont tendance à utiliser des protocoles de communication connus. Il y a plusieurs raisons  à ce choix :  1.  Il est beaucoup plus discret pour un malware de communiquer via un protocole utilisé chez la cible. Il sera  alors noyé dans la masse et cela n’éveillera pas les soupçons.  2.  Il existe des API pour tous les protocoles standards, ce qui facilite le développement du malware.  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGMTOY4Kq7nWiAsA-enidentnumber Le protocole IRC était utilisé au début des années 2000. Aujourd’hui, la plupart des malwares et des botnets  utilisent les protocoles HTTP ou HTTPS. Le protocole HTTPS est plus compliqué à analyser du fait qu’il est chiffré.   Il n’est pas rare de croiser le protocole FTP. Celui­ci est utilisé pour le transfert de fichiers (par exemple, pour  récupérer les fichiers volés ou des captures d’écran de la machine infectée).   L’utilisation des protocoles HTTP et HTTPS est facilitée sous Windows par les objets COM. Ces objets permettent de  manipuler les systèmes Windows. Dans le cas présent, ces objets peuvent manipuler le navigateur Internet Explorer  afin de se connecter au C&C. Les objets COM seront décrits plus tard dans ce livre.  4. Communication via e­mail Il est possible pour un malware d’utiliser le client mail de l’utilisateur infecté pour communiquer vers l’extérieur (par  exemple,  en  utilisant  les  pièces  jointes).  Cette  technique  de  communication  est  également  facilitée  par  les  objets COM de Microsoft Windows. Dans ce cas précis, les objets COM peuvent être utilisés afin de manipuler  Microsoft Outlook et donc les e­mails de l’utilisateur, de les lire ou même d’en envoyer.  © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose - 1 - 5. Communication via un réseau point à point Afin de se protéger et de rendre un botnet plus difficile à couper, des auteurs de malwares ont pensé à implémenter  des méthodes d’exploitation des liaisons de proche en proche (ou point à point) dans leurs malwares. Dans ce cas,  les machines infectées ne communiquent pas directement à un C&C mais elles communiquent entre elles afin de  s’échanger des informations (telles que leur configuration, etc.). Ce fut le cas du malware bancaire Gameover Zeus.  6. Communication via des protocoles propriétaires Il existe des malwares dans lesquels les auteurs ont mis en place un protocole propriétaire de communications vers  Internet. C’est le cas du très connu PoisonIvy. Ce type d’approche est de moins en moins fréquent car il est facile de  détecter ce flux non conventionnel au milieu du flux de données légitimes.  7. Communication passive L’une des approches les plus intéressantes afin de communiquer avec une machine infectée est la communication  passive. Cette technique n’est efficace que pour des machines directement connectées à Internet. La machine va  être en attente d’une sollicitation de l’attaquant et, une fois celle­ci effectuée, une connexion avec celui­ci sera mise  en place. Un second avantage de cette technique est que le malware n’a pas besoin de connaître de serveur de  commande.  C’est le cas dans la version serveur du malware Derusbi. Celui­ci crée un filtre réseau sur la machine infectée et  attend une séquence réseau particulière. Si cette séquence est envoyée à la machine infectée, alors un flux de  communication entre l’émetteur de la séquence et le malware installé sur la machine sera mis en place afin  d’administrer cette machine.  8. Fast flux et DGA (Domain Generation Algorithms) Le fast flux est une technique utilisant des caractéristiques du protocole DNS (Domain Name System) gérant les  noms de domaine. Cette technique permet d’attribuer à un nom de domaine plusieurs adresses IP. Voici un exemple  où l’adresse des C&C est noyée dans la masse :  enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAAyYWpvc2UgYWpvc2UgLSBkNzVmMzU0Zi01NDg3LTRkNTktYTAxYi03YmFhMTEyM2ZiOGMTOY4Kq7nWiAsA-enidentnumber rootbsd@lab:~$ nslookup dummy.com Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: dummy.com Address: 192.168.34.10 Name: dummy.com Address: 192.168.34.11 Name: dummy.com Address: 192.168.34.102 rootbsd@lab:~$ nslookup dummy.com Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: - 2 - © Editions ENI – Tous droits réservés – Copie personnelle de ajose ajose

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.