UACMe
- Derrotar el control de cuentas de usuario de Windows abusando de la puerta trasera integrada de Windows AutoElevate.
Requisitos del sistema
- x86-32/x64 Windows 7/8/8.1/10/11 (cliente, pero algunos métodos también funcionan en la versión del servidor).
- Se requiere una cuenta de administrador con UAC configurado en la configuración predeterminada.
Uso
Ejecute el ejecutable desde la línea de comando: akagi32 [Clave] [Param] o akagi64 [Clave] [Param]. Consulte "Ejemplos de ejecución" a continuación para obtener más información.
El primer parámetro es el número de método a utilizar, el segundo es el comando opcional (nombre del archivo ejecutable, incluida la ruta completa) a ejecutar. El segundo parámetro puede estar vacío; en este caso, el programa ejecutará cmd.exe elevado desde la carpeta system32.
Nota : Desde la versión 3.5.0, todos los métodos "fijos" se consideran obsoletos y se eliminan por completo con todo el código/unidades de soporte. Si aún los necesita, utilice la rama v3.2.x
Claves (haga clic para expandir/contraer)
- Autor: Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32sysprepsysprep.exe
- Componente(s): cryptbase.dll
- Implementación: ucmStandardAutoElevation
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 8.1 (9600)
- Cómo: sysprep.exe fortaleció los elementos del manifiesto LoadFrom
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32sysprepsysprep.exe
- Componente(s): ShCore.dll
- Implementación: ucmStandardAutoElevation
- Funciona desde: Windows 8.1 (9600)
- Corregido en: Windows 10 TP (>9600)
- Cómo: Efecto secundario de que ShCore.dll se mueva a KnownDlls
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Derivado de Leo Davidson por WinNT/Pitou
- Tipo: Secuestro de DLL
- Método: Operación IFile
- Destino(s): system32oobesetupsqm.exe
- Componente(s): WdsCore.dll
- Implementación: ucmStandardAutoElevation
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TH2 (10558)
- Cómo: Efecto secundario del rediseño de OOBE
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Jon Ericson, WinNT/Gootkit, mzH
- Tipo: Compatibilidad de aplicaciones
- Método: cuña RedirectEXE
- Destino(s): system32cliconfg.exe
- Componente(s): -
- Implementación: ucmShimRedirectEXE
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TP (>9600)
- Cómo: Se eliminó la elevación automática de Sdbinst.exe, KB3045645/KB3048097 para el resto de versiones de Windows
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: WinNT/Simda
- Tipo: interfaz COM elevada
- Método: ISecurityEditor
- Objetivo(s): claves de registro HKLM
- Componente(s): -
- Implementación: ucmSimdaTurnOffUac
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TH1 (10147)
- Cómo: Se cambió el método de interfaz ISecurityEditor
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Win32/Carberp
- Tipo: Secuestro de DLL
- Método: WUSA
- Destino(s): ehomemcx2prov.exe, system32migwizmigwiz.exe
- Componente(s): WdsCore.dll, CryptBase.dll, CryptSP.dll
- Implementación: método ucmWusa
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TH1 (10147)
- Cómo: Se eliminó la opción WUSA/extract
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Win32/Carberp
- Tipo: Secuestro de DLL
- Método: WUSA
- Destino(s): system32cliconfg.exe
- Componente(s): ntwdblib.dll
- Implementación: método ucmWusa
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TH1 (10147)
- Cómo: Se eliminó la opción WUSA/extract
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Derivado de Leo Davidson por Win32/Tilon
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32sysprepsysprep.exe
- Componente(s): Actionqueue.dll
- Implementación: ucmStandardAutoElevation
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 8.1 (9600)
- Cómo: sysprep.exe endureció el manifiesto LoadFrom
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Leo Davidson, WinNT/Simda, derivado de Win32/Carberp
- Tipo: Secuestro de DLL
- Método: IFileOperation, ISecurityEditor, WUSA
- Destino(s): claves de registro IFEO, system32cliconfg.exe
- Componente(s): Dll del verificador de aplicaciones definido por el atacante
- Implementación: método ucmAvrf
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TH1 (10147)
- Cómo: Se eliminó la opción WUSA /extract, se cambió el método de interfaz ISecurityEditor
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: WinNT/Pitou, derivado de Win32/Carberp
- Tipo: Secuestro de DLL
- Método: IFileOperation, WUSA
- Destino(s): system32{Nuevo}o{Existente}{autoelevated}.exe, por ejemplo, winsat.exe
- Componente(s): DLL definido por el atacante, por ejemplo, PowProf.dll, DevObj.dll
- Implementación: método ucmWinSATM
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TH2 (10548)
- Cómo: Refuerzo del control de ruta de aplicación elevado de AppInfo
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Jon Ericson, WinNT/Gootkit, mzH
- Tipo: Compatibilidad de aplicaciones
- Método: parche de memoria de cuña
- Destino(s): system32iscsicli.exe
- Componente(s): código shell preparado por el atacante
- Implementación: ucmShimPatch
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 8.1 (9600)
- Cómo: Se eliminó la elevación automática de Sdbinst.exe, KB3045645/KB3048097 para el resto de versiones de Windows
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32sysprepsysprep.exe
- Componente(s): dbgcore.dll
- Implementación: ucmStandardAutoElevation
- Funciona desde: Windows 10 TH1 (10240)
- Corregido en: Windows 10 TH2 (10565)
- Cómo: manifiesto sysprep.exe actualizado
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32mmc.exe EventVwr.msc
- Componente(s): elsext.dll
- Implementación: método ucmMMCMétodo
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS1 (14316)
- Cómo: Se elimina la dependencia que falta
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Leo Davidson, derivado de WinNT/Sirefef
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): systemcredwiz.exe, system32wbemoobe.exe
- Componente(s): netutils.dll
- Implementación: método ucmSirefef
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 TH2 (10548)
- Cómo: Refuerzo del control de ruta de aplicación elevado de AppInfo
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Leo Davidson, Win32/Addrop, derivado de Metasploit
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32cliconfg.exe
- Componente(s): ntwdblib.dll
- Implementación: ucmGenericAutoelevation
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS1 (14316)
- Cómo: Se eliminó la elevación automática de Cliconfg.exe
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32GWXGWXUXWorker.exe, system32inetsrvinetmgr.exe
- Componente(s): SLC.dll
- Implementación: ucmGWX
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS1 (14316)
- Cómo: Control elevado de ruta de aplicación de AppInfo y refuerzo del ejecutable inetmgr
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Dll Hijack (reenvío de importaciones)
- Método: Operación IFile
- Destino(s): system32sysprepsysprep.exe
- Componente(s): unbcl.dll
- Implementación: ucmStandardAutoElevation2
- Funciona desde: Windows 8.1 (9600)
- Corregido en: Windows 10 RS1 (14371)
- Cómo: manifiesto sysprep.exe actualizado
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de Dll (Manifiesto)
- Método: operación IFile
- Destino(s): system32taskhost.exe, system32tzsync.exe (cualquier ms exe sin manifiesto)
- Componente(s): Atacante definido
- Implementación: ucmAutoElevateManifest
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS1 (14371)
- Cómo: revisión de la lógica de análisis de manifiestos
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32inetsrvinetmgr.exe
- Componente(s): MsCoree.dll
- Implementación: método ucmInetMgr
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS1 (14376)
- Cómo: endurecimiento del manifiesto ejecutable inetmgr.exe, MitigationPolicy->ProcessImageLoadPolicy->PreferSystem32Images
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32mmc.exe, Rsop.msc
- Componente(s): WbemComn.dll
- Implementación: método ucmMMCMétodo
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS3 (16232)
- Cómo: Target requiere que wbemcomn.dll esté firmado por MS
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: IFileOperation, SxS DotLocal
- Destino(s): system32sysprepsysprep.exe
- Componente(s): comctl32.dll
- Implementación: ucmSXSMétodo
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS3 (16232)
- Cómo: MitigationPolicy->ProcessImageLoadPolicy->PreferSystem32Images
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: IFileOperation, SxS DotLocal
- Destino(s): system32consent.exe
- Componente(s): comctl32.dll
- Implementación: ucmSXSMétodo
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.5.0
- Autor: derivado de Leo Davidson
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32pkgmgr.exe
- Componente(s): DismCore.dll
- Implementación: método ucmDism
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.5.1
- Autor: BreakingMalware
- Tipo: API de shell
- Método: expansión de variables de entorno
- Destino(s): system32CompMgmtLauncher.exe
- Componente(s): Atacante definido
- Implementación: método ucmComet
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS2 (15031)
- Cómo: Se eliminó la elevación automática de CompMgmtLauncher.exe
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Enigma0x3
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32EventVwr.exe, system32CompMgmtLauncher.exe
- Componente(s): Atacante definido
- Implementación: ucmHijackShellCommandMethod
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS2 (15031)
- Cómo: EventVwr.exe rediseñado, elevación automática de CompMgmtLauncher.exe eliminada
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Enigma0x3
- Tipo: Condición de carrera
- Método: sobrescritura de archivos
- Objetivo(s): %temp%GUIDdismhost.exe
- Componente(s): LogProvider.dll
- Implementación: ucmDiskCleanupRaceCondition
- Funciona desde: Windows 10 TH1 (10240)
- Compatible con AlwaysNotify
- Corregido en: Windows 10 RS2 (15031)
- Cómo: Se modifican los permisos de seguridad de archivos
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: ExpLife
- Tipo: interfaz COM elevada
- Método: IARPUninstallStringLauncher
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: método ucmUninstallLauncher
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS3 (16199)
- Cómo: Se eliminó la interfaz UninstallStringLauncher de COMAutoApprovalList
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Exploit/Sandworm
- Tipo: componente incluido en la lista blanca
- Método: InfDefaultInstall
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: método ucmSandworm
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 8.1 (9600)
- Cómo: InfDefaultInstall.exe eliminado de g_lpAutoApproveEXEList (MS14-060)
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Enigma0x3
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32sdclt.exe
- Componente(s): Atacante definido
- Implementación: ucmAppPathMethod
- Funciona desde: Windows 10 TH1 (10240)
- Corregido en: Windows 10 RS3 (16215)
- Cómo: Actualización de la API de Shell
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Derivado de Leo Davidson, lhc645
- Tipo: Secuestro de DLL
- Método: registrador WOW64
- Objetivo(s): syswow64{cualquier exe elevado, por ejemplo, wusa.exe}
- Componente(s): wow64log.dll
- Implementación: método ucmWow64Logger
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.0
- Autor: Enigma0x3
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32sdclt.exe
- Componente(s): Atacante definido
- Implementación: ucmSdcltIsolatedCommandMethod
- Funciona desde: Windows 10 TH1 (10240)
- Corregido en: Windows 10 RS4 (17025)
- Cómo: Actualización de componentes de Shell API/Windows
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: xi-tauw
- Tipo: Secuestro de DLL
- Método: derivación de UIPI con la aplicación uiAccess
- Destino(s): Archivos de programaWindows Media Playerosk.exe, system32EventVwr.exe, system32mmc.exe
- Componente(s): duser.dll, osksupport.dll
- Implementación: ucmUiAccessMethod
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.1
- Autor: winscripting.blog
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Objetivo(s): system32fodhelper.exe
- Componente(s): Atacante definido
- Implementación: método ucmShellRegMod
- Funciona desde: Windows 10 TH1 (10240)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.2
- Autor: James Forshaw
- Tipo: API de shell
- Método: expansión de variables de entorno
- Objetivo(s): system32svchost.exe a través de system32schtasks.exe
- Componente(s): Atacante definido
- Implementación: ucmDiskCleanupEnvironmentVariable
- Funciona desde: Windows 8.1 (9600)
- Compatible con AlwaysNotify
- Corregido en: Windows 10 (parche ninja silencioso, presumiblemente boletín de seguridad de mayo de 2023)
- Cómo: Actualización de componentes de Shell API/Windows
- Estado del código: agregado en v2.7.2
- Autor: CIA y James Forshaw
- Tipo: Suplantación
- Método: manipulaciones de tokens
- Objetivo(s): aplicaciones elevadas automáticamente
- Componente(s): Atacante definido
- Implementación: ucmTokenModificación
- Funciona desde: Windows 7 (7600)
- Compatible con AlwaysNotify, ver nota
- Corregido en: Windows 10 RS5 (17686)
- Cómo: ntoskrnl.exe->SeTokenCanImpersonate se agregó verificación de token de acceso adicional
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Thomas Vanhoutte también conocido como SandboxEscaper
- Tipo: Condición de carrera
- Método: punto de análisis NTFS y secuestro de Dll
- Objetivo(s): wusa.exe, pkgmgr.exe
- Componente(s): Atacante definido
- Implementación: método ucmJunction
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.4
- Autor: Ernesto Fernández, Thomas Vanhoutte
- Tipo: Secuestro de DLL
- Método: SxS DotLocal, punto de análisis NTFS
- Destino(s): system32dccw.exe
- Componente(s): GdiPlus.dll
- Implementación: método ucmSXSDccw
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.5
- Autor: Clément Rouault
- Tipo: componente incluido en la lista blanca
- Método: suplantación de línea de comando APPINFO
- Destino(s): system32mmc.exe
- Componente(s): Atacante definido
- Implementación: método ucmHakril
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.6
- Autor: Stefan Kanthak
- Tipo: Secuestro de DLL
- Método: Perfilador de código .NET
- Destino(s): system32mmc.exe
- Componente(s): Atacante definido
- Implementación: método ucmCorProfiler
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.7
- Autor: Rubén Boonen
- Tipo: Secuestro del controlador COM
- Método: manipulación de la clave de registro
- Destino(s): system32mmc.exe, system32recdisc.exe
- Componente(s): Atacante definido
- Implementación: método ucmCOMHandlers
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 19H1 (18362)
- Cómo: efecto secundario de los cambios de Windows
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Oddvar Moe
- Tipo: interfaz COM elevada
- Método: ICMLuaUtil
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: ucmCMLuaUtilShellExecMethod
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.7.9
- Autor: BreakingMalware y Enigma0x3
- Tipo: interfaz COM elevada
- Método: IFwCplLua
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: método ucmFwCplLua
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS4 (17134)
- Cómo: Actualización de la API de Shell
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Derivado de Oddvar Moe
- Tipo: interfaz COM elevada
- Método: IColorDataProxy, ICMLuaUtil
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: método ucmDccwCOM
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v2.8.3
- Autor: bytecode77
- Tipo: API de shell
- Método: expansión de variables de entorno
- Objetivo(s): múltiples procesos elevados automáticamente
- Componente(s): Varios por objetivo
- Implementación: ucmVolatileEnvMethod
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS3 (16299)
- Cómo: Se ignoran las variables del directorio del sistema del usuario actual durante la creación del proceso
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: bytecode77
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Objetivo(s): system32slui.exe
- Componente(s): Atacante definido
- Implementación: método ucmSluiHijack
- Funciona desde: Windows 8.1 (9600)
- Corregido en: Windows 10 20H1 (19041)
- Cómo: efecto secundario de los cambios de Windows
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Anónimo
- Tipo: Condición de carrera
- Método: manipulación de la clave de registro
- Destino(s): system32BitlockerWizardElev.exe
- Componente(s): Atacante definido
- Implementación: método ucmBitlockerRC
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS4 (>16299)
- Cómo: Actualización de la API de Shell
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: clavoillotte & 3gstudent
- Tipo: Secuestro del controlador COM
- Método: manipulación de la clave de registro
- Destino(s): system32mmc.exe
- Componente(s): Atacante definido
- Implementación: ucmCOMHandlersMethod2
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 19H1 (18362)
- Cómo: efecto secundario de los cambios de Windows
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: deroko
- Tipo: interfaz COM elevada
- Método: ISPPLUAObjeto
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: ucmSPPLUAObjectMethod
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS5 (17763)
- Cómo: Se cambió el método de interfaz ISPPLUAObject
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: RinN
- Tipo: interfaz COM elevada
- Método: ICreateNewLink
- Destino(s): system32TpmInit.exe
- Componente(s): WbemComn.dll
- Implementación: ucmCreateNewLinkMethod
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS1 (14393)
- Cómo: Efecto secundario de la introducción a consent.exe COMAutoApprovalList
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: Anónimo
- Tipo: interfaz COM elevada
- Método: IDateTimeStateWrite, ISPPLUAObject
- Objetivo(s): servicio w32time
- Componente(s): w32time.dll
- Implementación: ucmDateTimeStateWriterMethod
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS5 (17763)
- Cómo: Efecto secundario del cambio de interfaz ISPPLUAObject
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado bytecode77
- Tipo: interfaz COM elevada
- Método: IAccessibilityCplAdmin
- Objetivo(s): system32rstrui.exe
- Componente(s): Atacante definido
- Implementación: método ucmAcCplAdmin
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS4 (17134)
- Cómo: Actualización de la API de Shell
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: David Wells
- Tipo: componente incluido en la lista blanca
- Método: abuso de análisis de AipNormalizePath
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: ucmDirectoryMockMethod
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.0.4
- Autor: Emeric Nasi
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32sdclt.exe
- Componente(s): Atacante definido
- Implementación: método ucmShellRegMod
- Funciona desde: Windows 10 (14393)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.1.3
- Autor: egre55
- Tipo: Secuestro de DLL
- Método: abuso de búsqueda de ruta de DLL
- Destino(s): syswow64SystemPropertiesAdvanced.exe y otros SystemProperties*.exe
- Componente(s): AppDataLocalMicrosoftWindowsAppssrrstr.dll
- Implementación: método ucmEgre55
- Funciona desde: Windows 10 (14393)
- Corregido en: Windows 10 19H1 (18362)
- Cómo: SysDm.cpl!_CreateSystemRestorePage se ha actualizado para una llamada de biblioteca de carga segura
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: James Forshaw
- Tipo: Hack de GUI
- Método: derivación de UIPI con modificación de token
- Destino(s): system32osk.exe, system32msconfig.exe
- Componente(s): Atacante definido
- Implementación: ucmTokenModUIAccessMethod
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.1.5
- Autor: Hashim Jawad
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32WSReset.exe
- Componente(s): Atacante definido
- Implementación: ucmShellRegModMethod2
- Funciona desde: Windows 10 (17134)
- Corregido en: Windows 11 (22000)
- Cómo: Rediseño de componentes de Windows
- Estado del código: ¿eliminado a partir de v3.5.7?
- Autor: Derivado de Leo Davidson por Win32/Gapz
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32sysprepsysprep.exe
- Componente(s): unattend.dll
- Implementación: ucmStandardAutoElevation
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 8.1 (9600)
- Cómo: sysprep.exe fortaleció los elementos del manifiesto LoadFrom
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: RinN
- Tipo: interfaz COM elevada
- Método: IEditionUpgradeManager
- Destino(s): system32clipup.exe
- Componente(s): Atacante definido
- Implementación: método ucmEditionUpgradeManager
- Funciona desde: Windows 10 (14393)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.2.0
- Autor: James Forshaw
- Tipo: AppInfo ALPC
- Método: RAiLaunchAdminProcess y DebugObject
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: método ucmDebugObject
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.2.3
- Autor: Derivado de Enigma0x3 por WinNT/Glupteba
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32CompMgmtLauncher.exe
- Componente(s): Atacante definido
- Implementación: método ucmGlupteba
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 10 RS2 (15063)
- Cómo: Se eliminó la elevación automática de CompMgmtLauncher.exe
- Estado del código: ¿eliminado a partir de v3.5.0?
- Autor: derivado de Enigma0x3/bytecode77 de Nassim Asrir
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32slui.exe, system32changepk.exe
- Componente(s): Atacante definido
- Implementación: método ucmShellRegMod
- Funciona desde: Windows 10 (14393)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.2.5
- Autor: winscripting.blog
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32computerdefaults.exe
- Componente(s): Atacante definido
- Implementación: método ucmShellRegMod
- Funciona desde: Windows 10 RS4 (17134)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.2.6
- Autor: Arush Agarampur
- Tipo: Secuestro de DLL
- Método: ISecurityEditor
- Objetivo(s): elementos de caché de imágenes nativas
- Componente(s): Atacante definido
- Implementación: método ucmNICPoison
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.2.7
- Autor: Arush Agarampur
- Tipo: interfaz COM elevada
- Método: IIEAxiAdminInstaller, IIEAxiInstaller2, IFileOperation
- Objetivo(s): caché de instalación de complementos de IE
- Componente(s): Atacante definido
- Implementación: método ucmIeAddOnInstall
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.5.1
- Autor: Arush Agarampur
- Tipo: interfaz COM elevada
- Método: IWscAdmin
- Objetivo(s): Secuestro del protocolo Shell
- Componente(s): Atacante definido
- Implementación: ucmWscActionProtocolMethod
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 11 24H2 (26100)
- Cómo: efecto secundario de los cambios de Windows
- Estado del código: agregado en v3.5.2
- Autor: Arush Agarampur
- Tipo: interfaz COM elevada
- Método: IFwCplLua, secuestro del protocolo Shell
- Objetivo(s): entrada de registro del protocolo Shell y variables de entorno
- Componente(s): Atacante definido
- Implementación: ucmFwCplLuaMethod2
- Funciona desde: Windows 7 (7600)
- Corregido en: Windows 11 24H2 (26100)
- Cómo: efecto secundario de los cambios de Windows
- Estado del código: agregado en v3.5.3
- Autor: Arush Agarampur
- Tipo: API de shell
- Método: Secuestro del protocolo Shell
- Objetivo(s): system32fodhelper.exe
- Componente(s): Atacante definido
- Implementación: método ucmMsSettingsProtocol
- Funciona desde: Windows 10 TH1 (10240)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.5.4
- Autor: Arush Agarampur
- Tipo: API de shell
- Método: Secuestro del protocolo Shell
- Destino(s): system32wsreset.exe
- Componente(s): Atacante definido
- Implementación: método ucmMsStoreProtocol
- Funciona desde: Windows 10 RS5 (17763)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.5.5
- Autor: Arush Agarampur
- Tipo: API de shell
- Método: expansión de variables de entorno, secuestro de Dll
- Destino(s): system32taskhostw.exe
- Componente(s): pcadm.dll
- Implementación: método ucmPca
- Funciona desde: Windows 7 (7600)
- Compatible con AlwaysNotify
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.5.6
- Autor: V3ded
- Tipo: API de shell
- Método: manipulación de la clave de registro
- Destino(s): system32fodhelper.exe, system32computerdefaults.exe
- Componente(s): Atacante definido
- Implementación: ucmShellRegModMethod3
- Funciona desde: Windows 10 (10240)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.5.7
- Autor: Arush Agarampur
- Tipo: Secuestro de DLL
- Método: ISecurityEditor
- Objetivo(s): elementos de caché de imágenes nativas
- Componente(s): Atacante definido
- Implementación: ucmNICPoisonMethod2
- Funciona desde: Windows 7 RTM (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.5.8
- Autor: Emeric Nasi
- Tipo: Secuestro de DLL
- Método: abuso de búsqueda de ruta de DLL
- Destino(s): syswow64msdt.exe, system32sdiagnhost.exe
- Componente(s): BluetoothDiagnosticUtil.dll
- Implementación: método ucmMsdt
- Funciona desde: Windows 10 (10240)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.5.9
- Autor: orange_8361 y antonioCoco
- Tipo: API de shell
- Método: deserialización de .NET
- Destino(s): system32mmc.exe EventVwr.msc
- Componente(s): Atacante definido
- Implementación: método ucmDotNetSerial
- Funciona desde: Windows 7 RTM (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.6.0
- Autor: zcgonvh
- Tipo: interfaz COM elevada
- Método: IElevatedFactoryServer
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: ucmVFServerTaskSchedMethod
- Funciona desde: Windows 8.1 (9600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.6.1
- Autor: derivado de zcgonvh por Wh04m1001
- Tipo: interfaz COM elevada
- Método: IDiagnosticProfile
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: ucmVFServerDiagProfileMethod
- Funciona desde: Windows 7 RTM (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.6.2
- Autor: HackerHouse
- Tipo: Secuestro de DLL
- Método: abuso de búsqueda de ruta de DLL, manipulación de clave de registro
- Destino(s): syswow64iscsicpl.exe
- Componente(s): iscsiexe.dll
- Implementación: método ucmIscsiCpl
- Funciona desde: Windows 7 RTM (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.6.3
- Autor: Arush Agarampur
- Tipo: Secuestro de DLL
- Método: operación IFile
- Destino(s): system32mmc.exe
- Componente(s): atl.dll
- Implementación: método ucmAtlHijack
- Funciona desde: Windows 7 RTM (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.6.4
- Autor: antonioCoco
- Tipo: Suplantación
- Método: Datagrama SSPI
- Objetivo(s): Atacante definido
- Componente(s): Atacante definido
- Implementación: método ucmSspiDatagram
- Funciona desde: Windows 7 RTM (7600)
- Compatible con AlwaysNotify
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.6.5
- Autor: James Forshaw y Stefan Kanthak
- Tipo: Hack de GUI
- Método: derivación de UIPI con modificación de token
- Destino(s): system32osk.exe, system32mmc.exe
- Componente(s): Atacante definido
- Implementación: ucmTokenModUIAccessMethod2
- Funciona desde: Windows 7 (7600)
- Fijado en: ¿sin arreglar?
- Estado del código: agregado en v3.6.6
Nota:
- Método (30) (63) y posteriores implementados solo en la versión x64;
- El método (30) requiere x64 porque abusa de la característica del subsistema WOW64;
- El método (55) no es realmente confiable (como cualquier truco de GUI) y se incluye solo por diversión;
- El método (78) requiere que la contraseña de la cuenta de usuario actual no esté en blanco.
Ejecutar ejemplos:
- akagi32.exe 23
- akagi64.exe 61
- akagi32 23 c:windowssystem32calc.exe
- akagi64 61 c:windowssystem32charmap.exe
Advertencia
- Esta herramienta muestra SÓLO el método popular de omisión de UAC utilizado por el malware y vuelve a implementar algunos de ellos de una manera diferente, mejorando los conceptos originales. Existen diferentes métodos, aún desconocidos por el público en general. Tenga en cuenta esto;
- Esta herramienta no está diseñada para pruebas AV y no se ha probado para funcionar en entornos AV agresivos. Si todavía planea usarla con el software AV bloatware instalado, úselo bajo su propio riesgo;
- Algunos AV pueden marcar esta herramienta como HackTool, MSE/WinDefender la marca constantemente como malware, no;
- Si ejecuta este programa en una computadora real, recuerde eliminar todos los restos del programa después de su uso; para obtener más información sobre los archivos que se colocan en las carpetas del sistema, consulte el código fuente;
- La mayoría de los métodos creados para x64, sin compatibilidad con x86-32. No veo ningún sentido en soportar versiones de 32 bits de Windows o wow64, sin embargo, con pequeños ajustes, la mayoría de ellas también funcionarán bajo wow64.
Si se pregunta por qué esto todavía existe y funciona, aquí está la explicación: una BANDERA BLANCA oficial de Microsoft (que incluye declaraciones totalmente incompetentes como bonificación) https://devblogs.microsoft.com/oldnewthing/20160816-00/?p=94105
Política de pruebas y soporte de Windows 10
- UACMe probó solo con variantes LSTB/LTSC (1607/1809) y las últimas versiones RTM-1; por ejemplo, si la versión actual es 2004, se probará en 2004 (19041) y la versión anterior 1909 (18363);
- Las compilaciones internas no son compatibles ya que los métodos pueden corregirse allí.
Protección
- Cuenta sin privilegios administrativos.
Uso de malware
- No asumimos ninguna responsabilidad por el uso de esta herramienta con fines maliciosos. Es gratuito, de código abierto y se proporciona TAL CUAL para todos.
Otro uso
- Actualmente utilizado como "firma" por el escáner "THOR APT" (software fraudulento de coincidencia de patrones hecho a mano de Alemania). No asumimos ninguna responsabilidad por el uso de esta herramienta en el software fraudulento;
- El repositorio https://github.com/hfiref0x/UACME y su contenido son la única fuente genuina del código UACMe. No tenemos nada que ver con enlaces externos a este proyecto, menciones en cualquier lugar así como modificaciones (bifurcaciones);
- En julio de 2016, la llamada "compañía de seguridad" Cymmetria publicó un informe sobre un paquete de malware script-kiddie llamado "Patchwork" y lo marcó falsamente como APT. Dijeron que estaba usando el "método UACME", que de hecho es solo un archivo dll de inyector ligeramente modificado de manera poco profesional de UACMe v1.9 y que estaba usando el método híbrido Carberp/Pitou en forma de malware autoimplementado. No asumimos ninguna responsabilidad por el uso de UACMe en campañas publicitarias dudosas de "empresas de seguridad" de terceros.
Construir
- UACMe viene con código fuente completo, escrito en C;
- Para compilar desde el código fuente, necesita Microsoft Visual Studio 2019 y versiones posteriores.
Binarios compilados
- No se proporcionan desde la versión 2.8.9 y nunca se proporcionarán en el futuro. Las razones (y por qué usted tampoco debería proporcionarlas al público en general):
- Si miras este proyecto en pocas palabras, es una HackTool, a pesar del objetivo inicial de ser un demostrador. Por supuesto, varios antivirus lo detectan como HackTool (MS WD, por ejemplo), sin embargo, la mayoría de los pacientes de VirusTotal lo detectan como "malware" genérico. Lo cual, por supuesto, es incorrecto; sin embargo, desafortunadamente, algunos escritores de malware perezosos copian y pegan código a ciegas en su software basura (o incluso simplemente usan esta herramienta directamente), por lo que algunos AV crearon firmas basadas en partes del código del proyecto;
- Al proporcionar archivos binarios compilados a todos, usted hace la vida de los script-kiddies mucho más fácil porque tener la necesidad de compilar desde el código fuente funciona como una barrera perfecta para los script-kiddies excepcionalmente tontos y los que "hacen clic en botones";
- Tener archivos binarios compilados en el repositorio conducirá en última instancia a marcar las páginas de este repositorio como maliciosas (debido a las razones anteriores) mediante varios filtros de contenido (SmartScreen, Google Safe Browsing, etc.).
- Esta decisión es definitiva y no se modificará.
Instrucciones
Seleccione Platform ToolSet primero para el proyecto de la solución que desea crear (Proyecto->Propiedades->General):
- v142 para Visual Studio 2019;
- v143 para Visual Studio 2022.
Para v140 y superiores, establezca la versión de la plataforma de destino (Proyecto->Propiedades->General):
- Si es v140, seleccione 8.1 (tenga en cuenta que se debe instalar el SDK de Windows 8.1);
- Si es v141 y superior, seleccione 10.
Se requiere el siguiente SDK para crear los archivos binarios:
- SDK de Windows 8.1 o Windows 10 (probado con la versión 19041)
- NET Framework SDK (probado con la versión 4.8)
Para construir un binario que funcione:
- Compilar unidades de carga útil
- Compilar el módulo Naka
- Cifre todas las unidades de carga útil utilizando el módulo Naka
- Genere blobs secretos para estas unidades usando el módulo Naka
- Mover unidades compiladas y blobs secretos al directorio AkagiBin
- Reconstruir Akagi
Referencias
- Lista blanca de UAC de Windows 7, http://www.pretentiousname.com/misc/win7_uac_whitelist2.html
- Calzas de compatibilidad de aplicaciones maliciosas, https://www.blackhat.com/docs/eu-15/materials/eu-15-Pierce-Defending-Against-Malicious-Application-Compatibility-Shims-wp.pdf
- Junfeng Zhang del blog del equipo de desarrollo de WinSxS, https://blogs.msdn.microsoft.com/junfeng/
- Más allá de la buena y vieja clave Run, serie de artículos, http://www.hexacorn.com/blog
- Hilo KernelMode.Info UACMe, https://www.kernelmode.info/forum/viewtopicf985.html?f=11&t=3643
- Inyección/elevación de comandos: variables de entorno revisadas, https://breakingmalware.com/vulnerabilities/command-injection-and-elevation-environment-variables-revisited
- Omisión de UAC "sin archivos" mediante eventvwr.exe y secuestro de registro, https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/
- Omitir UAC en Windows 10 usando el Liberador de espacio en disco, https://enigma0x3.net/2016/07/22/bypassing-uac-on-windows-10-using-disk-cleanup/
- Uso de la interfaz iarpuninstallstringlauncher com para omitir UAC, http://www.freebuf.com/articles/system/116611.html
- Omitiendo UAC usando rutas de aplicaciones, https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/
- "Fileless" UAC Bypass usando sdclt.exe, https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/
- UAC bypass o historia sobre tres escaladas, https://habrahabr.ru/company/pm/blog/328008/
- Explotación de variables de entorno en tareas programadas para UAC Bypass, https://tyranidslair.blogspot.ru/2017/05/exploiting-environment-variables-in.html
- Primera entrada: Bypass de UAC bienvenido y Fileless, https://winscripting.blog/2017/05/12/first-entry-welcome-and-uac-bypass/
- Leyendo a su camino alrededor de UAC en 3 partes:
- https://tyranidslair.blogspot.ru/2017/05/reading-your-way-around-uac-part-1.html
- https://tyranidslair.blogspot.ru/2017/05/reading-your-way-igound-uac-tart-2.html
- https://tyranidslair.blogspot.ru/2017/05/reading-your-way-around-uac-tart-3.html
- Investigación en cmstp.exe, https://msitpros.com/?p=3960
- UAC Bypass a través de aplicaciones elevadas de .NET, https://offsec.provadys.com/uac-bypass-dotnet.html
- UAC Bypass burlándose de directorios de confianza, https://medium.com/tenable-techblog/uac-bypass-by-mocking-trusted-directories-24a96675f6e
- Otro sdclt uac bypass, http://blog.sevagas.com/?yet-another-sdclt-uac-bypass
- UAC Bypass a través de SystemPropertiesAdvanced.exe y Dll Hijacking, https://egre55.github.io/system-properties-uac-bypass/
- Acceso a los tokens de acceso para Uiaccess, https://tyranidslair.blogspot.com/2019/02/accessing-access-tokens-for-uiaccess.html
- Fileless UAC Bypass en Windows Store Binary, https://www.activecyber.us/1/post/2019/03/windows-uac-bypass.html
- Llamar a los servidores RPC de Windows locales desde .net, https://googleprojectzero.blogspot.com/2019/12/calling-local-windows-rpc-servers-from.html
- Microsoft Windows 10 UAC Bypass Privilegio local Exploit de escalada, https://packetstormsecurity.com/files/155927/microsoft-windows-10-local-pivilege-escalation.html
- UaCme 3.5, WD y las formas de mitigación, https://swapcontext.blogspot.com/2020/10/uacme-35-wd-and-ways-of-mitigation.html
- UAC se pasa por alto de ComautoApprovallist, https://swapcontext.blogspot.com/2020/11/uac-bypasses-from-comutoapprovallist.html
- Utilización de identificadores programáticos (progids) para los omitidos de UAC, https://v3ded.github.io/redteam/utilizing-programmatic-identificadores-progids-for-uac-bypasses
- Msdt dll hijack uac bypass, https://blog.sevagas.com/?msdt-dll-hijack-uac-bypass
- UAC Bypass a través de la vulnerabilidad de la deserialización .NET en eventvwr.exe, https://twitter.com/orange_8361/status/1518970259868626944
- Playbook avanzado de programador de tareas de Windows - Part.2 de com a UAC Bypass and Get System directamente, http://www.zcgonvh.com/post/advanced_windows_task_scheduler_playbook-Part.2_from_com_to_uac_bypass_and_get_dirtectly.htmlll
- Omitiendo UAC con contexts de datagrama SSPI, https://splintercod3.blogspot.com/p/bypassing-uac-with-spi-datagram.html
- Mitigia algunos exploits para Windows'® UAC, https://skanthak.hier-im-netz.de/uacamole.html
Autores
(c) Proyecto 2024 UACME