- AccessChk permite auditar de forma precisa los permisos de usuarios y grupos sobre archivos, carpetas, servicios y claves del registro en Windows.
- La herramienta es esencial tanto en administración diaria como en análisis de seguridad y escalado de privilegios, identificando configuraciones peligrosas y rutas vulnerables.
- Permite filtrar accesos por tipo (lectura, escritura, total) y detectar vectores explotables como rutas sin comillas, DLL hijacking o servicios modificables.
- Integrando AccessChk en procesos de hardening o scripts de postexplotación se obtiene un nivel avanzado de control y visibilidad sobre el sistema.
Descubrir y controlar los permisos en los sistemas Windows resulta esencial, tanto para administradores que buscan fortalecer la seguridad como para profesionales de ciberseguridad a la caza de configuraciones débiles o posibles vías de escalado de privilegios. AccessChk, una herramienta de la suite Sysinternals de Microsoft, es una de las utilidades más potentes, flexibles y subestimadas para auditar accesos en tiempo real, filtrar potenciales riesgos y entender cómo están configurados los accesos en un equipo Windows, todo ello desde una sencilla interfaz de línea de comandos.
En este artículo te introducimos de forma exhaustiva en el uso de AccessChk, cubriendo desde qué es y por qué es relevante, hasta cómo se instala, las principales opciones del comando y ejemplos prácticos integrando los detalles que realmente marcan la diferencia en producción y en escenarios de pentesting. Si te preguntas cómo sacarle el máximo partido a AccessChk para auditar tu sistema Windows o evaluar la seguridad de un entorno, aquí vas a encontrar el compendio más completo en español.
¿Qué es AccessChk y para qué sirve?
AccessChk es una utilidad desarrollada por Mark Russinovich y mantenida por Microsoft dentro de la reconocida colección Sysinternals. Su función principal es mostrar los permisos efectivos de un usuario o grupo sobre recursos específicos del sistema operativo Windows, como archivos, carpetas, claves de registro, servicios, procesos y objetos globales. Esta capacidad resulta fundamental tanto para administradores que desean asegurar sus sistemas como para auditores y pentesters interesados en localizar fisuras o configuraciones erróneas que puedan resultar en brechas de seguridad.
El funcionamiento es directo: AccessChk analiza y presenta los permisos de acceso que una cuenta tiene sobre un objeto concreto, permitiendo filtrar por niveles de acceso (lectura, escritura, total, etc.), identificar objetos sin protección, destacar configuraciones heredadas o explícitas, e incluso explorar servicios y claves del registro de manera detallada. No se limita solo a mostrar un listado; permite filtrar, parametrizar las consultas y detectar rápidamente debilidades que de otra manera requerirían decenas de clics en el entorno gráfico de Windows.
¿Por qué AccessChk es clave en la gestión y auditoría de Windows?
Los sistemas Windows, por su diseño, delegan el control de acceso en complejos descriptores de seguridad y listas de control de acceso (ACLs). Un error puntual en permisos puede desembocar en graves brechas, permitiendo desde la escritura de DLLs maliciosas en rutas críticas hasta el control total de servicios. Por ello, herramientas como AccessChk permiten:
- Detectar permisos excesivos o indebidos en carpetas, ejecutables y claves del registro.
- Auditar quién puede iniciar, detener o modificar servicios, un vector crítico en la escalada de privilegios.
- Localizar rutas vulnerables a secuestro de DLL (DLL Hijacking) y binarios en rutas sin comillas (Unquoted Service Paths).
- Comprobar accesos de usuarios o grupos que pueden facilitar el movimiento lateral o la persistencia.
- Optimizar el hardening de los sistemas revisando el acceso efectivo frente a la configuración deseada.
Instalación y primeros pasos con AccessChk
AccessChk no se instala como un programa tradicional. Al ser un ejecutable portátil, basta con descargar el archivo desde la web oficial de Sysinternals (Microsoft) y copiarlo a una ruta incluida en el PATH o al directorio donde vayas a trabajar. Es compatible con todas las versiones modernas de Windows y no requiere privilegios especiales para ejecutarse, aunque la información disponible variará según los derechos del usuario que lo lance.
- Descarga: Desde el repositorio oficial de Microsoft Learn/Sysinternals.
Descargar AccessChk - Uso básico: Abre una ventana de comandos y ejecuta accesschk para consultar la ayuda y sintaxis.
- Recomendación: Copia accesschk.exe en
C:\Windows
o en una carpeta de herramientas accesible mediante el PATH para facilitar su invocación.
Opciones y sintaxis avanzada de AccessChk
AccessChk cuenta con un repertorio de opciones y parámetros que permiten personalizar al máximo las búsquedas y los informes. A continuación, se detallan los modificadores y sus funciones más destacadas:
Parámetro | Descripción |
---|---|
-a | Indica que el nombre corresponde a un derecho de cuenta de Windows. «*» muestra todos los derechos de un usuario. |
-c | El nombre es un servicio de Windows. «*» para mostrar todos, «scmanager» para el administrador de servicios. |
-d | Limita la consulta a directorios de procesos o claves de nivel superior. |
-e | Sólo muestra niveles de integridad definidos explícitamente (Windows Vista+). |
-f | Si va tras -p, detalla el token del proceso (grupos y privilegios); si no, filtra cuentas concretas de la salida. |
-h | El nombre es un recurso compartido. «*» para listar todos. |
-i | Omitir ACEs heredados al volcar listas de control. |
-k | El nombre es una clave del registro (ej: hklm\software). |
-l | Muestra el descriptor de seguridad completo. Usar con -i para omitir herencias. |
-n | Sólo objetos sin acceso para la cuenta especificada. |
-o | El nombre es un objeto del espacio de nombres del objeto manager. Añadir -s para recursividad o -t para filtrar por tipo. |
-p | El nombre es un proceso o PID. «*» para todos. Añadir -f o -t para más detalles. |
-nobanner | No muestra el encabezado de inicio ni copyright. |
-r | Filtra por objetos con acceso de lectura. |
-s | Recorre directorios de forma recursiva. |
-t | Filtra por tipo de objeto. |
-u | Suprime errores. |
-v | Salida detallada, incluyendo nivel de integridad. |
-w | Filtra por objetos con acceso de escritura. |
Un aspecto clave es que AccessChk interpreta por defecto la ruta proporcionada como una ruta de sistema de archivos, aunque puedes auditar recursos compartidos, objetos globales, procesos y claves de registro utilizando los modificadores adecuados.
Ejemplos prácticos: cómo usar AccessChk en la vida real
AccessChk brilla especialmente cuando se utiliza para auditar situaciones concretas. Aquí tienes casos detallados para sacarle el máximo partido:
Auditar permisos en archivos y carpetas
Supongamos que se quiere comprobar los derechos efectivos de un usuario en una carpeta crítica, como C:\Windows\System32
:
accesschk "Power Users" c:\windows\system32
Este comando muestra los permisos efectivos que tienen los miembros del grupo «Power Users» sobre los archivos y directorios de la ruta indicada. Perfecto para identificar posibles brechas si ciertas cuentas tienen permisos de escritura o control total donde no deberían.
Ver permisos sobre servicios de Windows
Una táctica habitual en la escalada de privilegios es explotar servicios mal configurados o con permisos débiles. Con AccessChk puedes listar todos los servicios a los que un grupo tiene acceso de escritura con el comando :
accesschk users -cw *
Este comando filtra todos los servicios y detalla para el grupo «users» aquellos en los que existe acceso de escritura. Muy útil para identificar vectores de ataque o para fortalecer configuraciones críticas.
Examinar permisos en el registro
El registro de Windows es fuente frecuente de problemas de seguridad. Para comprobar las claves de HKLM\Software a las que un usuario concreto no tiene acceso:
accesschk -kns austin\mruss hklm\software
Se listan las claves bloqueadas para la cuenta, lo que permite analizar tanto configuraciones demasiado restrictivas como excesivamente permisivas.
Nivel de integridad y objetos globales
En sistemas Windows Vista y posteriores, los niveles de integridad ayudan a aislar procesos. Para ver todos los ficheros en un directorio con nivel de integridad explícito:
accesschk -e -s c:\users\usuario
Además, puedes auditar todos los objetos globales que todos los usuarios pueden modificar con:
accesschk -wuo everyone \basednamedobjects
Detección de archivos y carpetas con permisos débiles
Una de las utilidades más potentes de AccessChk es localizar en masa directorios o archivos accesibles de forma insegura para «Users» o «Authenticated Users»:
accesschk.exe -uwdqs Users c:\
accesschk.exe -uwqs Users c:\*.*
Gracias a estos comandos puedes detectar rápidamente rutas críticas susceptibles de ser explotadas durante un pentest o durante un proceso de endurecimiento del sistema.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.