{"id":1019,"date":"2013-08-15T13:37:26","date_gmt":"2013-08-15T11:37:26","guid":{"rendered":"https:\/\/www.asafety.fr\/?p=1019"},"modified":"2016-07-25T00:41:10","modified_gmt":"2016-07-24T22:41:10","slug":"windows-vista7-escalade-de-privilege-via-at-et-bypass-uac","status":"publish","type":"post","link":"https:\/\/www.asafety.fr\/en\/vuln-exploit-poc\/windows-vista7-escalade-de-privilege-via-at-et-bypass-uac\/","title":{"rendered":"[Windows Vista,7] Escalade de privil\u00e8ge via AT et bypass UAC"},"content":{"rendered":"<p>Pour faire suite \u00e0 un pr\u00e9c\u00e9dent article sur l<a title=\"[Windows XP] Escalade de privil\u00e8ge via les t\u00e2ches planifi\u00e9es\" href=\"https:\/\/www.asafety.fr\/vuln-exploit-poc\/windows-xp-escalade-locale-de-privilege-via-les-taches-planifiees-at\/\" target=\"_blank\">&#8216;escalade de privil\u00e8ge via la commande des t\u00e2ches planifi\u00e9es AT<\/a>, une variante de cette m\u00e9thode est pleinement fonctionnelle sous les versions de Windows plus r\u00e9centes.<\/p>\n<p>En effet, du temps de Windows XP les t\u00e2ches planifi\u00e9es se g\u00e9raient exclusivement via cette commande AT. Depuis Windows Vista et 7, cette commande est tomb\u00e9e en d\u00e9su\u00e9tude au d\u00e9pend de &#8220;schtasks&#8221;. Toutefois, Microsoft n&#8217;a pas \u00e9radiqu\u00e9 ce binaire &#8220;AT&#8221; de ses syst\u00e8me en guise de r\u00e9tro-compatibilit\u00e9.<\/p>\n<p>L&#8217;utilisation de cette ancienne commande n\u00e9cessite d&#8217;avoir un shell privil\u00e9gi\u00e9, lanc\u00e9 en tant qu&#8217;administrateur. :<\/p>\n<div id=\"attachment_1020\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1020\" class=\"size-medium wp-image-1020\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at1-300x95.png\" alt=\"Commande AT restreinte\" width=\"300\" height=\"95\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at1-300x95.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/at1.png 676w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1020\" class=\"wp-caption-text\">Commande AT restreinte<\/p><\/div>\n<p>La raison de cette bride de la commande AT pour un shell simple est bien \u00e9videmment l&#8217;UAC (<a title=\"UAC\" href=\"https:\/\/en.wikipedia.org\/wiki\/User_Account_Control\" target=\"_blank\"><em>User Account Control<\/em><\/a>). Ce m\u00e9canisme introduit depuis Windows Vista questionne l&#8217;utilisateur de la machine pour chaque action d&#8217;administration qu&#8217;il tente d&#8217;effectuer :<\/p>\n<div id=\"attachment_1021\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1021\" class=\"size-medium wp-image-1021\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at2-300x166.png\" alt=\"UAC pour cmd.exe\" width=\"300\" height=\"166\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at2-300x166.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/at2.png 466w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1021\" class=\"wp-caption-text\">UAC pour cmd.exe<\/p><\/div>\n<p>Diverses techniques existent et sont largement utilis\u00e9es pour du pentest, afin de bypasser ces restrictions dues \u00e0 l&#8217;UAC. Le projet Metasploit\/Meterpreter int\u00e8gre nativement des m\u00e9thodes de bypass. Un des projets permettant cela se nomme &#8220;<a title=\"bypassuac\" href=\"https:\/\/www.trustedsec.com\/downloads\/tools-download\/\" target=\"_blank\">bypassuac<\/a>&#8221; et est compatible avec les architectures 32 et 64 bits de Windows 7. Cet utilitaire binaire standalone permet de contourner cette protection pour ex\u00e9cuter des commandes &#8220;en tant qu&#8217;administrateur&#8221; :<\/p>\n<div id=\"attachment_1022\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at3.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1022\" class=\"size-medium wp-image-1022\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at3-300x64.png\" alt=\"Bypass UAC pour AT\" width=\"300\" height=\"64\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at3-300x64.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/at3.png 677w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1022\" class=\"wp-caption-text\">Bypass UAC pour AT<\/p><\/div>\n<p>Une autre \u00e9volution de la commande &#8220;AT&#8221; sur les nouveaux syst\u00e8mes, est que le mode &#8220;interactif&#8221; qui fonctionnait pleinement sous Windows XP ne semble plus d&#8217;actualit\u00e9. Ce mode permettait par exemple d&#8217;ajouter une t\u00e2che planifi\u00e9e de &#8220;cmd.exe&#8221; \u00e0 une heure pr\u00e9cise en mode interactif, et que lorsque cette heure \u00e9tait atteinte, la commande s&#8217;ouvrait d&#8217;elle-m\u00eame de mani\u00e8re interactive bien qu&#8217;elle \u00e9tait ex\u00e9cut\u00e9e sous un utilisateur diff\u00e9rent (SYSTEM) par rapport \u00e0 la session courante.<\/p>\n<p>A pr\u00e9sent, ce m\u00e9canisme semble \u00e9galement brid\u00e9, et la commande n\u2019appara\u00eet plus. N\u00e9anmoins il est tout \u00e0 fait possible de r\u00e9cup\u00e9rer un shell SYSTEM sans interactivit\u00e9. L&#8217;id\u00e9e est d&#8217;utiliser le binaire &#8220;remote.exe&#8221; (ou &#8220;remotex64.exe&#8221;) disponible dans les &#8220;<a title=\"Windows Debugger Tools\" href=\"http:\/\/msdn.microsoft.com\/en-US\/windows\/hardware\/gg463009\/\" target=\"_blank\">Windows debugger Tools<\/a>&#8220;. Ces binaires, standalone, permettent de r\u00e9aliser un tunnel (pipe) client\/serveur sur une m\u00eame machine Windows. L&#8217;avantage est que ces binaires sont propres \u00e0 Microsoft et sont donc l\u00e9gitimes (non jug\u00e9s dangereux par un quelconque antivirus, id\u00e9al pour le pentesting). Pour r\u00e9cup\u00e9rer ces binaires, t\u00e9l\u00e9charger l&#8217;archive jointe \u00e0 cet article ou installer les Windows Debugger Tools et r\u00e9cup\u00e9rez les dans le r\u00e9pertoire d&#8217;installation.<\/p>\n<p>Le fonctionnement de ces binaires &#8220;remote.exe&#8221; et &#8220;remotex64.exe&#8221; est tr\u00e8s simple.<\/p>\n<p><strong>Partie serveur :<\/strong><\/p>\n<p>[bash]remote.exe \/s cmd SYSCMD[\/bash]<\/p>\n<p>Le &#8220;\/s&#8221; pour activer le serveur en mettant \u00e0 disposition la ressource &#8220;cmd&#8221; avec les privil\u00e8ges &#8220;SYSCMD&#8221;.<\/p>\n<p><strong>Partie cliente :<\/strong><\/p>\n<p>[bash]remote.exe \/c %COMPUTERNAME% SYSCMD[\/bash]<\/p>\n<p>Le &#8220;\/c&#8221; pour activer le mode &#8220;client&#8221; \u00e0 destination de la machine du nom Netbios %COMPUTERNAME% avec des privil\u00e8ges identiques.<\/p>\n<p>L&#8217;obtention d&#8217;un shell NT AUTHORITY\/SYSTEM sous un environnement Windows 7 avec bypass de l&#8217;UAC et via l&#8217;ancienne commande AT s&#8217;effectue donc via l&#8217;encha\u00eenement de ces op\u00e9rations dans un fichier Batch .bat :<\/p>\n<div id=\"attachment_1944\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/atuac.png\" rel=\"attachment wp-att-1944\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1944\" class=\"wp-image-1944 size-medium\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/atuac-300x98.png\" alt=\"atuac.bat content\" width=\"300\" height=\"98\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/atuac-300x98.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/atuac.png 748w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1944\" class=\"wp-caption-text\">atuac.bat content<\/p><\/div>\n<ul>\n<li>D\u00e9finir le chemin d&#8217;acc\u00e8s au binaire &#8220;bypassuac.exe&#8221; pr\u00e9alablement plac\u00e9 sur la machine.<\/li>\n<li>D\u00e9finir le chemin d&#8217;acc\u00e8s au binaire &#8220;remote.exe&#8221; pr\u00e9alablement plac\u00e9 sur la machine.<\/li>\n<li>L&#8217;heure actuelle est sauv\u00e9e dans une variable.<\/li>\n<li>L&#8217;heure actuelle est chang\u00e9e \u00e0\u00a013:37:57,44.<\/li>\n<li>Une t\u00e2che planifi\u00e9e via AT est ajout\u00e9e \u00e0 13:38, lan\u00e7ant le serveur remote.exe avec les privil\u00e8ges SYSTEM.<\/li>\n<li>Un temps d&#8217;attente de 3 secondes est r\u00e9alis\u00e9 via le ping.<\/li>\n<li>L&#8217;heure sauv\u00e9e en amont du script est red\u00e9finie.<\/li>\n<li>Enfin, &#8220;remote.exe&#8221; est utilis\u00e9 en tant que client pour se connecter au serveur avec les droits SYSTEM.<\/li>\n<\/ul>\n<p>Aper\u00e7u de l&#8217;ex\u00e9cution de ce script :<\/p>\n<div id=\"attachment_1023\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at4.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1023\" class=\"size-medium wp-image-1023\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at4-300x200.png\" alt=\"Escalade de privil\u00e8ge SYSTEM via AT et bypass UAC\" width=\"300\" height=\"200\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/at4-300x200.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/at4.png 664w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-1023\" class=\"wp-caption-text\">Escalade de privil\u00e8ge SYSTEM via AT et bypass UAC<\/p><\/div>\n<p>L&#8217;ensemble des binaires, outils et script ont \u00e9t\u00e9 centralis\u00e9s dans le package\u00a0<a href=\"https:\/\/github.com\/yanncam\/LPE_AT-UAC\">Win7_Local-Privilege-Escalation_AT_BypassUAC<\/a>\u00a0afin de faire gagner du temps aux pentesteurs.<\/p>\n<p>Cette m\u00e9thode n&#8217;est pas nouvelle et est \u00e0 consid\u00e9rer comme une \u00e9volution de la technique du temps de Windows XP. Elle a \u00e9t\u00e9 trait\u00e9e en 2008 sur le <a title=\"TechNet\" href=\"https:\/\/blogs.technet.com\/b\/askds\/archive\/2008\/10\/22\/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008.aspx?Redirected=true\" target=\"_blank\">blog TechNet de Microsoft<\/a> et remis au go\u00fbt du jour par <a title=\"Carnal0wnage\" href=\"http:\/\/carnal0wnage.attackresearch.com\/2013\/07\/admin-to-system-win7-with-remoteexe.html\" target=\"_blank\">Carnal0wnage<\/a> derni\u00e8rement. ASafety la fait suivre ici en fournissant un script Batch automatis\u00e9 et un package pr\u00eat \u00e0 l&#8217;emploi.<\/p>\n<p><strong>Sources &amp; ressources :<\/strong><\/p>\n<ul>\n<li><a title=\"[Windows XP] Escalade de privil\u00e8ge via les t\u00e2ches planifi\u00e9es\" href=\"https:\/\/www.asafety.fr\/vuln-exploit-poc\/windows-xp-escalade-locale-de-privilege-via-les-taches-planifiees-at\/\" target=\"_blank\">ASafety &#8211; Privil\u00e8ge escalation via AT du temps de Windows XP<\/a><\/li>\n<li><a title=\"Carnal0wnage\" href=\"http:\/\/carnal0wnage.attackresearch.com\/2013\/07\/admin-to-system-win7-with-remoteexe.html\" target=\"_blank\">admin to SYSTEM win7 with remote.exe &#8211; Carnal0wnage<\/a><\/li>\n<li><a title=\"BypassUAC\" href=\"https:\/\/www.trustedsec.com\/downloads\/tools-download\/\" target=\"_blank\">BypassUAC &#8211; TrustedSEC<\/a><\/li>\n<li><a title=\"TechNet\" href=\"https:\/\/blogs.technet.com\/b\/askds\/archive\/2008\/10\/22\/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008.aspx?Redirected=true\" target=\"_blank\">Getting a CMD prompt as SYSTEM in Windows Vista and Windows Server 2008 &#8211; TechNet<\/a><\/li>\n<li><a title=\"Windows Debugger Tools\" href=\"http:\/\/msdn.microsoft.com\/en-US\/windows\/hardware\/gg463009\/\" target=\"_blank\">Debugging Tools for Windows<\/a><\/li>\n<\/ul>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Pour faire suite \u00e0 un pr\u00e9c\u00e9dent article sur l&#8216;escalade de privil\u00e8ge via la commande des t\u00e2ches planifi\u00e9es AT, une variante [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":1120,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59,165,529,14,167],"tags":[28,369,33,27,31,36,370,371,367,34,32,30,373,118,372,368],"class_list":["post-1019","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration-reseaux-et-systemes","category-os","category-privilege-escalation","category-vuln-exploit-poc","category-windows","tag-at","tag-bypass-uac","tag-cmd-exe","tag-lpe","tag-nt-authority","tag-planified-task","tag-remote-exe","tag-remotex64-exe","tag-schtasks","tag-shell","tag-system","tag-taches-planifiees","tag-user-account-control","tag-windows-7","tag-windows-debugger-tools","tag-windows-vista"],"_links":{"self":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/1019","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=1019"}],"version-history":[{"count":10,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/1019\/revisions"}],"predecessor-version":[{"id":1945,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/1019\/revisions\/1945"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media\/1120"}],"wp:attachment":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media?parent=1019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/categories?post=1019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/tags?post=1019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}