
Derrotando o Controle de Conta de Usuário do Windows
Derrotando o Controle de Conta de Usuário do Windows abusando do backdoor interno de elevação automática do Windows. Este projeto demonstra várias técnicas de bypass do UAC e serve como um recurso educacional para entender os mecanismos de segurança do Windows.
⚠️ Aviso: Esta ferramenta demonstra vulnerabilidades de segurança que podem ser exploradas maliciosamente. Use com responsabilidade e apenas em ambientes controlados.
Execute o executável a partir da linha de comando usando a seguinte sintaxe:``` akagi32.exe [Method_Number] [Optional_Command]
ou```
akagi64.exe [Method_Number] [Optional_Command]
akagi32.exe 23 akagi64.exe 61 akagi32.exe 23 c:\windows\system32\calc.exe akagi64.exe 61 c:\windows\system32\charmap.exe
> **Nota**: Desde a versão 3.5.0, todos os métodos anteriormente "corrigidos" são considerados obsoletos e foram removidos. Se precisar deles, use o [branch v3.2.x](https://github.com/hfiref0x/UACME/tree/v3.2.x).
> **Nota**: A partir da versão 3.7.0, os métodos "corrigidos" entre 3.5.0 e 3.7.0 foram removidos da tabela de métodos do UACMe. Se precisar deles, use o [branch v3.6.x_plus](https://github.com/hfiref0x/UACME/tree/v3.6.x_plus). O código desses métodos ainda está disponível no branch atual para fins históricos.
<details>
<summary>Chaves (clique para expandir/recolher)</summary>1. Autor: Leo Davidson
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\sysprep\sysprep.exe
* Componente(s): cryptbase.dll
* Implementação: ucmStandardAutoElevation
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 8.1 (9600)
* Como: sysprep.exe endureceu os elementos LoadFrom do manifesto
* Status do código: removido a partir da v3.5.0 :tractor:
2. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\sysprep\sysprep.exe
* Componente(s): ShCore.dll
* Implementação: ucmStandardAutoElevation
* Funciona a partir de: Windows 8.1 (9600)
* Corrigido em: Windows 10 TP (> 9600)
* Como: Efeito colateral da mudança de ShCore.dll para \KnownDlls
* Status do código: removido a partir da v3.5.0 :tractor:
3. Autor: Leo Davidson derivado por WinNT/Pitou
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\oobe\setupsqm.exe
* Componente(s): WdsCore.dll
* Implementação: ucmStandardAutoElevation
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TH2 (10558)
* Como: Efeito colateral do redesenho do OOBE
* Status do código: removido a partir da v3.5.0 :tractor:
4. Autor: Jon Ericson, WinNT/Gootkit, mzH
* Tipo: AppCompat
* Método: RedirectEXE Shim
* Alvo(s): \system32\cliconfg.exe
* Componente(s): -
* Implementação: ucmShimRedirectEXE
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TP (> 9600)
* Como: Autoelevação do Sdbinst.exe removida, KB3045645/KB3048097 para as restantes versões Windows
* Status do código: removido a partir da v3.5.0 :tractor:
5. Autor: WinNT/Simda
* Tipo: Interface COM elevada
* Método: ISecurityEditor
* Alvo(s): Chaves de registo HKLM
* Componente(s): -
* Implementação: ucmSimdaTurnOffUac
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TH1 (10147)
* Como: Método da interface ISecurityEditor alterado
* Status do código: removido a partir da v3.5.0 :tractor:
6. Autor: Win32/Carberp
* Tipo: Dll Hijack
* Método: WUSA
* Alvo(s): \ehome\mcx2prov.exe, \system32\migwiz\migwiz.exe
* Componente(s): WdsCore.dll, CryptBase.dll, CryptSP.dll
* Implementação: ucmWusaMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TH1 (10147)
* Como: Opção WUSA /extract removida
* Status do código: removido a partir da v3.5.0 :tractor:
7. Autor: Win32/Carberp derivado
* Tipo: Dll Hijack
* Método: WUSA
* Alvo(s): \system32\cliconfg.exe
* Componente(s): ntwdblib.dll
* Implementação: ucmWusaMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TH1 (10147)
* Como: Opção WUSA /extract removida
* Status do código: removido a partir da v3.5.0 :tractor:
8. Autor: Leo Davidson derivado por Win32/Tilon
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\sysprep\sysprep.exe
* Componente(s): Actionqueue.dll
* Implementação: ucmStandardAutoElevation
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 8.1 (9600)
* Como: sysprep.exe endureceu LoadFrom do manifesto
* Status do código: removido a partir da v3.5.0 :tractor:
9. Autor: Leo Davidson, WinNT/Simda, Win32/Carberp derivado
* Tipo: Dll Hijack
* Método: IFileOperation, ISecurityEditor, WUSA
* Alvo(s): Chaves de registo IFEO, \system32\cliconfg.exe
* Componente(s): Attacker defined Application Verifier Dll
* Implementação: ucmAvrfMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TH1 (10147)
* Como: Opção WUSA /extract removida, método da interface ISecurityEditor alterado
* Status do código: removido a partir da v3.5.0 :tractor:
10. Autor: WinNT/Pitou, Win32/Carberp derivado
* Tipo: Dll Hijack
* Método: IFileOperation, WUSA
* Alvo(s): \system32\\{New}or{Existing}\\{autoelevated}.exe, e.g. winsat.exe
* Componente(s): Attacker defined dll, e.g. PowProf.dll, DevObj.dll
* Implementação: ucmWinSATMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TH2 (10548)
* Como: Reforço do controlo do caminho da aplicação elevada AppInfo
* Status do código: removido a partir da v3.5.0 :tractor:
11. Autor: Jon Ericson, WinNT/Gootkit, mzH
* Tipo: AppCompat
* Método: Shim Memory Patch
* Alvo(s): \system32\iscsicli.exe
* Componente(s): Attacker prepared shellcode
* Implementação: ucmShimPatch
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 8.1 (9600)
* Como: Autoelevação do Sdbinst.exe removida, KB3045645/KB3048097 para as restantes versões Windows
* Status do código: removido a partir da v3.5.0 :tractor:
12. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\sysprep\sysprep.exe
* Componente(s): dbgcore.dll
* Implementação: ucmStandardAutoElevation
* Funciona a partir de: Windows 10 TH1 (10240)
* Corrigido em: Windows 10 TH2 (10565)
* Como: Manifesto sysprep.exe atualizado
* Status do código: removido a partir da v3.5.0 :tractor:
13. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\mmc.exe EventVwr.msc
* Componente(s): elsext.dll
* Implementação: ucmMMCMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS1 (14316)
* Como: Dependência em falta removida
* Status do código: removido a partir da v3.5.0 :tractor:
14. Autor: Leo Davidson, WinNT/Sirefef derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system\credwiz.exe, \system32\wbem\oobe.exe
* Componente(s): netutils.dll
* Implementação: ucmSirefefMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 TH2 (10548)
* Como: Reforço do controlo do caminho da aplicação elevada AppInfo
* Status do código: removido a partir da v3.5.0 :tractor:
15. Autor: Leo Davidson, Win32/Addrop, Metasploit derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\cliconfg.exe
* Componente(s): ntwdblib.dll
* Implementação: ucmGenericAutoelevation
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS1 (14316)
* Como: Autoelevação do Cliconfg.exe removida
* Status do código: removido a partir da v3.5.0 :tractor:
16. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\GWX\GWXUXWorker.exe, \system32\inetsrv\inetmgr.exe
* Componente(s): SLC.dll
* Implementação: ucmGWX
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS1 (14316)
* Como: Controlo do caminho da aplicação elevada AppInfo e reforço do executável inetmgr
* Status do código: removido a partir da v3.5.0 :tractor:
17. Autor: Leo Davidson derivado
* Tipo: Dll Hijack (Import forwarding)
* Método: IFileOperation
* Alvo(s): \system32\sysprep\sysprep.exe
* Componente(s): unbcl.dll
* Implementação: ucmStandardAutoElevation2
* Funciona a partir de: Windows 8.1 (9600)
* Corrigido em: Windows 10 RS1 (14371)
* Como: Manifesto sysprep.exe atualizado
* Status do código: removido a partir da v3.5.0 :tractor:
18. Autor: Leo Davidson derivado
* Tipo: Dll Hijack (Manifesto)
* Método: IFileOperation
* Alvo(s): \system32\taskhost.exe, \system32\tzsync.exe (qualquer ms exe sem manifesto)
* Componente(s): Attacker defined
* Implementação: ucmAutoElevateManifest
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS1 (14371)
* Como: Lógica de análise de manifesto revista
* Status do código: removido a partir da v3.5.0 :tractor:
19. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\inetsrv\inetmgr.exe
* Componente(s): MsCoree.dll
* Implementação: ucmInetMgrMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS1 (14376)
* Como: Reforço do manifesto executável inetmgr.exe, MitigationPolicy->ProcessImageLoadPolicy->PreferSystem32Images
* Status do código: removido a partir da v3.5.0 :tractor:
20. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\mmc.exe, Rsop.msc
* Componente(s): WbemComn.dll
* Implementação: ucmMMCMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS3 (16232)
* Como: O alvo exige que wbemcomn.dll seja assinado pela MS
* Status do código: removido a partir da v3.5.0 :tractor:
21. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation, SxS DotLocal
* Alvo(s): \system32\sysprep\sysprep.exe
* Componente(s): comctl32.dll
* Implementação: ucmSXSMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS3 (16232)
* Como: MitigationPolicy->ProcessImageLoadPolicy->PreferSystem32Images
* Status do código: removido a partir da v3.5.0 :tractor:
22. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation, SxS DotLocal
* Alvo(s): \system32\consent.exe
* Componente(s): comctl32.dll
* Implementação: ucmSXSMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 11 24H2/25H2 (26100/26200)
* Como: Alterações internas do carregador Windows, consent!MitigationPolicy->ProcessSignaturePolicy->MicrosoftSignedOnly
* Status do código: removido a partir da v3.7.0 :tractor:
23. Autor: Leo Davidson derivado
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\pkgmgr.exe
* Componente(s): DismCore.dll
* Implementação: ucmDismMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.5.1
24. Autor: BreakingMalware
* Tipo: Shell API
* Método: Expansão de variáveis de ambiente
* Alvo(s): \system32\CompMgmtLauncher.exe
* Componente(s): Attacker defined
* Implementação: ucmCometMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS2 (15031)
* Como: Autoelevação do CompMgmtLauncher.exe removida
* Status do código: removido a partir da v3.5.0 :tractor:
25. Autor: Enigma0x3
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\EventVwr.exe, \system32\CompMgmtLauncher.exe
* Componente(s): Attacker defined
* Implementação: ucmHijackShellCommandMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS2 (15031)
* Como: EventVwr.exe redesenhado, autoelevação do CompMgmtLauncher.exe removida
* Status do código: removido a partir da v3.5.0 :tractor:
26. Autor: Enigma0x3
* Tipo: Race Condition
* Método: Sobrescrita de ficheiro
* Alvo(s): %temp%\GUID\dismhost.exe
* Componente(s): LogProvider.dll
* Implementação: ucmDiskCleanupRaceCondition
* Funciona a partir de: Windows 10 TH1 (10240)
* Compatível com AlwaysNotify
* Corrigido em: Windows 10 RS2 (15031)
* Como: Permissões de segurança de ficheiro alteradas
* Status do código: removido a partir da v3.5.0 :tractor:
27. Autor: ExpLife
* Tipo: Interface COM elevada
* Método: IARPUninstallStringLauncher
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmUninstallLauncherMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS3 (16199)
* Como: Interface UninstallStringLauncher removida do COMAutoApprovalList
* Status do código: removido a partir da v3.5.0 :tractor:
28. Autor: Exploit/Sandworm
* Tipo: Componente na lista de permissões
* Método: InfDefaultInstall
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmSandwormMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 8.1 (9600)
* Como: InfDefaultInstall.exe removido de g_lpAutoApproveEXEList (MS14-060)
* Status do código: removido a partir da v3.5.0 :tractor:
29. Autor: Enigma0x3
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\sdclt.exe
* Componente(s): Attacker defined
* Implementação: ucmAppPathMethod
* Funciona a partir de: Windows 10 TH1 (10240)
* Corrigido em: Windows 10 RS3 (16215)
* Como: Atualização da Shell API
* Status do código: removido a partir da v3.5.0 :tractor:
30. Autor: Leo Davidson derivado, lhc645
* Tipo: Dll Hijack
* Método: WOW64 logger
* Alvo(s): \syswow64\\{any elevated exe, e.g wusa.exe}
* Componente(s): wow64log.dll
* Implementação: ucmWow64LoggerMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 11 24H2/25H2 (26100/26200)
* Como: Alterações internas do carregador Windows
* Status do código: removido a partir da v3.7.0 :tractor:
31. Autor: Enigma0x3
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\sdclt.exe
* Componente(s): Attacker defined
* Implementação: ucmSdcltIsolatedCommandMethod
* Funciona a partir de: Windows 10 TH1 (10240)
* Corrigido em: Windows 10 RS4 (17025)
* Como: Atualização da Shell API / componentes Windows
* Status do código: removido a partir da v3.5.0 :tractor:
32. Autor: xi-tauw
* Tipo: Dll Hijack
* Método: Bypass UIPI com aplicação uiAccess
* Alvo(s): \Program Files\Windows Media Player\osk.exe, \system32\EventVwr.exe, \system32\mmc.exe
* Componente(s): duser.dll, osksupport.dll
* Implementação: ucmUiAccessMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.7.1
33. Autor: winscripting.blog
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\fodhelper.exe
* Componente(s): Attacker defined
* Implementação: ucmShellRegModMethod
* Funciona a partir de: Windows 10 TH1 (10240)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.7.2
34. Autor: James Forshaw
* Tipo: Shell API
* Método: Expansão de variáveis de ambiente
* Alvo(s): \system32\svchost.exe via \system32\schtasks.exe
* Componente(s): Attacker defined
* Implementação: ucmDiskCleanupEnvironmentVariable
* Funciona a partir de: Windows 8.1 (9600)
* Compatível com AlwaysNotify
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.7.2
35. Autor: CIA & James Forshaw
* Tipo: Impersonação
* Método: Manipulações de Token
* Alvo(s): Aplicações autoelevadas
* Componente(s): Attacker defined
* Implementação: ucmTokenModification
* Funciona a partir de: Windows 7 (7600)
* AlwaysNotify compatível, ver nota
* Corrigido em: Windows 10 RS5 (17686)
* Como: ntoskrnl.exe->SeTokenCanImpersonate adicionada verificação adicional de token de acesso
* Status do código: removido a partir da v3.5.0 :tractor:
36. Autor: Thomas Vanhoutte aka SandboxEscaper
* Tipo: Race condition
* Método: NTFS reparse point & Dll Hijack
* Alvo(s): wusa.exe, pkgmgr.exe
* Componente(s): Attacker defined
* Implementação: ucmJunctionMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 11 24H2/25H2 (26100/26200)
* Como: Alterações no WUSA
* Status do código: removido a partir da v3.7.0 :tractor:
37. Autor: Ernesto Fernandez, Thomas Vanhoutte
* Tipo: Dll Hijack
* Método: SxS DotLocal, NTFS reparse point
* Alvo(s): \system32\dccw.exe
* Componente(s): GdiPlus.dll
* Implementação: ucmSXSDccwMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 11 24H2/25H2 (26100/26200)
* Como: Alterações internas do carregador Windows, alterações no WUSA
* Status do código: removido a partir da v3.7.0 :tractor:
38. Autor: Clement Rouault
* Tipo: Componente na lista de permissões
* Método: Spoofing da linha de comandos APPINFO
* Alvo(s): \system32\mmc.exe
* Componente(s): Attacker defined
* Implementação: ucmHakrilMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.7.6
39. Autor: Stefan Kanthak
* Tipo: Dll Hijack
* Método: .NET Code Profiler
* Alvo(s): \system32\mmc.exe
* Componente(s): Attacker defined
* Implementação: ucmCorProfilerMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.7.7
40. Autor: Ruben Boonen
* Tipo: COM Handler Hijack
* Método: Manipulação de chave de registo
* Alvo(s): \system32\mmc.exe, \system32\recdisc.exe
* Componente(s): Attacker defined
* Implementação: ucmCOMHandlersMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 19H1 (18362)
* Como: Efeito colateral de alterações no Windows
* Status do código: removido a partir da v3.5.0 :tractor:
41. Autor: Oddvar Moe
* Tipo: Interface COM elevada
* Método: ICMLuaUtil
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmCMLuaUtilShellExecMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.7.9
42. Autor: BreakingMalware e Enigma0x3
* Tipo: Interface COM elevada
* Método: IFwCplLua
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmFwCplLuaMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS4 (17134)
* Como: Atualização da Shell API
* Status do código: removido a partir da v3.5.0 :tractor:
43. Autor: Oddvar Moe derivado
* Tipo: Interface COM elevada
* Método: IColorDataProxy, ICMLuaUtil
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmDccwCOMMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v2.8.3
44. Autor: bytecode77
* Tipo: Shell API
* Método: Expansão de variáveis de ambiente
* Alvo(s): Múltiplos processos autoelevados
* Componente(s): Vários por alvo
* Implementação: ucmVolatileEnvMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS3 (16299)
* Como: Variáveis de diretório de sistema do utilizador atual ignoradas durante a criação de processo
* Status do código: removido a partir da v3.5.0 :tractor:
45. Autor: bytecode77
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\slui.exe
* Componente(s): Attacker defined
* Implementação: ucmSluiHijackMethod
* Funciona a partir de: Windows 8.1 (9600)
* Corrigido em: Windows 10 20H1 (19041)
* Como: Efeito colateral de alterações no Windows
* Status do código: removido a partir da v3.5.0 :tractor:
46. Autor: Anónimo
* Tipo: Race Condition
* Método: Manipulação de chave de registo
* Alvo(s): \system32\BitlockerWizardElev.exe
* Componente(s): Attacker defined
* Implementação: ucmBitlockerRCMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS4 (>16299)
* Como: Atualização da Shell API
* Status do código: removido a partir da v3.5.0 :tractor:
47. Autor: clavoillotte & 3gstudent
* Tipo: COM Handler Hijack
* Método: Manipulação de chave de registo
* Alvo(s): \system32\mmc.exe
* Componente(s): Attacker defined
* Implementação: ucmCOMHandlersMethod2
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 19H1 (18362)
* Como: Efeito colateral de alterações no Windows
* Status do código: removido a partir da v3.5.0 :tractor:
48. Autor: deroko
* Tipo: Interface COM elevada
* Método: ISPPLUAObject
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmSPPLUAObjectMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS5 (17763)
* Como: Método da interface ISPPLUAObject alterado
* Status do código: removido a partir da v3.5.0 :tractor:
49. Autor: RinN
* Tipo: Interface COM elevada
* Método: ICreateNewLink
* Alvo(s): \system32\TpmInit.exe
* Componente(s): WbemComn.dll
* Implementação: ucmCreateNewLinkMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS1 (14393)
* Como: Efeito colateral da introdução do COMAutoApprovalList no consent.exe
* Status do código: removido a partir da v3.5.0 :tractor:
50. Autor: Anónimo
* Tipo: Interface COM elevada
* Método: IDateTimeStateWrite, ISPPLUAObject
* Alvo(s): Serviço w32time
* Componente(s): w32time.dll
* Implementação: ucmDateTimeStateWriterMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS5 (17763)
* Como: Efeito colateral da alteração da interface ISPPLUAObject
* Status do código: removido a partir da v3.5.0 :tractor:
51. Autor: bytecode77 derivado
* Tipo: Interface COM elevada
* Método: IAccessibilityCplAdmin
* Alvo(s): \system32\rstrui.exe
* Componente(s): Attacker defined
* Implementação: ucmAcCplAdminMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS4 (17134)
* Como: Atualização da Shell API
* Status do código: removido a partir da v3.5.0 :tractor:
52. Autor: David Wells
* Tipo: Componente na lista de permissões
* Método: Abuso de parsing AipNormalizePath
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmDirectoryMockMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 11 24H2/25H2 (26100/26200)
* Como: Alterações no appinfo
* Status do código: removido a partir da v3.7.0 :tractor:
53. Autor: Emeric Nasi
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\sdclt.exe
* Componente(s): Attacker defined
* Implementação: ucmShellRegModMethod
* Funciona a partir de: Windows 10 (14393)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.1.3
54. Autor: egre55
* Tipo: Dll Hijack
* Método: Abuso de pesquisa de caminho de DLL
* Alvo(s): \syswow64\SystemPropertiesAdvanced.exe e outros SystemProperties*.exe
* Componente(s): \AppData\Local\Microsoft\WindowsApps\srrstr.dll
* Implementação: ucmEgre55Method
* Funciona a partir de: Windows 10 (14393)
* Corrigido em: Windows 10 19H1 (18362)
* Como: SysDm.cpl!_CreateSystemRestorePage atualizado para chamada de biblioteca segura
* Status do código: removido a partir da v3.5.0 :tractor:
55. Autor: James Forshaw
* Tipo: GUI Hack
* Método: Bypass UIPI com modificação de token
* Alvo(s): \system32\osk.exe, \system32\msconfig.exe
* Componente(s): Attacker defined
* Implementação: ucmTokenModUIAccessMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS5 (17763), parte de patch, ano 2024
* Como: Quando o nível de integridade de um token UIAccess é rebaixado, a propriedade UIAccess é removida
* Status do código: removido a partir da v3.7.0 :tractor:
56. Autor: Hashim Jawad
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\WSReset.exe
* Componente(s): Attacker defined
* Implementação: ucmShellRegModMethod2
* Funciona a partir de: Windows 10 (17134)
* Corrigido em: Windows 11 (22000)
* Como: Redesenho de componentes Windows
* Status do código: removido a partir da v3.7.0 :tractor:
57. Autor: Leo Davidson derivado por Win32/Gapz
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\sysprep\sysprep.exe
* Componente(s): unattend.dll
* Implementação: ucmStandardAutoElevation
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 8.1 (9600)
* Como: sysprep.exe endureceu os elementos LoadFrom do manifesto
* Status do código: removido a partir da v3.5.0 :tractor:
58. Autor: RinN
* Tipo: Interface COM elevada
* Método: IEditionUpgradeManager
* Alvo(s): \system32\clipup.exe
* Componente(s): Attacker defined
* Implementação: ucmEditionUpgradeManagerMethod
* Funciona a partir de: Windows 10 (14393)
* Corrigido em: Windows 11 24H2/25H2 (26100/26200)
* Como: Variável de ambiente do utilizador atual %windir% ignorada
* Status do código: removido a partir da v3.7.0 :tractor:
59. Autor: James Forshaw
* Tipo: AppInfo ALPC
* Método: RAiLaunchAdminProcess e DebugObject
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmDebugObjectMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.2.3
60. Autor: Enigma0x3 derivado por WinNT/Glupteba
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\CompMgmtLauncher.exe
* Componente(s): Attacker defined
* Implementação: ucmGluptebaMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS2 (15063)
* Como: Autoelevação do CompMgmtLauncher.exe removida
* Status do código: removido a partir da v3.5.0 :tractor:
61. Autor: Enigma0x3/bytecode77 derivado por Nassim Asrir
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\slui.exe, \system32\changepk.exe
* Componente(s): Attacker defined
* Implementação: ucmShellRegModMethod
* Funciona a partir de: Windows 10 (14393)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.2.5
62. Autor: winscripting.blog
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\computerdefaults.exe
* Componente(s): Attacker defined
* Implementação: ucmShellRegModMethod
* Funciona a partir de: Windows 10 RS4 (17134)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.2.6
63. Autor: Arush Agarampur
* Tipo: Dll Hijack
* Método: ISecurityEditor
* Alvo(s): Elementos do Native Image Cache
* Componente(s): Attacker defined
* Implementação: ucmNICPoisonMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.2.7
64. Autor: Arush Agarampur
* Tipo: Interface COM elevada
* Método: IIEAxiAdminInstaller, IIEAxiInstaller2, IFileOperation
* Alvo(s): Cache de instalação de add-on do IE
* Componente(s): Attacker defined
* Implementação: ucmIeAddOnInstallMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.5.1
65. Autor: Arush Agarampur
* Tipo: Interface COM elevada
* Método: IWscAdmin
* Alvo(s): Hijack de Protocolo Shell
* Componente(s): Attacker defined
* Implementação: ucmWscActionProtocolMethod
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 11 24H2 (26100)
* Como: Efeito colateral de alterações no Windows
* Status do código: removido a partir da v3.7.0 :tractor:
66. Autor: Arush Agarampur
* Tipo: Interface COM elevada
* Método: IFwCplLua, Hijack de Protocolo Shell
* Alvo(s): Entrada de registo de protocolo Shell e variáveis de ambiente
* Componente(s): Attacker defined
* Implementação: ucmFwCplLuaMethod2
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 11 24H2 (26100)
* Como: Efeito colateral de alterações no Windows
* Status do código: removido a partir da v3.7.0 :tractor:
67. Autor: Arush Agarampur
* Tipo: Shell API
* Método: Hijack de Protocolo Shell
* Alvo(s): \system32\fodhelper.exe
* Componente(s): Attacker defined
* Implementação: ucmMsSettingsProtocolMethod
* Funciona a partir de: Windows 10 TH1 (10240)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.5.4
68. Autor: Arush Agarampur
* Tipo: Shell API
* Método: Hijack de Protocolo Shell
* Alvo(s): \system32\wsreset.exe
* Componente(s): Attacker defined
* Implementação: ucmMsStoreProtocolMethod
* Funciona a partir de: Windows 10 RS5 (17763)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.5.5
69. Autor: Arush Agarampur
* Tipo: Shell API
* Método: Expansão de variáveis de ambiente, Dll Hijack
* Alvo(s): \system32\taskhostw.exe
* Componente(s): pcadm.dll
* Implementação: ucmPcaMethod
* Funciona a partir de: Windows 7 (7600)
* Compatível com AlwaysNotify
* Corrigido em: Windows 11 24H2/25H2 (26100)
* Como: Variável de ambiente do utilizador atual %windir% ignorada
* Status do código: removido a partir da v3.7.0 :tractor:
70. Autor: V3ded
* Tipo: Shell API
* Método: Manipulação de chave de registo
* Alvo(s): \system32\fodhelper.exe, \system32\computerdefaults.exe
* Componente(s): Attacker defined
* Implementação: ucmShellRegModMethod3
* Funciona a partir de: Windows 10 (10240)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.5.7
71. Autor: Arush Agarampur
* Tipo: Dll Hijack
* Método: ISecurityEditor
* Alvo(s): Elementos do Native Image Cache
* Componente(s): Attacker defined
* Implementação: ucmNICPoisonMethod2
* Funciona a partir de: Windows 7 RTM (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.5.8
72. Autor: Emeric Nasi
* Tipo: Dll Hijack
* Método: Abuso de pesquisa de caminho de DLL
* Alvo(s): \syswow64\msdt.exe, \system32\sdiagnhost.exe
* Componente(s): BluetoothDiagnosticUtil.dll
* Implementação: ucmMsdtMethod
* Funciona a partir de: Windows 10 (10240)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.5.9
73. Autor: orange_8361 e antonioCoco
* Tipo: Shell API
* Método: Desserialização .NET
* Alvo(s): \system32\mmc.exe EventVwr.msc
* Componente(s): Attacker defined
* Implementação: ucmDotNetSerialMethod
* Funciona a partir de: Windows 7 RTM (7600)
* Corrigido em: Windows 11 24H2/25H2 (26100)
* Como: Redesenho do EventViewer
* Status do código: removido a partir da v3.7.0 :tractor:
74. Autor: zcgonvh
* Tipo: Interface COM elevada
* Método: IElevatedFactoryServer
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmVFServerTaskSchedMethod
* Funciona a partir de: Windows 8.1 (9600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.6.1
75. Autor: zcgonvh derivado por Wh04m1001
* Tipo: Interface COM elevada
* Método: IDiagnosticProfile
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmVFServerDiagProfileMethod
* Funciona a partir de: Windows 7 RTM (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.6.2
76. Autor: HackerHouse
* Tipo: Dll Hijack
* Método: Abuso de pesquisa de caminho de DLL, Manipulação de chave de registo
* Alvo(s): \syswow64\iscsicpl.exe
* Componente(s): iscsiexe.dll
* Implementação: ucmIscsiCplMethod
* Funciona a partir de: Windows 7 RTM (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.6.3
77. Autor: Arush Agarampur
* Tipo: Dll Hijack
* Método: IFileOperation
* Alvo(s): \system32\mmc.exe
* Componente(s): atl.dll
* Implementação: ucmAtlHijackMethod
* Funciona a partir de: Windows 7 RTM (7600)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.6.4
78. Autor: antonioCoco
* Tipo: Impersonação
* Método: SSPI Datagram
* Alvo(s): Attacker defined
* Componente(s): Attacker defined
* Implementação: ucmSspiDatagramMethod
* Funciona a partir de: Windows 7 RTM (7600)
* Compatível com AlwaysNotify
* Corrigido em: Windows 10 (19041), parte de patch, ano 2024?
* Como: Efeito colateral de alterações no Windows
* Status do código: removido a partir da v3.7.0 :tractor:
79. Autor: James Forshaw e Stefan Kanthak
* Tipo: GUI Hack
* Método: Bypass UIPI com modificação de token
* Alvo(s): \system32\osk.exe, \system32\mmc.exe
* Componente(s): Attacker defined
* Implementação: ucmTokenModUIAccessMethod2
* Funciona a partir de: Windows 7 (7600)
* Corrigido em: Windows 10 RS5 (17763), parte de patch, ano 2024
* Como: Quando o nível de integridade de um token UIAccess é rebaixado, a propriedade UIAccess é removida
* Status do código: removido a partir da v3.7.0 :tractor:
80. Autor: R41N3RZUF477
* Tipo: Shell API
* Método: Expansão de variáveis de ambiente, Dll Hijack
* Alvo(s): \system32\taskhostw.exe
* Componente(s): PerformanceTraceHandler.dll
* Implementação: ucmRequestTraceMethod
* Funciona a partir de: Windows 11 (26100)
* Compatível com AlwaysNotify
* Corrigido em: Windows 11 25H2 (26200)
* Como: Efeito colateral de alterações no Windows
* Status do código: removido a partir da v3.7.0 :tractor:
81. Autor: R41N3RZUF477
* Tipo: Shell API
* Método: Expansão de variáveis de ambiente, Dll Hijack, Bypass UIPI
* Alvo(s): \system32\QuickAssist.exe
* Componente(s): EmbeddedBrowserWebView.dll
* Implementação: ucmQuickAssistMethod
* Funciona a partir de: Windows 10 (19041)
* Compatível com AlwaysNotify
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.6.8
82. Autor: WZ
* Tipo: Shell API
* Método: UICleanmgrAdminHelper, UICleanmgrHelper
* Alvo(s): \system32\SystemSettingsAdminFlows.exe
* Componente(s): Action.exe
* Implementação: ucmCleanMgrAdminMethod
* Funciona a partir de: Windows 10 (19041)
* Corrigido em: não corrigido :see_no_evil:
* Como: -
* Status do código: adicionado na v3.7.0</details>
**Notas importantes:**
* Os métodos 30, 63 e posteriores são implementados apenas na versão x64
* O método 30 requer x64 porque explora uma funcionalidade do subsistema WOW64
* O método 55 está incluído principalmente para fins educacionais e pode não ser confiável
* O método 78 exige que a senha da conta de usuário atual não esteja em branco
## Aviso
⚠️ **Informações importantes de segurança e uso**:
* Esta ferramenta demonstra **apenas métodos de bypass de UAC publicamente conhecidos** usados por malware. Ela reimplementa algumas técnicas de maneiras diferentes para melhorar os conceitos originais.
* **Não é destinada a testes de antivírus** e não é garantido que funcione em ambientes com software de segurança agressivo. Use com antivírus ativo por sua conta e risco.
* Muitas soluções antivírus podem marcar esta ferramenta como "HackTool" - este é um comportamento esperado devido às suas capacidades.
* **Limpeza após o uso**: Se estiver executando em um sistema de produção, certifique-se de remover todos os artefatos do programa depois. Consulte o código-fonte para detalhes sobre arquivos colocados em pastas do sistema.
* A maioria dos métodos foi desenvolvida principalmente para sistemas x64. Embora muitos possam funcionar em x86-32 com pequenos ajustes, o suporte para 32 bits não é foco deste projeto.
* Para uma explicação oficial da Microsoft sobre por que os bypasses de UAC ainda existem, veja: [Posição da Microsoft sobre UAC](https://devblogs.microsoft.com/oldnewthing/20160816-00/?p=94105)
# Política de suporte e testes no Windows 10
* O UACMe é testado apenas com variantes LSTB/LTSC (1607/1809) e as versões RTM-1 atuais
* Por exemplo: se a versão atual for 2004, será testado no 2004 (19041) e no anterior 1909 (18363)
* Builds Insider não são suportados, pois os métodos podem ser corrigidos em versões de pré-visualização
# Medidas de proteção
A proteção mais eficaz contra técnicas de bypass de UAC é usar uma conta sem privilégios administrativos.
# Instruções de compilação
O UACMe é escrito em C e requer o Microsoft Visual Studio 2019 ou posterior para ser compilado a partir do código-fonte.
### Pré-requisitos
* **IDE**: Microsoft Visual Studio 2019/2022/2026 e versões posteriores
* **Requisitos de SDK**:
* SDK do Windows 8.1 ou Windows 10/11 (testado com versão 19041/26100)
### Etapas de compilação
1. **Configurar o Platform ToolSet** (Project->Properties->General):
* Para Visual Studio 2022: Selecionar v143
* Para Visual Studio 2026: Selecionar v145
2. **Definir a versão da plataforma de destino** (Project->Properties->General):
* Para v140: Selecionar 8.1 (o SDK do Windows 8.1 deve estar instalado)
* Para v141 e superiores: Selecionar 10
3. **Processo de compilação**:
* Compilar as unidades de payload
* Compilar o módulo Naka
* Criptografar todas as unidades de payload usando o módulo Naka
* Gerar blobs secretos para essas unidades usando o módulo Naka
* Mover as unidades compiladas e os blobs secretos para o diretório Akagi\Bin
* Recompilar o Akagi
> **Nota**: Binários compilados não são fornecidos e nunca serão fornecidos. Isso serve como uma barreira contra uso malicioso e ajuda a manter o propósito educacional deste projeto.
## Aviso legal
* Esta ferramenta é fornecida **apenas para fins educacionais e de pesquisa**
* Não assumimos nenhuma responsabilidade pelo uso desta ferramenta em atividades maliciosas
* Não temos afiliação com nenhuma "empresa de segurança" que use este código para atividades comerciais
* Este repositório GitHub (hfiref0x/UACME) é a única fonte genuína do código UACMe
# Apoio
Se você achar este projeto interessante, pode me pagar um café
BTC (Bitcoin): bc1qzkvtpa0053cagf35dqmpvv9k8hyrwl7krwdz84q39mcpy68y6tmqsju0g4
# Referências
* Windows 7 UAC whitelist, http://www.pretentiousname.com/misc/win7_uac_whitelist2.html
* Malicious Application Compatibility Shims, https://www.blackhat.com/docs/eu-15/materials/eu-15-Pierce-Defending-Against-Malicious-Application-Compatibility-Shims-wp.pdf
* Junfeng Zhang from WinSxS dev team blog, https://blogs.msdn.microsoft.com/junfeng/
* Beyond good ol' Run key, series of articles, http://www.hexacorn.com/blog
* KernelMode.Info UACMe thread, https://www.kernelmode.info/forum/viewtopicf985.html?f=11&t=3643
* Command Injection/Elevation - Environment Variables Revisited, https://breakingmalware.com/vulnerabilities/command-injection-and-elevation-environment-variables-revisited
* "Fileless" UAC Bypass Using eventvwr.exe and Registry Hijacking, https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/
* Bypassing UAC on Windows 10 using Disk Cleanup, https://enigma0x3.net/2016/07/22/bypassing-uac-on-windows-10-using-disk-cleanup/
* Using IARPUninstallStringLauncher COM interface to bypass UAC, http://www.freebuf.com/articles/system/116611.html
* Bypassing UAC using App Paths, https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/
* "Fileless" UAC Bypass using sdclt.exe, https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/
* UAC Bypass or story about three escalations, https://habrahabr.ru/company/pm/blog/328008/
* Exploiting Environment Variables in Scheduled Tasks for UAC Bypass, https://tyranidslair.blogspot.ru/2017/05/exploiting-environment-variables-in.html
* First entry: Welcome and fileless UAC bypass, https://winscripting.blog/2017/05/12/first-entry-welcome-and-uac-bypass/
* Reading Your Way Around UAC in 3 parts:
1. https://tyranidslair.blogspot.ru/2017/05/reading-your-way-around-uac-part-1.html
2. https://tyranidslair.blogspot.ru/2017/05/reading-your-way-around-uac-part-2.html
3. https://tyranidslair.blogspot.ru/2017/05/reading-your-way-around-uac-part-3.html
* Research on CMSTP.exe, https://msitpros.com/?p=3960
* UAC bypass via elevated .NET applications, https://offsec.provadys.com/UAC-bypass-dotnet.html
* UAC Bypass by Mocking Trusted Directories, https://medium.com/tenable-techblog/uac-bypass-by-mocking-trusted-directories-24a96675f6e
* Yet another sdclt UAC bypass, http://blog.sevagas.com/?Yet-another-sdclt-UAC-bypass
* UAC Bypass via SystemPropertiesAdvanced.exe and DLL Hijacking, https://egre55.github.io/system-properties-uac-bypass/
* Accessing Access Tokens for UIAccess, https://tyranidslair.blogspot.com/2019/02/accessing-access-tokens-for-uiaccess.html
* Fileless UAC Bypass in Windows Store Binary, https://www.activecyber.us/1/post/2019/03/windows-uac-bypass.html
* Calling Local Windows RPC Servers from .NET, https://googleprojectzero.blogspot.com/2019/12/calling-local-windows-rpc-servers-from.html
* Microsoft Windows 10 UAC bypass local privilege escalation exploit, https://packetstormsecurity.com/files/155927/Microsoft-Windows-10-Local-Privilege-Escalation.html
* UACMe 3.5, WD and the ways of mitigation, https://swapcontext.blogspot.com/2020/10/uacme-35-wd-and-ways-of-mitigation.html
* UAC bypasses from COMAutoApprovalList, https://swapcontext.blogspot.com/2020/11/uac-bypasses-from-comautoapprovallist.html
* Utilizing Programmatic Identifiers (ProgIDs) for UAC Bypasses, https://v3ded.github.io/redteam/utilizing-programmatic-identifiers-progids-for-uac-bypasses
* MSDT DLL Hijack UAC bypass, https://blog.sevagas.com/?MSDT-DLL-Hijack-UAC-bypass
* UAC bypass through .Net Deserialization vulnerability in eventvwr.exe, https://twitter.com/orange_8361/status/1518970259868626944
* Advanced Windows Task Scheduler Playbook - Part.2 from COM to UAC bypass and get SYSTEM directly, http://www.zcgonvh.com/post/Advanced_Windows_Task_Scheduler_Playbook-Part.2_from_COM_to_UAC_bypass_and_get_SYSTEM_dirtectly.html
* Bypassing UAC with SSPI Datagram Contexts, https://splintercod3.blogspot.com/p/bypassing-uac-with-sspi-datagram.html
* Mitigate some Exploits for Windows’® UAC, https://skanthak.hier-im-netz.de/uacamole.html
* Here's a BYPASS for you, https://mp.weixin.qq.com/s/D_Hchnzlv18naeJrYVJi1A
# Autores
(c) 2014 - 2026 UACMe Project