{"id":319,"date":"2017-03-30T10:11:17","date_gmt":"2017-03-30T10:11:17","guid":{"rendered":"http:\/\/www.erroussafi.com\/blog\/?p=319"},"modified":"2018-08-07T12:14:15","modified_gmt":"2018-08-07T11:14:15","slug":"malware-analysis-les-outils","status":"publish","type":"post","link":"https:\/\/www.erroussafi.com\/index.php\/2017\/03\/30\/malware-analysis-les-outils\/","title":{"rendered":"Malware Analysis &#8211; Les outils"},"content":{"rendered":"<p>Dans ce premier article, je vais vous parler des outils, souvent libres et gratuits, tr\u00e8s utiles pour commencer dans cet exercice.<br \/>\n<strong>L&#8217;analyse de Malware<\/strong> est la discipline qui consiste \u00e0 \u00e9tudier un malware (Virus, Ver, Cheval de Troie, Rootkit, Backdoor, APT ..), afin de determiner avec exactitude le fonctionnement, l&#8217;origine et l&#8217;impact potentiel d&#8217;une infection. Cette discipline, tr\u00e8s technique, est le fort des constructeur et \u00e9diteurs de solutions de cyber s\u00e9curit\u00e9, et qui consiste \u00e0 op\u00e9rer une \u00e9tude, des tests, et des simulations pour determiner le plus d&#8217;informations possible. Beaucoup de ces techniques s&#8217;inspirent du &#8220;Reverse Engineering&#8221; qui est une discipline beaucoup plus globale.<br \/>\nLe but de cet article est de permettre la constitution d&#8217;une boite \u00e0 outils, qui vous permettera d&#8217;entammer la pratique de ces techniques pour comprendre, les dangers que confronte le monde de la\u00a0cyber s\u00e9curit\u00e9 d&#8217;aujourd&#8217;hui.<\/p>\n<h4>Environnement de test<\/h4>\n<p>L&#8217;approche la plus naturelle pour examiner le comportement d&#8217;un malware est d&#8217;infecter une machine et utiliser des outils de monitoring pour constater l&#8217;impact et determiner le comportement. Ceci donc nous indique la n\u00e9cessit\u00e9 de disposer d&#8217;un environnement de test.<br \/>\nLa solution la moins on\u00e9reuse, consiste \u00e0 utiliser des outils de virtualisations, qui peut nous permettre d&#8217;utiliser plusieurs machines\/syst\u00e8mes sur une seule machine physique. Ceci suffira pour une analyse unitaire sur un poste de travail.<br \/>\nJe vous conseille donc les outils Gratuits suivants dans l&#8217;ordre de pr\u00e9f\u00e9rence :<\/p>\n<ul>\n<li><a href=\"https:\/\/www.virtualbox.org\/\">VirtualBox<\/a><\/li>\n<li><a href=\"http:\/\/www.vmware.com\/products\/vsphere-hypervisor\">VMware vSphere Hypervisor<\/a><\/li>\n<li><a href=\"http:\/\/www.microsoft.com\/windowsserversystem\/virtualserver\">Microsoft Virtual Server<\/a><\/li>\n<\/ul>\n<p>Une autre fonctionnalit\u00e9 interessante des syst\u00e8mes de virtualisation est la possibilit\u00e9 de prendre des &#8220;snapshots&#8221; de la m\u00e9moire du syst\u00e8me pendant l&#8217;execution. Cette aptitude sera tr\u00e8s utile lors de l&#8217;analyse et permettera de reproduire des \u00e9venements assez facilement.<br \/>\nN&#8217;oubliez pas d&#8217;utiliser une machine physique puissante, avec une grande quantit\u00e9 de m\u00e9moire RAM et un grand disque d\u00fbr capable d&#8217;heberger plusieurs machines virtuelles.<\/p>\n<h4>Les outils d&#8217;analyse de comportement<\/h4>\n<p>Je vous propose ici une selection d&#8217;outils capables de monitorer et d&#8217;analyser l&#8217;usage et les modifications des ressources syst\u00e8me. Ces outils sont d&#8217;abord pour une environnement windows, et la quasi majorit\u00e9 est gratuite :<\/p>\n<ul>\n<li><em>Monitorer le syst\u00e8me de fichier et le registre<\/em>\u00a0: Grace \u00e0\u00a0<a href=\"https:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb896645.aspx\">Process Monitor<\/a>\u00a0et\u00a0<a href=\"http:\/\/www.procdot.com\/\">ProcDOT<\/a>\u00a0. Ces outils permettent notamment de savoir comment un malware s&#8217;installe dans le syst\u00e8me \u00e0 travers les modifications de fichiers et du registre.<\/li>\n<li><em>Monitorer les process :<\/em> \u00e0 travers\u00a0<a href=\"https:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb896653.aspx\">Process Explorer<\/a>\u00a0et\u00a0<a href=\"http:\/\/processhacker.sourceforge.net\/\">Process Hacker<\/a>\u00a0qui sont une vraie alternative aux panneau &#8220;process&#8221; du fameux Gestionnaire de Taches (ctrl-alt-suppr), ils permettent notamment d&#8217;alerter sur l&#8217;usage r\u00e9seau des process.<\/li>\n<li><em>Monitorer le r\u00e9seau :<\/em> Je ne peux que vous conseiller l&#8217;excellent &#8220;sniffer&#8221;\u00a0<a href=\"https:\/\/www.wireshark.org\/\">Wireshark<\/a>\u00a0qui est un outil limite indispensable pour analyser le flux r\u00e9seau transmis et re\u00e7u par la machine. Un Must.<\/li>\n<li><em>Monitorer les changement :<\/em> Je vous conseille <a href=\"https:\/\/sourceforge.net\/projects\/regshot\/\">Regshot<\/a>\u00a0 qui est un outil tr\u00e8s l\u00e9ger pour comparer le status du syst\u00e8me avant et apr\u00e8s l&#8217;infection.<\/li>\n<\/ul>\n<p>L&#8217;analyse \u00e0 travers le monitoring permet une premi\u00e8re vue sur le comportement du malware. Si l&#8217;on veut plus de d\u00e9tail, il faudra faire de l&#8217;analyse de code machine, et ce \u00e0 travers la s\u00e9rie d&#8217;outils suivante :<\/p>\n<h4>Les outils d&#8217;analyse de code<\/h4>\n<p>C&#8217;est un exercice passionant. Il s&#8217;agit de d\u00e9couvrir les caract\u00e9ristiques du malware qui sont difficiles \u00e0 voir \u00e0 travers le simple monitoring de changement. Il ne faut tout d&#8217;abord jamais oubli\u00e9 de faire des recherches pour constater les travaux des autres chercheurs en s\u00e9curit\u00e9 qui s&#8217;y sont confront\u00e9 en premier. Et si vous n&#8217;avez pas la chance de tomber sur le code source, une s\u00e9rie d&#8217;outils vous permet de comprendre ce code, je les distingue en deux familles :<\/p>\n<ul>\n<li><em>Les D\u00e9sassembleurs et D\u00e9bugueurs<\/em> : Comme\u00a0<a href=\"http:\/\/www.ollydbg.de\/\">OllyDbg<\/a>\u00a0et\u00a0<a href=\"https:\/\/www.hex-rays.com\/products\/ida\/support\/download_freeware.shtml\">IDA Pro Freeware<\/a>\u00a0qui peuvent parcourir des executables Windows, et tenter d&#8217;afficher le code source Assembleur des instructions execut\u00e9s. Ces outils ont aussi des capacit\u00e9s &#8220;debug&#8221; qui permettent de parcourir et de faire executer des &#8220;bouts de code&#8221; avec un contr\u00f4le sur la m\u00e9moire, les registres, et les modifications de fichier. Une parfaite maitrise de ces outils, ainsi que le language assembler, vous permetteront de lire le code source, \u00e0 80% comme son cr\u00e9ateur, avec une parfaite maitrise de l&#8217;enchainement des bouts de code.<\/li>\n<li><em>Les Dumpers de M\u00e9moire <\/em>: Comme\u00a0<a href=\"https:\/\/github.com\/NtQuery\/Scylla\">Scylla<\/a>\u00a0 et\u00a0<a href=\"http:\/\/low-priority.appspot.com\/ollydumpex\/\">OllyDumpEx<\/a>\u00a0peuvent aider \u00e0 avoir acc\u00e8s aux zones prot\u00e9g\u00e9es de la m\u00e9moire, et du code qui peut par moment \u00eatre inject\u00e9. Un grand nombre de malware utilise des technique de &#8220;packing&#8221; rendant le d\u00e9sassemblage difficile. Une analyse du code en m\u00e9moire permet une sorte de d\u00e9sassemblage pendant l&#8217;execution. Tr\u00e8s utile.<\/li>\n<\/ul>\n<p>Voil\u00e0, il s&#8217;agit ici de quelques outils de base pour s&#8217;attaquer \u00e0 la discipline, cette liste est loin d&#8217;\u00eatre exhaustive, l&#8217;objectif de la s\u00e9rie d&#8217;articles que j&#8217;ai en t\u00eate est de montrer qu&#8217;il est n\u00e9cessaire de nos jours de comprendre le fonctionnement des malwares pour mieux les combattre. Je tacherais de faire un travail de simplification et de vulgarisation avec des exemples pratiques pour une meilleure comp\u00e9hension.<br \/>\nA bientot !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans ce premier article, je vais vous parler des outils, souvent libres et gratuits, tr\u00e8s utiles pour commencer dans cet exercice. L&#8217;analyse de Malware est la discipline qui consiste \u00e0 \u00e9tudier un malware (Virus, Ver, Cheval de Troie, Rootkit, Backdoor, APT ..), afin de determiner avec exactitude le fonctionnement, l&#8217;origine et l&#8217;impact potentiel d&#8217;une infection. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":516,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[3,9],"tags":[10],"class_list":["post-319","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cyber-securite","category-technique","tag-featured"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.erroussafi.com\/wp-content\/uploads\/2017\/03\/in-britain-malware-most-foul-showcase_image-5-a-8255.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/posts\/319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/comments?post=319"}],"version-history":[{"count":0,"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/posts\/319\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/media\/516"}],"wp:attachment":[{"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/media?parent=319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/categories?post=319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.erroussafi.com\/index.php\/wp-json\/wp\/v2\/tags?post=319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}