{"id":794,"date":"2021-01-04T22:50:42","date_gmt":"2021-01-04T21:50:42","guid":{"rendered":"http:\/\/pentester.blog\/?p=794"},"modified":"2021-01-05T12:00:56","modified_gmt":"2021-01-05T11:00:56","slug":"windows-un-petit-bypass-simple-de-luac","status":"publish","type":"post","link":"https:\/\/hacktarus.fr\/?p=794","title":{"rendered":"[Windows] Un petit bypass simple de l&rsquo;UAC"},"content":{"rendered":"\n<p>L&rsquo;UAC (User Account Control), 3 lettres pour d\u00e9signer le syst\u00e8me de contr\u00f4le d&rsquo;acc\u00e8s introduit par Microsoft depuis Windows Vista.<\/p>\n\n\n\n<p>Le but est d&rsquo;alerter l&rsquo;utilisateur lorsqu&rsquo;une action n\u00e9cessite des changements sur le syst\u00e8me avec des privil\u00e8ges plus \u00e9lev\u00e9s.<\/p>\n\n\n\n<p>Exemple, un utilisateur administrateur de son poste souhaite lancer une invite de commandes en tant qu&rsquo;administrateur :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"472\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-10.png\" alt=\"\" class=\"wp-image-806\"\/><\/figure>\n\n\n\n<p>Bien qu&rsquo;\u00e9tant administrateur de son poste, l&rsquo;UAC se d\u00e9clenche :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"683\" height=\"460\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-11.png\" alt=\"\" class=\"wp-image-807\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>L&rsquo;UAC emb\u00eate certains utilisateurs (mais c&rsquo;est pour leur bien !), les pentesters mais g\u00eane surtout les auteurs de malwares car s&rsquo;ils \u00e9chouent \u00e0 bypasser l&rsquo;UAC, ils se d\u00e9voilent tout simplement.<\/p>\n\n\n\n<p>C&rsquo;est pourquoi beaucoup de techniques ont vu le jour pour bypasser l&rsquo;UAC. <\/p>\n\n\n\n<p>Une grande partie de ces techniques sont recens\u00e9es sur ce GitHub :<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/hfiref0x\/UACME\">https:\/\/github.com\/hfiref0x\/UACME<\/a><\/p>\n\n\n\n<p>On s&rsquo;aper\u00e7oit que pas mal de failles ont \u00e9t\u00e9 corrig\u00e9es par Microsoft mais d&rsquo;autres toujours pas\u2026<\/p>\n\n\n\n<p>En fait pour Microsoft ce n&rsquo;est pas vraiment un probl\u00e8me de s\u00e9curit\u00e9 car il ne s&rsquo;agit pas d&rsquo;une \u00e9l\u00e9vation de privil\u00e8ges mais d&rsquo;un bypass d&rsquo;un avertissement de s\u00e9curit\u00e9.<\/p>\n\n\n\n<p>Chacun a son avis sur le sujet mais pour ma part je pense qu&rsquo;il s&rsquo;agit de vuln\u00e9rabilit\u00e9s s\u00e9rieuses et Microsoft devrait les corriger car elles sont largement utilis\u00e9es par les malwares.<\/p>\n\n\n\n<p>La soci\u00e9t\u00e9 Lexfo en a parl\u00e9 d&rsquo;ailleurs r\u00e9cemment dans un post li\u00e9 au ransomware \u00ab\u00a0Lockbit\u00a0\u00bb (tr\u00e8s int\u00e9ressant au passage) :<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.lexfo.fr\/lockbit-malware.html\">https:\/\/blog.lexfo.fr\/lockbit-malware.html<\/a><\/p>\n\n\n\n<p>A mon tour d&rsquo;ajouter une petite pierre \u00e0 l&rsquo;\u00e9difice, j&rsquo;ai en effet trouv\u00e9 un petit bypass simple de l&rsquo;UAC \ud83d\ude42<\/p>\n\n\n\n<p>Avant d&rsquo;entrer dans le vif du sujet, un peu d&rsquo;historique.<\/p>\n\n\n\n<p>Les alertes de l&rsquo;UAC \u00e9taient si fr\u00e9quentes dans Vista que depuis Windows 7 et apr\u00e8s de nombreuses plaintes, Microsoft a fait quelques concessions.<\/p>\n\n\n\n<p>En effet certains binaires sign\u00e9s par Microsoft (ainsi qu&rsquo;une liste d&rsquo;objets COM) ne d\u00e9clenchent pas d&rsquo;alerte de l&rsquo;UAC, on peut consid\u00e9rer cela comme une sorte de whitelist.<\/p>\n\n\n\n<p>Quels sont ces binaires ?<\/p>\n\n\n\n<p>Il suffit de rechercher les ex\u00e9cutables qui ont l&rsquo;attribut \u00ab\u00a0autoElevate\u00a0\u00bb \u00e0 \u00ab\u00a0true\u00a0\u00bb dans leur fichier manifest.xml :<\/p>\n\n\n\n<p><code>sigcheck.exe -m c:\\windows\\system32\\*.exe<\/code><\/p>\n\n\n\n<p>Ces binaires sont int\u00e9ressant car la moindre vuln\u00e9rabilit\u00e9 permet d&rsquo;ouvrir une br\u00e8che sur l&rsquo;UAC.<\/p>\n\n\n\n<p>Alors, let&rsquo;s go !<\/p>\n\n\n\n<p>Pr\u00e9requis&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>UAC par d\u00e9faut <\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"673\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-3.png\" alt=\"\" class=\"wp-image-798\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Utilisateur membre du groupe \u00ab&nbsp;Administrateurs&nbsp;\u00bb local.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1320\" height=\"370\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-1.png\" alt=\"\" class=\"wp-image-796\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>On lance la commande lpksetup depuis une invite de commandes utilisateur.<\/p>\n\n\n\n<p>L&rsquo;ex\u00e9cutable \u00ab\u00a0autoel\u00e8ve\u00a0\u00bb ses privil\u00e8ges mais pour les raisons cit\u00e9es pr\u00e9c\u00e9demment l&rsquo;UAC ne se d\u00e9clenche pas :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1128\" height=\"617\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-4.png\" alt=\"\" class=\"wp-image-799\"\/><\/figure>\n\n\n\n<p>On confirme avec Process Hacker que ce process dispose bien des privil\u00e8ges \u00e9lev\u00e9s (Elevated = Yes et on a bien toute une liste de privil\u00e8ges) :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"932\" height=\"767\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-5.png\" alt=\"\" class=\"wp-image-800\"\/><\/figure>\n\n\n\n<p>S&rsquo;agissant d&rsquo;une application graphique, je me suis dit qu&rsquo;il y a peut-\u00eatre moyen de lancer un shell depuis l&rsquo;interface et si c&rsquo;est le cas cela bypasserait automatiquement l&rsquo;UAC.<\/p>\n\n\n\n<p>Et c&rsquo;est le cas, apr\u00e8s avoir lanc\u00e9 lpksetup allez dans \u00ab\u00a0Installer ou d\u00e9sintaller des langues\u00a0\u00bb, cliquez sur \u00ab\u00a0Parcourir\u00a0\u00bb , s\u00e9lectionnez un dossier o\u00f9 vous avez des droits en \u00e9criture, puis faites bouton droit, Propri\u00e9t\u00e9s.<\/p>\n\n\n\n<p>Dans l&rsquo;onglet \u00ab\u00a0Personnaliser\u00a0\u00bb, cliquez sur \u00ab\u00a0Choisir un fichier\u00a0\u00bb <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1256\" height=\"732\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-7.png\" alt=\"\" class=\"wp-image-802\"\/><\/figure>\n\n\n\n<p>Dans la boite de dialogue saisir \u00ab\u00a0cmd.exe\u00a0\u00bb \u00e0 la place du chemin du dossier et cliquez sur \u00ab\u00a0Entrer\u00a0\u00bb :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1210\" height=\"708\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-8.png\" alt=\"\" class=\"wp-image-803\"\/><\/figure>\n\n\n\n<p>Et voila on obtient une invite de commandes Administrateur sans avoir rencontr\u00e9 l&rsquo;UAC !<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"759\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-9.png\" alt=\"\" class=\"wp-image-804\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Le bypass manuel c&rsquo;est bien mais le bypass automatique c&rsquo;est mieux.<\/p>\n\n\n\n<p>En analysant l&rsquo;ex\u00e9cution de lpksetup.exe au travers de ProcMon, on s&rsquo;aper\u00e7oit qu&rsquo;il est vuln\u00e9rable \u00e0 du \u00ab\u00a0DLL Hijacking\u00a0\u00bb (\u00ab\u00a0NAME NOT FOUND\u00a0\u00bb)<\/p>\n\n\n\n<p>Il suffit de cr\u00e9er une DLL contenant un \u00ab\u00a0ShellExecute cmd.exe\u00a0\u00bb qu&rsquo;on nomme oci.dll et le tout est jou\u00e9 :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1791\" height=\"627\" src=\"https:\/\/hacktarus.fr\/wp-content\/uploads\/2021\/01\/image-12.png\" alt=\"\" class=\"wp-image-820\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Pour ce coup l\u00e0 je ne suis pas le premier \u00e0 avoir vu ce DLL Hijacking, mais Microsoft n&rsquo;a toujours pas corrig\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;UAC (User Account Control), 3 lettres pour d\u00e9signer le syst\u00e8me de contr\u00f4le d&rsquo;acc\u00e8s introduit par Microsoft depuis Windows Vista. Le but est d&rsquo;alerter l&rsquo;utilisateur lorsqu&rsquo;une action n\u00e9cessite des changements sur le syst\u00e8me avec des privil\u00e8ges plus \u00e9lev\u00e9s. Exemple, un utilisateur administrateur de son poste souhaite lancer une invite de commandes en tant qu&rsquo;administrateur : Bien &hellip; <a href=\"https:\/\/hacktarus.fr\/?p=794\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">[Windows] Un petit bypass simple de l&rsquo;UAC<\/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-794","post","type-post","status-publish","format-standard","hentry","category-pentest"],"_links":{"self":[{"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/posts\/794","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=794"}],"version-history":[{"count":21,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/posts\/794\/revisions"}],"predecessor-version":[{"id":828,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=\/wp\/v2\/posts\/794\/revisions\/828"}],"wp:attachment":[{"href":"https:\/\/hacktarus.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hacktarus.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}