{"id":369,"date":"2012-09-21T22:09:44","date_gmt":"2012-09-21T20:09:44","guid":{"rendered":"https:\/\/www.asafety.fr\/?p=369"},"modified":"2015-11-11T00:50:38","modified_gmt":"2015-11-10T22:50:38","slug":"les-ads-de-windows-pour-camoufler-vos-fichiers-dans-des-fichiers","status":"publish","type":"post","link":"https:\/\/www.asafety.fr\/en\/administration-reseaux-et-systemes\/les-ads-de-windows-pour-camoufler-vos-fichiers-dans-des-fichiers\/","title":{"rendered":"Les ADS de Windows pour camoufler vos fichiers dans des fichiers"},"content":{"rendered":"<p><\/p>\n<p>Les ADS, pour &#8220;Alternate Data Stream&#8221;, ou flux alternatifs de donn\u00e9es, sont des m\u00e9canismes int\u00e9gr\u00e9s \u00e0 Windows et plus particuli\u00e8rement au format NTFS afin de rendre compatible le format de fichier HFS de Mac. En d&#8217;autres termes, les ADS sont des emplacements alternatifs o\u00f9 des donn\u00e9es peuvent \u00eatre stock\u00e9es et qui sont propres \u00e0 chaque fichier d&#8217;un syst\u00e8me Windows NTFS.<\/p>\n<p>Peu connu, ce principe est tr\u00e8s employ\u00e9 par des personnes malintentionn\u00e9s afin de placer dans des fichiers anodins des malwares dans leur ADS.<\/p>\n<p>C&#8217;est au travers des ADS que le r\u00e9sum\u00e9 ou les informations compl\u00e9mentaires sur un fichier sont stock\u00e9es.<\/p>\n<p>Le fonctionnement des ADS est tr\u00e8s simple. Il y a le flux principal, qui est le contenu du fichier en lui m\u00eame, puis divers flux alternatifs identifi\u00e9s par le biais d&#8217;une cl\u00e9. Par exemple, l&#8217;ADS du r\u00e9sum\u00e9 d&#8217;un fichier texte a pour cl\u00e9 &#8220;DocumentSummaryInformation&#8221;.<\/p>\n<p>Pour illustrer la gestion des ADS, voyons sur un simple fichier texte :<\/p>\n<p>[bash]echo Je suis le contenu du fichier ! \u00a0&amp;amp;gt; test.txt[\/bash]<\/p>\n<div id=\"attachment_421\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads11.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-421\" class=\"size-medium wp-image-421\" title=\"Cr\u00e9ation d'un simple fichier texte\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads11-300x201.png\" alt=\"Cr\u00e9ation d'un simple fichier texte\" width=\"300\" height=\"201\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads11-300x201.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/ads11.png 698w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-421\" class=\"wp-caption-text\">Cr\u00e9ation d&#8217;un simple fichier texte<\/p><\/div>\n<p>Pour ajouter \u00e0 ce m\u00eame fichier des donn\u00e9es cach\u00e9es et identifi\u00e9es par la cl\u00e9 &#8220;hidden.txt&#8221;, proc\u00e9der comme suit :<\/p>\n<p>[bash]echo Contenu invisible ! \u00a0&amp;amp;gt; test.txt:hidden.txt[\/bash]<\/p>\n<div id=\"attachment_423\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads21.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-423\" class=\"size-medium wp-image-423\" title=\"Ajout de donn\u00e9es cach\u00e9es via ADS\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads21-300x253.png\" alt=\"Ajout de donn\u00e9es cach\u00e9es via ADS\" width=\"300\" height=\"253\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads21-300x253.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/ads21.png 704w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-423\" class=\"wp-caption-text\">Ajout de donn\u00e9es cach\u00e9es via ADS<\/p><\/div>\n<p>Bien que des donn\u00e9es soient ajout\u00e9es dans un ADS identifi\u00e9 par une cl\u00e9 pr\u00e9cise, le contenu principal du fichier ne s&#8217;av\u00e8re pas modifi\u00e9. Seuls ceux en connaissances de la cl\u00e9 peuvent acc\u00e9der au contenu de l&#8217;ADS.<\/p>\n<p>La dangerosit\u00e9 des ADS sur un fichier s&#8217;illustre par le fait que :<\/p>\n<ul>\n<li>La <strong>taille du fichier demeure inchang\u00e9e<\/strong> m\u00eame apr\u00e8s l&#8217;ajout d&#8217;un certains nombres d&#8217;ADS<\/li>\n<li>La somme de contr\u00f4le (checksum, md5, sha1&#8230;) du fichier <strong>ne change pas<\/strong> malgr\u00e9 l&#8217;ajout d&#8217;ADS<\/li>\n<li>Toutes sortes de donn\u00e9es (des <strong>ex\u00e9cutables<\/strong> par exemple) peuvent \u00eatre stock\u00e9s dans les ADS d&#8217;un fichier.<\/li>\n<li>Seul la date de derni\u00e8re modification du fichier s&#8217;av\u00e8re alt\u00e9r\u00e9e, bien que ceci soit modifiable.<\/li>\n<\/ul>\n<p>L&#8217;ajout de donn\u00e9es annexes en ADS est fonctionnel sur tous les Windows (XP, 7, 8&#8230;). Il est donc possible d&#8217;y cacher ce que bon semble \u00e0 l&#8217;utilisateur. Pour r\u00e9cup\u00e9rer ces donn\u00e9es, la commande &#8220;more&#8221; peut \u00eatre utile au sein d&#8217;un terminal :<\/p>\n<p>[bash]more &amp;amp;lt; test.txt:hidden.txt[\/bash]<\/p>\n<p>Toutefois, une diff\u00e9rence notable entre Windows XP\/Server 2003 et les successeurs 2008, Vista, 7 et 8 est que l&#8217;ex\u00e9cution d&#8217;application .exe stock\u00e9es dans les ADS d&#8217;un fichier n&#8217;est plus possible directement. En effet, les versions plus r\u00e9centes de Windows ont int\u00e9gr\u00e9 un m\u00e9canisme v\u00e9rifiant le type du fichier et le lieu de son stockage avant ex\u00e9cution. Ainsi, l&#8217;ex\u00e9cution directe au sein des ADS d&#8217;une application n&#8217;est plus fonctionnelle.<\/p>\n<p>Exemple sous Windows XP de l&#8217;ex\u00e9cution d&#8217;une application (netcat) au travers de l&#8217;ADS d&#8217;un fichier texte (via la commande &#8220;start&#8221; ou &#8220;wmic process call create&#8221;) :<\/p>\n<div id=\"attachment_424\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads31.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-424\" class=\"size-medium wp-image-424\" title=\"Ex\u00e9cution de netcat via les ADS d'un fichier texte sous Windows XP\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads31-300x202.png\" alt=\"Ex\u00e9cution de netcat via les ADS d'un fichier texte sous Windows XP\" width=\"300\" height=\"202\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads31-300x202.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/ads31.png 722w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-424\" class=\"wp-caption-text\">Ex\u00e9cution de netcat via les ADS d&#8217;un fichier texte sous Windows XP<\/p><\/div>\n<p>Il est donc possible de stocker tous types de donn\u00e9es de mani\u00e8re inerte dans les ADS quelque soit la version de l&#8217;OS, mais pour l&#8217;ex\u00e9cution de celle-ci leur extraction sera n\u00e9cessaire au pr\u00e9alable pour les version r\u00e9centes de Windows.<\/p>\n<p>Visibilit\u00e9 du processus nc.exe lanc\u00e9 au travers de l&#8217;ADS de calc.exe :<\/p>\n<div id=\"attachment_425\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads41.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-425\" class=\"size-medium wp-image-425\" title=\"Gestionnaire de t\u00e2ches et processus ADS\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads41-300x289.png\" alt=\"Gestionnaire de t\u00e2ches et processus ADS\" width=\"300\" height=\"289\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/ads41-300x289.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/ads41.png 507w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-425\" class=\"wp-caption-text\">Gestionnaire de t\u00e2ches et processus ADS<\/p><\/div>\n<p>Pour contrer cette protection d&#8217;ex\u00e9cution sous les Windows r\u00e9cents, l&#8217;utilitaire &#8220;mklink&#8221; qui permet la cr\u00e9ation de lien s&#8217;av\u00e8re utile. Toutefois celui-ci n&#8217;est pas disponible sous toutes les versions.<\/p>\n<p>[bash]mklink shortcut test.txt:nc.exe[\/bash]<\/p>\n<p>Il est aussi possible d&#8217;ajouter des donn\u00e9es dans l&#8217;ADS d&#8217;une partition en elle m\u00eame comme le montre l&#8217;exemple suivant (n\u00e9cessite des privil\u00e8ges) :<\/p>\n<p>[bash]type nc.exe &amp;amp;gt; :nc.exe[\/bash]<\/p>\n<p>Dans le cas pr\u00e9c\u00e9dent, l&#8217;ADS ne sera supprim\u00e9 qu&#8217;avec le formatage de la partition.<\/p>\n<p>Pour supprimer les ADS d&#8217;un fichier, une m\u00e9thode radicale consiste \u00e0 transf\u00e9rer ce fichier sur une partition non-NTFS (FAT32 par exemple), ce qui aura pour action de nettoyer les m\u00e9ta-data. Sinon, il est possible d&#8217;effectuer les op\u00e9rations simple suivantes qui\u00a0recr\u00e9eront\u00a0le fichier d&#8217;origine qu&#8217;avec son contenu l\u00e9gitime :<\/p>\n<p>[bash]C:\\&amp;amp;gt;ren test.txt test2.txt&amp;lt;\/p&amp;gt;<br \/>\n&amp;lt;p&amp;gt;C:\\&amp;amp;gt;type test2.txt &amp;amp;gt; test.txt&amp;lt;\/p&amp;gt;<br \/>\n&amp;lt;p&amp;gt;C:\\&amp;amp;gt;del test2.txt[\/bash]<\/p>\n<p>Il existe divers logiciels et utilitaires sp\u00e9cialis\u00e9s permettant de contr\u00f4ler les ADS des fichiers. C&#8217;est le cas de <a title=\"ADS Locator\" href=\"http:\/\/www.softpedia.com\/get\/Security\/Security-Related\/ADS-Locator.shtml\" target=\"_blank\">&#8220;ADS Locator<\/a>&#8221; (GUI), &#8220;<a title=\"LADS\" href=\"http:\/\/www.heysoft.de\/en\/software\/lads.php?lang=EN\" target=\"_blank\">LADS<\/a>&#8221; (console) ou encore &#8220;<a title=\"Streams\" href=\"http:\/\/technet.microsoft.com\/en-us\/sysinternals\/bb897440\" target=\"_blank\">Streams<\/a>&#8221; de Sysinternals.<\/p>\n<p>Les ADS sont encore une m\u00e9thode exploit\u00e9e des utilisateurs malintentionn\u00e9s pour stock\u00e9es de mani\u00e8re invisible des malwares et autres logiciels illicites. A garder en m\u00e9moire lors d&#8217;audit de s\u00e9curit\u00e9.<\/p>\n<p><strong>R\u00e9f\u00e9rences<\/strong> :<\/p>\n<ul>\n<li><a title=\"Pr\u00e9sentation des alternate data stream (ADS)\" href=\"http:\/\/manumation.developpez.com\/articles\/windows\/ads\/\" target=\"_blank\">Pr\u00e9sentation des Alternate Data Stream (ADS)<\/a><\/li>\n<li><a title=\"Practical Guide to Alternative Data Streams in NTFS\" href=\"http:\/\/www.irongeek.com\/i.php?page=security\/altds\" target=\"_blank\">Practical Guide to Alternative Data Streams in NTFS<\/a><\/li>\n<li><a title=\"Windows 7 symbolic links and hidden files\" href=\"http:\/\/pauldotcom.com\/2010\/10\/windows-7-symbolic-links-and-h.html\" target=\"_blank\">Windows 7 symbolic links and hidden files<\/a><\/li>\n<li><a title=\"Alternate Data Streams (ADS): Hiding In Plain Site\" href=\"http:\/\/www.ethicalhacker.net\/content\/view\/115\/24\/\" target=\"_blank\">Alternate Data Streams (ADS): Hiding In Plain Site<\/a><\/li>\n<\/ul>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Les ADS, pour &#8220;Alternate Data Stream&#8221;, ou flux alternatifs de donn\u00e9es, sont des m\u00e9canismes int\u00e9gr\u00e9s \u00e0 Windows et plus particuli\u00e8rement [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":1180,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59,124,165,167],"tags":[147,148,150,149,118,117,35],"class_list":["post-369","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration-reseaux-et-systemes","category-invisibilite-et-camouflage","category-os","category-windows","tag-ads","tag-alternate-data-stream","tag-lads","tag-mklink","tag-windows-7","tag-windows-8","tag-windows-xp"],"_links":{"self":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/comments?post=369"}],"version-history":[{"count":11,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/369\/revisions"}],"predecessor-version":[{"id":1641,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/369\/revisions\/1641"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media\/1180"}],"wp:attachment":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media?parent=369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/categories?post=369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/tags?post=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}