Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DccwBypassUAC — Bypass de UAC en Windows 8.1 y 10 abusando de WinSxS en "dccw.exe". | Kitploit
Herramientas/GitHubGitHub/l3cr0f/dccwbypassuac
Escalada de PrivilegiosExplotaciónPost-ExplotaciónDesarrollo de Payloads
GitHubl3cr0f/dccwbypassuac

DccwBypassUAC

Bypass de UAC en Windows 8.1 y 10 abusando de WinSxS en "dccw.exe".

Ver Repositorio
398899hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

DccwBypassUAC

Este exploit abusa de la forma en que "WinSxS" es gestionado por "dccw.exe" mediante un método derivado del "Bypass UAC" de Leo Davidson para obtener un shell de administrador sin solicitar consentimiento. Es compatible con las arquitecturas "x86" y "x64". Además, ha sido probado con éxito en Windows 8.1 9600, Windows 10 14393, Windows 10 15031 y Windows 10 15062.

Si quieres ver cómo ejecutar el script, echa un vistazo a la sección de uso. También puedes ejecutarlo en Metasploit y obtener una sesión de Meterpreter con derechos de administrador.

1. Desarrollo de un nuevo Bypass UAC

1.1. Búsqueda de vulnerabilidades

Para desarrollar un nuevo bypass UAC, primero tenemos que encontrar una vulnerabilidad en el sistema y, para ser más precisos, una vulnerabilidad en un proceso de auto-elevación. Para obtener una lista de dichos procesos utilizamos la herramienta Strings de Sysinternals. Después, pudimos ver algunos procesos de auto-elevación como "sysprep.exe", "cliconfig.exe", "inetmgr.exe", "consent.exe" o "CompMgmtLauncher.exe" que tenían (algunos todavía tienen) vulnerabilidades que permiten la ejecución de un "bypass UAC". Así que comenzamos a estudiar cómo funcionaban otros procesos de auto-elevación con la aplicación de Sysinternals llamada Process Monitor (ProcMon), pero centrándonos en el proceso "dccw.exe".

Sin embargo, antes de comenzar con ProcMon, primero comprobamos el manifiesto de dichas aplicaciones con otra aplicación de Sysinternals llamada Sigcheck y, por supuesto, en nuestro caso "dccw.exe" es un proceso de auto-elevación.

Entonces, pudimos comenzar a seguir el flujo de ejecución de "dccw.exe" con ProcMon para ver si ocurría algo extraño, algo que comprobamos de inmediato. En cierto punto, si ejecutamos "dccw.exe" como un proceso de 64 bits en una máquina Windows de 64 bits, busca el directorio "C:\Windows\System32\dccw.exe.Local\" para cargar una DLL específica llamada "GdiPlus.dll", igual que si se ejecutara en una máquina Windows de 32 bits, mientras que si lo ejecutamos como un proceso de 32 bits en la misma máquina, el proceso buscará el directorio "C:\Windows\SysWOW64\dccw.exe.Local\". Entonces, debido a que este no existe, el proceso siempre busca una carpeta en la ruta "C:\Windows\WinSxS\" para obtener la DLL deseada; esta carpeta tiene un nombre con la siguiente estructura:

[architecture]_microsoft.windows.gdiplus_[sequencial_code]_[Windows_version]_none_[sequencial_number]

Si observamos el directorio "WinSxS", podemos ver más de una carpeta que coincide con esta estructura, lo que significa que "dccw.exe" puede cargar la DLL deseada desde cualquiera de estas carpetas. Lo único de lo que estamos seguros es de que si la aplicación se invoca como un proceso x86, el nombre de la carpeta comenzará con la cadena "x86", mientras que si la ejecutamos como un proceso x64, su nombre comenzará con la cadena "amd64".

Esta situación se puede abusar para realizar un secuestro de DLL y luego ejecutar código con integridad alta sin solicitar consentimiento.

1.2. Verificación de la vulnerabilidad

Una vez que hemos encontrado un error durante la ejecución de un proceso de auto-elevación, necesitamos verificar si se puede abusar de él o no. Para ello, simplemente creamos la carpeta "dccw.exe.Local" en la ruta deseada y, dentro de esa carpeta, creamos las carpetas ubicadas en "WinSxS" que podrían ser invocadas por el proceso para cargar "GdiPlus.dll", pero sin dicha DLL.

Ahora, si ejecutamos "dccw.exe" veremos que el proceso ha encontrado la carpeta "dccw.exe.Local" y una de las carpetas de "WinSxS", pero no la DLL deseada, algo que lanza un error. Esto es lo que esperábamos, ya que esa situación puede ser explotada por un atacante como mencionamos anteriormente.

1.3. Desarrollo del exploit

En este punto, ya sabemos que podemos realizar un bypass UAC en Windows 10 abusando de "dccw.exe", pero ¿cómo?

1.3.1. Método

El método más utilizado para eludir UAC es el desarrollado por Leo Davidson. Sin embargo, realiza una inyección de proceso para invocar el objeto COM IFileOperation, que puede ser detectado por algunos antivirus, por lo que un mejor enfoque es el llamado Masquerade PEB utilizado por Cn33liz en su propio bypass UAC.

Además, tenemos que modificar la forma en que se invoca IFileOperation en las versiones más recientes de Windows 10, ya que el método de Leo Davidson activa UAC desde la compilación 15002. Por lo tanto, la forma en que debemos invocar dicha operación es la misma que la original, pero sin los indicadores de operación "FOF_SILENT", "FOFX_SHOWELEVATIONPROMPT" y "FOF_NOERRORUI".

1.3.2. Comprobaciones iniciales

Antes de ejecutar el exploit, es importante comprobar algunos aspectos para no ejecutarlo sin éxito y, por tanto, activar algunas alarmas. Lo primero que comprobamos es la versión de compilación de Windows, ya que algunas versiones no son vulnerables a nuestro exploit (aquellas con una versión de compilación inferior a 7600). Después, verificamos que aún no tenemos derechos de administrador; si no es el caso, no hay razón para ejecutar el script. Luego, comprobamos la configuración de UAC para confirmar que no está establecida en "Notificar siempre", ya que si estuviera establecida en ese valor, nuestro exploit sería inútil. Finalmente, verificamos si el usuario pertenece al grupo de administradores, porque, si no, el exploit no tendría éxito.

Descargar herramienta