
PoC de contournement de l'UAC exploitant le binaire UIAccess QuickAssist pour charger une DLL contrôlée par l'attaquant via WebView2 BrowserExecutableFolder, puis détourner des processus élevés sous Windows 10/11.
Remarque : Si vous recherchez un contournement de l'UAC avec une meilleure compatibilité (ex : systèmes d'exploitation Windows Server), vous pouvez utiliser : TabTip UAC Bypass
QuickAssist est une application introduite dans Windows 10 1809. Il s'agit d'un binaire UIAccess installé par défaut qui peut être détourné pour contourner l'UAC. Comme QuickAssist utilise WebView2 pour le masque de connexion, il peut être trompé par la stratégie de groupe BrowserExecutableFolder afin de charger WebView2 et donc une DLL contrôlée par l'attaquant depuis un emplacement arbitraire. Le chargement de la DLL dans le processus QuickAssist accorde une intégrité élevée mais pas de privilèges administrateur. Cela ressemble à première vue à une « rétrogradation » vers un contournement de l'UAC classique avec auto-élévation. D'autres contournements UIAccess/UIPI tentent de prendre le contrôle de fenêtres élevées en leur envoyant des entrées. Mais ce n'est pas nécessaire. Le niveau d'intégrité permet l'utilisation de SetWindowsHookExW() (compatible avec les versions antérieures à Windows 10 1809) ou de GetProcessHandleFromHwnd() pour prendre le contrôle de processus élevés disposant d'une fenêtre. Si aucune fenêtre élevée n'existe dans la session courante, on peut en créer une en démarrant une tâche planifiée élevée. Et comme aucune invite n'est jamais affichée sur les programmes UIAccess, cela rend ce type de contournement de l'UAC encore meilleur que les contournements de l'UAC classiques. Ce contournement de l'UAC sert donc également de PoC pour démontrer que tout contournement UIAccess peut être considéré comme un contournement complet de l'UAC. Tout contournement de l'UAC précédent pouvant être « rétrogradé » en contournement UIAccess peut donc être promu en un contournement de l'UAC compatible avec l'option « toujours notifier ».
Fonctionne sur Windows 10 1809 et versions ultérieures ainsi que sur Windows 11 Ce contournement de l'UAC fonctionne avec l'option « toujours notifier » mais présente quelques réserves :
Utilisation :
Usage: QuickAssist_UAC_Bypass.exe [path_to_dll]
Example: QuickAssist_UAC_Bypass.exe OskSupport.dll
