Windows incluye en el paquete cuentas integradas que reciben privilegios predefinidos. Estas cuentas predeterminadas incluyen la cuenta local de Administrador, que es la cuenta de usuario de Windows con más poder. (En realidad, la cuenta SYSTEM es desde el punto de vista técnico la más privilegiada, pero Administrador puede ejecutar comandos como SYSTEM muy fácil- mente usando el servicio de calendario para lanzar una shell de comandos, por ejemplo). En la tabla 2-1 se presenta una lista de las cuentas integradas predeterminadas en varias versiones de Windows.
Tome en cuenta unas cuantas advertencias relacionadas con la tabla 2-1:
• En controladores de dominio, algunos directivos de seguridad no son visibles en la interfaz predeterminada Usuarios y equipos de Active Directory, a menos que elija Ver Características avanzadas.
• Versiones de Windows, entre las que se incluyen XP y posteriores, “ocultan” la cuenta local de Administrador como opción predeterminada, pero aún está allí.
• Algunas de las cuentas de la tabla 2-1 no se crean a menos que se hayan configurado papeles específicos de servidor; por ejemplo, Application Server (IIS).
• El grupo Invitados, las cuentas de usuario Invitado y Support_388945a0 son SID asignados de manera única que corresponden al dominio en que residen.
Nota
Nombre de la cuenta Comentario
SYSTEM or LocalSystem
Todopoderosa en el equipo local, por lo general no es visible en las herramientas de interfaz de usuario común; SID S-1-5-18 Administrador En esencia, todopoderosa en el equipo local; puede cambiársele
el nombre y no puede eliminarse
Guest Privilegios limitados; deshabilitada como opción predeterminada
SUPPORT_388945a0 Nueva en Windows XP y Server 2003, puede usarse para proporcionar soporte remoto mediante el Centro de ayuda y soporte técnico
IUSR_machinename (abbreviated IUSR)
Si está instalado IIS, se usa para acceso anónimo a IIS; miembro del grupo Invitados
IWAM_machinename (abbreviated IWAM)
Si IIS está instalado, las aplicaciones de IIS se ejecutan como esta cuenta; miembro del grupo IIS_WPG
krbtgt Cuenta del servicio del centro de distribución de claves de Kerberos; sólo se encuentra en controladores de dominio y está deshabilitada, como opción predeterminada
TSInternetUser Cuando está habilitada la Terminal Services Internet Connector Licensing, la cuenta se usa para personificar automáticamente a usuarios remotos (sólo Windows 2000)
Tabla 2-1
Las cuentas integradas de WindowsCuentas de servicio
Cuenta de servicio es un término no oficial usado para describir una cuenta de usuario de Win-
dows que lanza y ejecuta un servicio de manera no interactiva (un término computacional más tradicional es cuentas de procesamiento por lotes). Por lo general, las personas no usan las cuentas de servicio para inicio de sesión interactivo, sino para iniciar y ejecutar rutinas automatiza- das que proporcionan cierta funcionalidad continua al sistema operativo. Por ejemplo, el servi- cio de indexación, que indexa el contenido y las propiedades de archivos en equipos locales y remotos, y se localiza en %systemroot%\System32\cisvc.exe, puede configurarse para iniciar en el tiempo de arranque usando la applet Servicios del Panel de control. Para que se ejecute es- te ejecutable, debe autentificarse en el sistema operativo. Por ejemplo, el servicio de Indexación se autentifica y ejecuta como la cuenta LocalSystem en Windows Server 2003 en su configura- ción predeterminada.
El surgimiento de los SID específicos del servicio en Vista permite que el Administrador de control de servicios (SCM, Service Control Manager) asigne SID a procesos de servicios cuando empiezan, lo que mejora la especificidad del control de acceso sobre el modelo simple basado en cuentas (aunque aún se usen éstas).
24
Hackers en WindowsLas cuentas de servicio son un mal necesario en Windows. Debido a que todo el código debe ejecutarse en el contexto de una cuenta, no pueden evitarse. Por desgracia, debido a que están diseñadas para autentificar de manera automatizada, las contraseñas para estas cuentas deben proporcionarse al sistema sin interacción humana. En realidad, Microsoft diseñó la familia Win- dows NT para incluir en caché las contraseñas de cuentas de servicio en el sistema local. Esto se hizo por la simple conveniencia de que muchos servicios necesitan empezar antes de que la red esté disponible (en tiempo de arranque) y, por tanto, no pueden autentificarse para controlado- res de dominio. Al incluir en caché las contraseñas localmente, se evita esta situación. He aquí el resumen:
Las contraseñas de cuentas de servicio que no son SYSTEM se almacenan en texto simple en una parte del Registro llamada Secretos LSA, que sólo es accesible para LocalSystem.
Resaltamos esta frase porque lleva a una de las principales fallas de seguridad del sistema operativo Windows: si un hacker malicioso puede comprometer un sistema de la familia Win- dows NT con privilegios equivalentes a Administrador, puede extraer las contraseñas en texto simple para las cuentas de servicio de ese equipo.
Tal vez esté diciendo “Bravo”, si ya es el equivalente a un Administrador del equipo; “¿Qué uso adicional tienen las cuentas de servicio?”. Aquí es donde las cosas se ponen difíciles: las cuentas de servicio pueden ser cuentas de dominio o incluso cuentas de otros dominios confia- bles. (Consulte la sección “Confianzas”, en páginas posteriores de este capítulo). Por tanto, con esta falla pueden exponerse las credenciales de otros dominios de seguridad. Leerá más acerca de la manera en que se hace esto en el capítulo 7.
Recomendamos encarecidamente que se nieguen a todas las cuentas de servicio los derechos de inicio de sesión interactivo empleando directivas de máquina o de dominio para evitar que un intruso humano use esas credenciales de manera interactiva.
Endurecimiento del servicio Los servicios representan un gran porcentaje de la superficie de ata- que general en Windows debido a que suelen estar siempre habilitados y se ejecutan con los pri- vilegios más elevados. En gran medida debido a esto, Microsoft empezó a dar pasos para redu- cir el riesgo de la ejecución de servicios en versiones más recientes del sistema operativo.
Uno de los primeros pasos fue ejecutar servicios con los menores privilegios, un principio de control de acceso muy aceptado. A partir de Windows Server 2003, Microsoft creó dos nuevos grupos integrados denominados Servicio Local y Servicio de Red y empezó a ejecutar más ser- vicio empleando estas cuentas de privilegios menores en lugar de la cuenta todopoderosa Local- System. (Hablaremos más acerca de los servicios locales y de red en todo este capítulo).
En Vista, Microsoft implementó el endurecimiento de servicio de Windows, que definió SID por servicio. Esto hizo que efectivamente ciertos servicios se comportaran como usuarios únicos (una vez más, en oposición a la identidad genérica y con altos privilegios LocalSystem). Ahora la configuración predeterminada de control de acceso de Windows podía aplicarse a los recursos para que fueran privados para el servicio, evitando que otros servicios y usuarios accedieran al recurso.
Entre las características adicionales incluidas en el endurecimiento de servicio de Vista se incluye la eliminación de privilegios innecesarios de Windows (como el poderoso privilegio de depuración), la aplicación de una ficha de acceso de escritura restringida al proceso del servicio para evitar la escritura en recursos que no otorgan de manera explícita el acceso al SID del ser- vicio, además de la vinculación de la directiva de firewall de Windows al SID previo al servicio para evitar acceso de red no autorizado por parte del servicio. Con el fin de conocer más acerca del endurecimiento del servicio, consulte la sección “Referencias y lecturas adicionales”.
Lo importante
He aquí un resumen de las cuentas de Windows desde la perspectiva de un hacker malicioso:
Los administradores y la cuenta SYSTEM son los destinos más jugosos en un sistema Windows porque son las cuentas más poderosas. Todas las demás cuentas tienen privilegios limitados en relación con los Administradores y SYSTEM (y una posible excepción son las cuentas de servicio). Comprometer a los Administradores o la cuenta SYSTEM es, por tanto, casi siempre el objetivo final de un atacante.
Grupos
Los grupos son sobre todo una conveniencia administrativa: son contenedores lógicos para agre- gar cuentas de usuario. (También pueden usarse para configurar listas de distribución de correo electrónico en Windows 2000 y posteriores, que históricamente no han tenido implicaciones de seguridad).
Los grupos también se usan para asignar privilegios en masa, lo que puede tener un elevado impacto en la seguridad de un sistema. Las distintas versiones de Windows incluyen grupos in- tegrados, contenedores predefinidos para usuario que también poseen distintos niveles de pri- vilegio. Cualquier cuenta colocada dentro de un grupo hereda esos privilegios. El ejemplo más simple es la adición de cuentas al grupo local Administradores, lo que asciende, en esencia, al usuario agregado a un estatus todopoderoso en la máquina local. (Verá que se intenta esto mu- chas veces en todo el libro). En la tabla 2-2 se presenta una lista de grupos integrados en Win- dows Server 2003. Otras versiones de Windows pueden tener menos grupos integrados, o diferentes, pero los que aparecen en la tabla 2-2 son los más comunes.
Es posible usar una unidad organizativa (OU, Organizational Unit), además de los grupos, para agregar cuentas de usuario, las OU son construcciones definidas arbitrariamente por Active Directory y no poseen privilegios inherentes como las cuentas integradas de grupos de seguridad.
Cuando un sistema de Windows Server es ascendido a controlador de dominio, también se ins- tala una serie de grupos predefinidos. Entre los grupos predefinidos más poderosos se incluyen los Administradores de dominio, que son todopoderosos en un dominio, y los Administradores de organización, que son todopoderosos en un bosque. En la tabla 2-3 se presenta una lista de los grupos predefinidos de Windows Server 2003.