Cómo usar AccessChk para auditar permisos en Windows

  • AccessChk permite analizar permisos efectivos en archivos, registros y servicios.
  • Es clave en tareas de hardening, auditoría y pentesting.
  • No necesita instalación, funciona desde línea de comandos.
  • Sus opciones permiten detectar vulnerabilidades como DLL Hijacking o permisos débiles.

accesschk

Si trabajas con Windows y te interesa la seguridad, la administración de sistemas o el pentesting, conocer AccessChk es fundamental. Esta herramienta gratuita de Microsoft Sysinternals permite explorar en profundidad los permisos de acceso en archivos, servicios, claves del registro y otros recursos del sistema. Lo mejor es que todo funciona desde línea de comandos.

En este artículo reunimos toda la información relevante sobre su uso, sus opciones y su aplicación práctica. Todo explicado de forma clara y accesible.

¿Qué es AccessChk y por qué deberías conocerlo?

AccessChk es una utilidad desarrollada originalmente por Mark Russinovich y ahora mantenida por Microsoft dentro de la suite Sysinternals. Su función principal es mostrar qué permisos tiene un usuario o grupo sobre recursos del sistema operativo Windows. Puede utilizarse para analizar archivos, carpetas, claves del registro, servicios, procesos, recursos compartidos y objetos globales.

Es especialmente útil para detectar configuraciones incorrectas que puedan permitir accesos no deseados, como directorios donde cualquier usuario puede escribir, servicios que pueden modificarse sin privilegios elevados o claves del registro vulnerables. También es una herramienta clave en auditorías de seguridad y ejercicios de red teaming.

Ventajas de usar AccessChk en auditoría y protección de Windows

El control de acceso en Windows se basa en descriptores de seguridad, ACLs (Access Control Lists) y niveles de integridad. Un solo error en la configuración puede representar una brecha que comprometa todo el sistema. Aquí es donde AccessChk marca la diferencia:

  • Permite encontrar permisos excesivos en archivos, directorios y servicios.
  • Ayuda a identificar configuraciones peligrosas como DLL Hijacking o rutas sin entrecomillar.
  • Facilita la comprobación de accesos heredados o explícitos en el sistema de archivos y el registro.
  • Permite detectar objetos sin acceso o aquellos a los que se tiene acceso de lectura o escritura.

Cómo instalar y empezar a usar AccessChk

Una de las grandes ventajas de AccessChk es que no necesita instalación como tal. Se trata de un ejecutable portátil que puedes descargar desde la web oficial de Sysinternals (Microsoft) o ejecutar directamente desde Sysinternals Live.

  • Descarga el ejecutable desde Microsoft Learn o Sysinternals.
  • Copia el archivo accesschk.exe en una carpeta incluida en tu variable de entorno PATH (por ejemplo, C:\Windows).
  • Abre una consola de comandos y ejecuta accesschk para ver todas las opciones disponibles.

No requiere privilegios elevados para ejecutarse, aunque los resultados variarán dependiendo de los permisos del usuario actual.

Comandos y parámetros más útiles de AccessChk

AccessChk ofrece una amplia variedad de modificadores que permiten adaptar la salida a lo que realmente necesitas auditar. A continuación, se muestran las opciones más comunes y su utilidad:

Parámetro Función
-a Muestra derechos de cuentas de usuario.
-c Consulta permisos sobre servicios de Windows (por ejemplo, ssdpsrv).
-d Filtra solo directorios o claves superiores.
-e Muestra niveles de integridad establecidos explícitamente.
-f Lista tokens de procesos o filtra usuarios.
-h Audita recursos compartidos.
-k Trabaja con claves del Registro.
-l Devuelve el descriptor de seguridad completo.
-n Muestra objetos sin permiso de acceso.
-o Trabaja con objetos globales.
-p Permite especificar un proceso o PID.
-r Filtra por acceso de lectura.
-s Ejecuta la consulta de forma recursiva.
-t Filtra por tipo de objeto.
-u Omite errores en la salida.
-v Muestra información detallada.
-w Filtra por acceso de escritura.

Por defecto, las rutas se interpretan como del sistema de archivos, pero puedes especificar claves del registro, objetos globales o procesos con sus respectivos modificadores. Para ampliar la información sobre permisos en Windows 11, puedes consultar cómo gestionar permisos en Windows 11.

Ejemplos reales del uso de AccessChk

La mejor forma de entender la potencia de AccessChk es ver ejemplos concretos. Aquí tienes algunos casos prácticos que te ayudarán a sacarle todo el partido:

Permisos efectivos en una carpeta del sistema

accesschk "Power Users" c:\windows\system32

Este comando te muestra qué derechos tienen los miembros del grupo Power Users sobre los archivos y carpetas dentro de esa ruta.

Comprobar acceso de escritura a servicios del sistema

accesschk users -cw *

Ideal para detectar posibles vectores de escalada de privilegios, especialmente si algún grupo tiene permisos innecesarios sobre servicios críticos.

Analizar permisos en claves del registro

accesschk -kns austin\mruss hklm\software

Útil para bloquear accesos no deseados o auditar restricciones excesivas para cuentas.

Consultar niveles de integridad y objetos globales

accesschk -e -s c:\users\usuario
accesschk -wuo everyone \basednamedobjects

Los niveles de integridad, introducidos en Windows Vista, marcan aislamiento entre procesos. AccessChk lo visualiza fácilmente.

Buscar permisos débiles en carpetas y archivos

accesschk.exe -uwdqs Users c:\
accesschk.exe -uws q s Users c:\*.*

De gran ayuda en entornos corporativos grandes, permite encontrar configuraciones susceptibles de explotación.

Aplicaciones de AccessChk en escenarios de pentesting

AccessChk brilla en contextos ofensivos donde buscamos escalar privilegios o movernos lateralmente. Algunos de los usos más habituales incluyen:

  • Detección de servicios con rutas no entrecomilladas que permiten ejecutar DLLs maliciosos si el usuario puede escribir en los directorios afectados.
  • Comprobación de permisos sobre archivos ejecutables de servicios mal configurados.
  • Exploración de claves del registro importantes como Winlogon o configuraciones de autologin.
  • Integración con otras herramientas para automatizar la recolección de evidencias y vulnerabilidades.

Además, se emplea junto a herramientas como Procmon o msfvenom para capturar llamadas a DLLs faltantes y crear payloads efectivos desde servicios comprometidos.

AccessChk ofrece una visión valiosa de cómo se aplican realmente los permisos en un sistema Windows. Ya sea para asegurar sistemas en producción o explorar vectores de ataque durante un pentest, su uso resulta casi imprescindible. Si aún no lo has probado, hazlo. Seguro que puede convertirse rápidamente en una de tus herramientas favoritas.