{"id":874,"date":"2021-05-13T22:22:00","date_gmt":"2021-05-13T20:22:00","guid":{"rendered":"https:\/\/pentester.blog\/?p=874"},"modified":"2021-05-16T17:38:06","modified_gmt":"2021-05-16T15:38:06","slug":"lotus-notes-from-crash-to-cash","status":"publish","type":"post","link":"https:\/\/hacktarus.fr\/?p=874","title":{"rendered":"Lotus Notes, from crash to cash"},"content":{"rendered":"\n<p>Pour tout un chacun, une application qui crash est un moment d&rsquo;\u00e9nervement, cela arrive sans pr\u00e9venir et malheureusement souvent au pire moment.<\/p>\n\n\n\n<p>Mais pour un pentester une application qui crash peut \u00eatre l&rsquo;opportunit\u00e9 d&rsquo;une \u00e9l\u00e9vation de privil\u00e8ges.<\/p>\n\n\n\n<p>Il n&rsquo;y a pas longtemps mon client Lotus Notes a crash\u00e9 et comme j&rsquo;avais l&rsquo;explorateur de fichiers ouvert, j&rsquo;ai not\u00e9 la cr\u00e9ation d&rsquo;un r\u00e9pertoire <code>IBM_TECHNICAL_SUPPORT<\/code> avec des fichiers de debug dedans.<\/p>\n\n\n\n<p>Ce qui est int\u00e9ressant c&rsquo;est que ce r\u00e9pertoire est cr\u00e9\u00e9 dans le profil utilisateur, parfaitement accessible en lecture et modification :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"509\" height=\"365\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/05\/image.png\" alt=\"\" class=\"wp-image-876\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Pour savoir si ce crash en vaut la peine, il faut d\u00e9terminer le nom du processus responsable de l&rsquo;\u00e9criture de ce r\u00e9pertoire <code>IBM_TECHNICAL_SUPPORT<\/code>.<\/p>\n\n\n\n<p>En faisant divers tests et en observant les processus au travers de Procmon, on s&rsquo;aper\u00e7oit rapidement que c&rsquo;est le service <strong>nsd.exe<\/strong> qui en est responsable :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"405\" height=\"503\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/05\/image-1.png\" alt=\"\" class=\"wp-image-877\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Et devinez sous quel compte tourne ce service ? <\/p>\n\n\n\n<p>Sous le compte Local System !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"409\" height=\"262\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/05\/image-2.png\" alt=\"\" class=\"wp-image-878\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>En r\u00e9sum\u00e9 nous avons un service qui tourne sous Local System \u00e9crivant des fichiers dans un r\u00e9pertoire accessible par l&rsquo;utilisateur en lecture\/\u00e9criture.<\/p>\n\n\n\n<p>Nous avons donc une vuln\u00e9rabilit\u00e9 pouvant \u00e9ventuellement mener \u00e0 une \u00e9l\u00e9vation de privil\u00e8ge.<\/p>\n\n\n\n<p>V\u00e9rifions que le d\u00e9tournement de r\u00e9pertoire fonctionne.<\/p>\n\n\n\n<p>Il faut commencer par quitter le client Notes et supprimer le r\u00e9pertoire <code>IBM_TECHNICAL_SUPPORT<\/code>.<\/p>\n\n\n\n<p>Ensuite nous pouvons cr\u00e9er un lien symbolique vers le r\u00e9pertoire syst\u00e8me <code>C:\\Windows\\system32<\/code> dans lequel en tant que simple utilisateur nous ne pouvons pas \u00e9videmment pas \u00e9crire :<\/p>\n\n\n\n<p><code>mklink \/J &lt;USER ROAMING PROFILE&gt;\\Domino\\IBM_TECHNICAL_SUPPORT \"C:\\Windows\\System32\" <\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/05\/image-3.png\" alt=\"\" class=\"wp-image-880\" width=\"720\" height=\"72\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Ensuite il suffit de lancer le client Notes et de le faire crasher comme ci-dessous :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"457\" height=\"395\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/05\/image-4.png\" alt=\"\" class=\"wp-image-881\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Et comme attendu, des fichiers de debug ont \u00e9t\u00e9 cr\u00e9\u00e9s dans le r\u00e9pertoire syst\u00e8me C:\\Windows\\System32 !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"159\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/05\/image-5.png\" alt=\"\" class=\"wp-image-882\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Ce type de vuln\u00e9rabilit\u00e9 est assez courant et peut permettre une \u00e9l\u00e9vation de privil\u00e8ge \u00e0 condition de pouvoir contr\u00f4ler certains param\u00e8tres comme les noms des fichiers cibles et les permissions.<\/p>\n\n\n\n<p>Je ne suis pas all\u00e9 plus loin dans l&rsquo;analyse et libre \u00e0 vous de creuser l&rsquo;affaire, notamment avec la technique d&rsquo;indirection RPC Control (exemple : https:\/\/decoder.cloud\/2020\/10\/27\/when-a-stupid-oplock-leads-you-to-system\/) et pourquoi pas d\u00e9nicher une nouvelle CVE et au passage un peu de cash \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pour tout un chacun, une application qui crash est un moment d&rsquo;\u00e9nervement, cela arrive sans pr\u00e9venir et malheureusement souvent au pire moment. Mais pour un pentester une application qui crash peut \u00eatre l&rsquo;opportunit\u00e9 d&rsquo;une \u00e9l\u00e9vation de privil\u00e8ges. Il n&rsquo;y a pas longtemps mon client Lotus Notes a crash\u00e9 et comme j&rsquo;avais l&rsquo;explorateur de fichiers ouvert, &hellip; <a href=\"https:\/\/hacktarus.fr\/?p=874\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Lotus Notes, from crash to cash<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-874","post","type-post","status-publish","format-standard","hentry","category-pentest"],"_links":{"self":[{"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/posts\/874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=874"}],"version-history":[{"count":10,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/posts\/874\/revisions"}],"predecessor-version":[{"id":890,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/posts\/874\/revisions\/890"}],"wp:attachment":[{"href":"https:\/\/hacktarus.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}