Post on 01-Sep-2020
transcript
Seguridad en redes corporativas Windows
Instituto Nacional de Administración PúblicaPlan TIC 2016
Tema 3Administración de cuentas de
usuario, permisos y contraseñasEnrique Soriano esoriano@lsub.org
Términos
• Identificación: proporcionar al sistema la identidad del usuario.
• Autenticación: proporcionar al sistema una prueba de que la identidad del usuario es correcta.
• Control de acceso: permitir o denegar una acción sobre un recurso en base a la autorización del sujeto.
Autenticación
• ¿Cómo? Hay distintas formas:
• Algo que conoces. ← contraseñas
• Algo que tienes.
• Algo que eres.
• Algo que haces.
• Donde estás.
Contraseñas• Es la forma más común de autenticación: el usuario
proporciona un secreto, normalmente por escrito, que sólo él conoce.
• Riesgos:
• Que lean nuestra contraseña.
• Que la adivinen.
• Spoofing (suplantación del autenticador).
• Que se hagan con el almacén de contraseñas del servidor.
Contraseñas
• Riesgo: que lean nuestra contraseña.
• Nunca se deben compartir.
• Nunca se deben apuntar o guardar en claro.
¿Cómo me protejo?
• Recordando las contraseñas.
• Usando una herramienta para almacenar contraseñas, e.g. Password Safe¹.
¹http://www.schneier.com/passsafe.html
Password Safe
Doble-click copia la contraseña al clipboard.
Password Safe
Muy útil
Administrador de credenciales
Panel de control→Cuentas de usuario y protección → Administrador de credenciales
• Permite almacenar credenciales, como nombres de usuarios y contraseñas que usa para iniciar sesión en sitios web o en otros equipos de una red.
• Permite iniciar sesión automáticamente en sitios web o en otros equipos.
Administrador de credenciales
Panel de control → Cuentas de usuario y protección → Administrador de credenciales
Contraseñas
• Riesgo: que las adivinen.
• Ataque de fuerza bruta.
• Búsqueda inteligente.
• Ataque de diccionario online.
¿Cómo me protejo? (En general)
• Lo más importante es crear contraseñas de calidad:
• Tienen que ser largas, más de 8 caracteres.
• No usar palabras que estén en el diccionario, ni teléfonos, fechas, etc.
• Usar mayúsculas, minúsculas, símbolos de puntuación y números.
Ataque inteligente
Distribución de caracteres en contraseñasImagen (CC) A-NC-ND Mark Burnett
Key Space
• Si tenemos contraseñas de hasta C caracteres y cada caracter puede tomar V valores, el número total de contraseñas es:
Total = ∑ vi i=0
c
Ejemplos: Contraseñas de sólo minúsculas y de 0 a 8 caracteres:
Con mayúsculas, minúsculas, números y símbolos de puntuación, de 0 a 14 caracteres:
¿Cómo me protejo? (En general)
• No usar la misma contraseña para distintos servicios o servidores:
• Se puede tener un método propio para generar las contraseñas para distintos servicios.
• Por ejemplo, poner al principio el número de caracteres del servicio o servidor:
• Amazon: 6msxafprew
• Msn: 3msxafprew
• Apple: 5msxafprew
Crear contraseñas seguras
• Para recordarlas:
• Nnemotécnicos:
• TabletMipefaesstwa3 de “Mi película favorita es star wars 3”
• Rimas:
• SEGURIDAD-0-calamidad@casa
• Repetición:
• hey.h0.HEY.H0.6
¿Cómo me protejo? (En general)
• Lista negra de contraseñas comunes:
¿Cómo me protejo? (En general)
• No permitir contraseñas vacías en el sistema.
• Cambiar todas las contraseñas que vienen puestas por omisión (p. ej. routers ADSL).
• Cambiar las contraseñas cada cierto tiempo (fecha de caducidad), aproximadamente cada 3 años.
¿Cómo me protejo? (En general)
• No reusar las contraseñas en el propio sistema (no volver a poner contraseñas antiguas).
• Limitar número de intentos de autenticación.
• Aumentar el tiempo de respuesta tras intentos fallidos.
¿Cómo me protejo? (En general)
• Si son aleatorias, que no sean predecibles. No es tan fácil generar datos aleatorios (prng).
• Cuidado con las contraseñas aleatorias: son difíciles de adivinar y romper, pero los usuarios las acaban apuntando (y no precisamente en Password Safe).
¿Cómo me protejo? secpol.msc→ Directivas de cuenta → Directiva de bloqueo de cuenta
Bloquea la cuentadespués de n intentos
¿Cómo me protejo? secpol.msc→ Directivas de cuenta → Directiva de contraseñas
secpol.msc→ Directivas de cuenta → Directiva de contraseñas
• La contraseña debe cumplir los requisitos de complejidad:
• No deben contener partes significativas del nombre de cuenta del usuario o nombre completo.
• Tener 6 caracteres de longitud, como mínimo. • Estar compuesta por caracteres de tres de las siguientes
categorías: • Letras mayúsculas, de la A a la Z • Letras minúsculas, de la a a la z • Dígitos, de 0 a 9 • Caracteres no alfabéticos (por ejemplo, !, $, #, %)
¿Cómo me protejo?
secpol.msc→ Directivas de cuenta → Directiva de contraseñas
• Longitud mínima de la contraseña:• 0 indica que no es necesario tener contraseña. ⚠
• Por omisión es 0, 7 para servidores de dominio. ⚠
• La longitud máxima es 14.
¿Cómo me protejo?
• Vigencia máxima de la contraseña:• Indica el periodo en días en el que se pedirá al usuario
que cambie su contraseña. • Por omisión es 42. • 0 indica que no se pida cambio de contraseña. ⚠
¿Cómo me protejo? secpol.msc→ Directivas de cuenta → Directiva de contraseñas
• Almacenar contraseñas usando cifrado reversible:
• Permite descifrar la contraseña de los usuarios. ⚠
• Por omisión está desactivada.
¿Cómo me protejo? secpol.msc→ Directivas de cuenta → Directiva de contraseñas
• Forzar el historial de contraseñas:• El sistema guarda las contraseñas antiguas y no deja al
usuario reusarlas. • Permite establecer un número de cambios hasta permitir
reusar una contraseña. • Por omisión es 24 en controladores de dominio, 0 en
servidores independientes. ⚠
¿Cómo me protejo? secpol.msc→ Directivas de cuenta → Directiva de contraseñas
Contraseñas
• Riesgo: que nos engañen.
• Ingeniería social: "Los usuarios son el eslabón débil"
• Según Kevin Mitnick:
• Todos queremos ayudar.
• El primer movimiento es siempre de confianza hacia el otro.
• No nos gusta decir No.
• A todos nos gusta que nos alaben.
Contraseñas
• Riesgo: que nos engañen.
• Keyloggers.
• Programa que se queda con todo lo que tecleamos.
• Spoofing:
• Reemplazar la entidad contra la que nos autenticamos.
• No nos damos cuenta: parece un error.
¿Cómo me protejo?
• Protección contra Spoofing: Trusted Path.
• Secure Attention Sequence (SAS): combinación de teclas que atiende directamente el núcleo (kernel) del sistema operativo, P. ej. Ctrl+Alt+Sup.
• El sistema operativo suspende la ejecución de todos los procesos menos el que lee la contraseña: winlogon.exe.
secpol.msc → Directivas locales→ Opciones de seguridad → Inicio de sesión interactivo: no requerir Ctrl+Alt+Supr
Contraseñas
• Riesgo: que se hagan con el almacén de contraseñas.
• Esto permite un ataque offline mucho más eficiente.
• El sistema no guarda las contraseñas en claro.
Contraseñas
• Windows almacena las contraseñas en SAM:
\windows\system32\config\sam
• El fichero está bloqueado en todo momento.
• Puede contener dos tipos de contraseñas cifradas:
• LM (Lan Manager).
• ¡Inseguro! ⚠
• Windows 7 no la usa por omisión, pero se puede activar. ⚠
• NTLM (NT Lan Manager).
• Más seguro, pero... no como debería.
Contraseñas• Contraseñas LM (Lan Manager):
• Convierte todos los caracteres de la contraseña a mayúsculas.
• Rellena con ceros la contraseña hasta llegar a los 14 caracteres.
• Parte la contraseña en dos bloques de 7 bytes.
• Usa los dos bloques como claves para cifrar con DES para un bloque de datos conocido:
0x4b47532140232425
• Concatena el resultado de los dos cifrados DES.
Contraseñas
secpol.msc → Directivas locales→ Opciones de seguridad → Seguridad de red: no almacenar valor de la hash de LAN Manager
• Asegurarse de que LM está desactivado:
Contraseñas
• Contraseñas NTLM (NT Lan Manager):
• Usa una hash MD4 de 128 bits, que era segura en 1991. Hoy en día:
• Ataque de colisión en microsegundos.
• Ataque de pre-imagen teórico.
• Diferencia entre mayúsculas y minúsculas.
• No usa salt.
Syskey
• Añade una capa extra de seguridad cifrando el almacén de claves de SAM.
• Una vez activado, no se puede desactivar. Viene activado por omisión.
• Opción I (activada por omisión):
• Usa una clave generada para cada sistema y que está oculta repartidas en varias claves del Registro.
• Viola el principio de Kerckhoffs: no sirve de nada.
• bkhive la encuentra, samdump2 descifra el archivo de SAM.
• Opción II:
• Generar la clave a partir de una contraseña adicional que se introduce en el arranque.
• Opción III:
• Almacenar la clave en un floppy. Truco: se puede hacer en un disco USB si forzamos a que se monte como la unidad A:
syskey.exe → Actualizar
Ataques offline• Para conseguir el fichero de contraseñas:
• pwdump7¹ saca el almacén del proceso lsass, saltándose Syskey.
• Herramientas para romperlas: fuerza bruta, tablas con hashes precalculadas y Rainbow-tables:
• Ophcrack² (hay versión Live CD)
• John the ripper
• Hashcat
• …
¹ http://www.tarasco.org/security/pwdump_7/² http://ophcrack.sourceforge.net/
pwdump7
• Ejecutar como administrador cmd.exe
• Ejecutar en la consola pwdump7
Ophcrack Live CD(trae de serie bkhive2 para saltarse Syskey si está guardada en el Registro)
Contraseña rota
Contraseñas
• Cuidado con algunos ficheros de configuración, ¡pueden contener contraseñas en claro dentro!:
• C:\sysprep.inf
• C:\sysprep\sysprep.xml
• unattend.xml (answer files)
• wdscapture.inf
• Groups.xml (sysvol)
• …
Usuarios
• Al autenticarnos, arrancamos una sesión a nuestro nombre.
• Los programas ejecutados tendrán los privilegios asociados a nuestro usuario o cuenta.
• Grupo de usuarios: conjunto de usuarios que comparten privilegios.
• Un usuario puede pertenecer a más de un grupo.
• Es mucho más sencillo y eficiente gestionar grupos que usuarios por separado.
Usuarios• Hay cuentas predefinidas (built-in), entre ellas:
• NT AUTHORITY\SYSTEM: también conocida como LocalSystem, es una pseudo-cuenta no configurable con los máximos privilegios. No se puede usar para entrar al sistema. Es trivial pasar a system si eres administrador. P.ej.:¹
• NT AUTHORITY\LOCAL SERVICE: cuenta que usan los servicios locales, tiene pocos privilegios (como un usuario normal del grupo Usuarios). No tiene contraseña.
• NT AUTHORITY\NETWORK SERVICE: cuenta que usan los servicios de red para representar a la máquina en la red, tiene muy pocos privilegios. No tiene contraseña.
• Administrador: cuenta con los máximos privilegios, usada en la instalación, arranque a prueba de fallos, etc. No confundir con las cuentas de tipo administrador. Está deshabilitada por omisión, pero se puede habilitar
• Invitado: desactivado por omisión, no tiene privilegios pero deja acceder a la máquina. No tiene contraseña.
psexec -s -i -d cmd.exe
¹ https://technet.microsoft.com/en-us/sysinternals/psexec.aspx
UsuariosPanel de control → Cuentas de usuario → Administrar cuentas
UsuariosPanel de control → Cuentas de usuario → Administrar cuentas → Crear cuenta
Grupos
• Grupos predefinidos:
• Administradores: pueden adoptar los permisos de administrador. Las cuentas de tipo administrador están en este grupo.
• Operadores de copia: pueden acceder a todo el disco, pero solo a través del software de copias de seguridad.
• Operadores de configuración de red: pueden modificar la configuración de red del equipo.
• Usuarios: permisos comunes para cualquier usuario del sistema.
• Usuarios avanzados: administradores de más bajo nivel.
• Invitados: muy limitado, para usuarios invitados.
Grupos• Grupos a los que se pertenece de forma automática por el
contexto:
• Creator owner: lo adopta el dueño/creador del objeto.
• Todos: todos los usuarios del sistema, sin incluir los anónimos.
• Usuarios autenticados: todos los usuarios que se han autenticado ante el sistema.
• Usuarios interactivos: todos los usuarios con una sesión interactiva.
• Network: todos los usuarios conectados por la red.
• Anonymous: los usuarios no identificados.
• Usuarios de escritorio remoto: los usuarios conectados por Terminal Server.
Grupos
• Para saber a qué grupos pertenecemos:
comando: whoami /groups
Usuarios y gruposmmc.exe→ Archivo → Agregar complemento → Usuarios y grupos
Usuarios y gruposmmc.exe→ Usuarios y grupos locales
doble-click
aquí se puede habilitarla cuenta Administrador.
Usuarios y grupos
• Propiedades de usuario
• General:
• El usuario debe cambiar la contraseña en el siguiente inicio de sesión.
• El usuario no puede cambiar la contraseña.
• La contraseña nunca expira.
• Cuenta inhabilitada: se ha desactivado de forma manual.
• Cuenta bloqueada: se ha bloqueado la cuenta debido a las políticas de seguridad (p. ej. repetidos intentos fallidos de autenticación).
mmc.exe→ Usuarios y grupos locales
Usuarios y gruposmmc.exe→ Usuarios y grupos locales
Agregar un usuario a un grupo:
Usuarios y grupos• SID (Security ID): identificador para un usuario, emitido
por una autoridad (p. ej. controlador de dominio). Se usan en:
• Descriptores de seguridad de los objetos asegurados.
• Tokens de acceso.
• Listas de control de acceso (ACL).
• Los usuarios y grupos predefinidos tienen SIDs bien conocidos.
• Para saber nuestro SID:
comando: whoami /all
Usuarios y grupos
Usuarios y grupos• Token de acceso: objeto que describe el contexto de seguridad de un
proceso o hilo.
• Todo proceso o hilo asociado a una cuenta tiene una copia del token, que incluye entre otras cosas:
• SID de la cuenta.
• SID de los grupos.
• SID de logon, único para la sesión.
• Lista de privilegios de usuario y grupos.
• Permisos por omisión para los objetos creados por la cuenta.
• …
Control de acceso• El control de acceso a los recursos de NTFS se regula
mediante listas de control de acceso (ACL).
• Los permisos se definen en el descriptor de seguridad de un objeto.
• Los permisos pueden ser explícitos (puestos por el sistema o el usuario) o heredados del objeto principal.
• De forma predeterminada, los objetos heredan los permisos de su contenedor cuando se crean.
• Es más sencillo gestionar directamente los contenedores (i.e. las carpetas) para controlar el acceso.
Control de acceso
• Hay ACLs de dos tipos:
• DACL (Discretionary ACL): lista de ACEs que permiten o deniegan un tipo de acceso para una cuenta o grupo.
• SACL (System ACL): usada para auditar, es una lista de ACEs que indican el tipo de acción que provocará una entrada en el Security Event Log.
DueñoPropiedades de archivo→ Seguridad → Opciones avanzadas → Propietario
• El propietario o dueño del objeto controla el modo en que se establecen los permisos en el objeto y a quién se conceden.
• Un administrador puede tomar posesión de cualquier archivo del equipo.
• El propietario actual puede conceder el permiso Tomar posesión en la DACL a otros usuarios, lo que permite a esos usuarios tomar posesión en cualquier momento.
• Los usuarios que tengan el permiso Tomar posesión pueden tomar posesión del objeto o asignar la propiedad a cualquier grupo del que sean miembros.
DueñoPropiedades de archivo→ Seguridad → Opciones avanzadas → Propietario
DACL
ACL
Propiedades de archivo→ Seguridad
Propiedades de archivo→ Seguridad
DACL
DACLMás detallado en: Propiedades de archivo→ Seguridad → Conf. Avanzada → Permisos
DACL
• Atravesar carpeta: permite o deniega el movimiento por las carpetas para llegar a otros archivos o carpetas.
• Ejecutar archivo: si es un ejecutable, permite o deniega que se pueda ejecutar.
• Mostrar carpeta: permite o deniega ver nombres de archivos y subcarpetas de la carpeta. Este permiso sólo afecta al contenido de esa carpeta, no a la carpeta.
• Leer Datos: permite o deniega leer los datos del archivo.
DACL
• Leer atributos: permite o deniega la vista de los atributos (NTFS) de un archivo o carpeta, como sólo lectura y oculto.
• Leer atributos extendidos: permite o deniega la vista de atributos extendidos de un archivo o carpeta. Los atributos extendidos son definidos por los programas, y pueden variar según el programa.
• Crear archivos: permite o deniega la creación de archivos dentro de la carpeta. (Sólo afecta a carpetas).
DACL• Escribir datos: permite escribir datos en el fichero.
• Crear carpetas: permite o deniega la creación de carpetas dentro de la carpeta. (Sólo afecta a carpetas).
• Agregar datos: permite o deniega la realización de cambios al final del archivo pero no el cambio, eliminación o sobrescritura de los datos existentes. (Sólo afecta a los archivos).
• Escribir atributos / atributos extendidos: permite o deniega el cambio de los atributos / atributos extendidos de un archivo o carpeta.
DACL
• Eliminar subcarpetas y archivos: permite o deniega la eliminación de subcarpetas y archivos, incluso si no se ha otorgado el permiso Eliminar en la subcarpeta o archivo.
• Eliminar: permite o deniega la eliminación del archivo o de la carpeta. Si no ha obtenido el permiso Eliminar en un archivo o carpeta, podrá eliminarlo si se le ha otorgado el permiso Eliminar subcarpetas y archivos en la carpeta principal.
• “Permisos de lectura” (sic) (Read Permissions): permite o deniega la lectura de los permisos del archivo o carpeta. Bien traducido sería “Leer los permisos” o “leer la ACL”.
DACL
• Cambiar permisos (Change Permissions): permite o deniega el cambio de los permisos del archivo o carpeta.
• Tomar posesión: permite o deniega la toma de posesión del archivo o de la carpeta. El propietario de un archivo o de una carpeta siempre puede cambiar los permisos, independientemente de los permisos existentes.
• Sincronizar: permite o deniega a diferentes subprocesos que esperen al identificador de archivo o carpeta y que se sincronicen con otro subproceso que pueda enviarle señales. Este permiso sólo se aplica a programas multiproceso.
DACL
Permisos especiales para archivos y carpetas
DACL• Evaluación:
• Si el objeto no tiene DACL, se garantiza el acceso (p. ej. un archivo de una partición FAT).
• Así se analizan las ACE:
• Si alguna deniega el acceso, se deniega el acceso.
• Si no, si hay alguna que garantice el acceso, se garantiza.
• Si ninguna especifica el acceso, se deniega.
• Por tanto, las denegaciones tienen precedencia. P. ej. si un usuario pertenece a dos grupos, uno con permiso para leer el fichero y otro con el permiso de lectura denegado, entonces NO podrá leer el fichero.
DACL
• Si sabemos la ruta exacta al fichero, no hace falta leer la carpeta para abrir el fichero, y se omite la comprobación de recorrido.
• Se puede solucionar eliminando el usuario/grupo de la directiva:
secpol.msc → directivas locales → asignación de derechos de usuario → omitir comprobación de recorrido.
DACLsecpol.msc → Directivas locales → Asignación de derechos de usuarios
⚠
DACL
• Podemos comprobar los permisos efectivos (los que se van a aplicar finalmente) de un usuario/grupo sobre un objeto.
Propiedades de archivo→ Seguridad → Opciones avanzadas → Permisos Efectivos
DACLPropiedades de archivo→ Seguridad → Opciones avanzadas → Permisos Efectivos
AccessEnum• Como los permisos se heredan, se puede perder el
control de las cuentas que pueden acceder a ciertos objetos.
• AccessEnum.exe¹ nos permite mostrar los objetos con permisos sospechosos:
• Buscar permisos más relajados que los del contenedor.
• Buscar permisos distintos que los del contenedor.
• Permite guardar listas y comparar la lista actual con listas anteriores.
¹http://technet.microsoft.com/es-es/sysinternals/bb897332.aspx
AccessEnum
SACL• Cada ACE se compone de:
• Usuario/grupo para auditar.
• Tipo de acceso.
• Tipo de evento: fallo, éxito, ambos.
• OJO: Hay que tener cuidado con el número de eventos que se pueden generar.
• Los eventos se ven en Visor de Eventos.
• Hay que activar directivas antes para habilitarlo.
SACL: Activar las directivassecpol.msc→ Directivas locales → Directiva de auditoria → Auditar acceso a objetos
Tipo de acceso
SACLPropiedades de archivo→ Seguridad
Click
SACLPropiedades de archivo→ Seguridad → Configuración avanzada
SACLPropiedades de archivo→ Seguridad → Configuración avanzada
SACLVisor de eventos → Registros de Windows → Seguridad
MIC• Mandatory Integrity Control (MIC). Los objetos tienen un nivel de
integridad. Un objeto de nivel inferior no puede modificar o borrar* a uno de nivel superior:
• Bajo (no confiable). Los ejecutables pueden ser marcados como nivel bajo si son peligrosos (p.ej. ejecutables bajados de Intenet y no firmados). Sólo pueden modificar carpetas temporales, etc.
• Medio (usuario). Los usuarios normales tienen este nivel. Los objetos que no tienen etiqueta de integridad en su SACL (casi todos) también. Por ejemplo, HKCU.
• Alto (administrativo). Los administradores tiene este nivel, KHLM, la carpeta de Archivos de Programa, etc.
• Sistema (control total). Los servicios del sistema tienen este nivel.
• Esto se comprueba antes de mirar las DACL, tiene más prioridad.
* Modelo MAC BIBA para controlar la integridad, no la confidencialidad (p. ej. MAC Bell-LaPaluda).
MIC• Para asignar el nivel de integridad (cada usuario puede asignar hasta su
propio nivel, nunca más) se usa el comando icacls con la opción /setintegritylevel
• L: nivel bajo
• M: nivel medio.
• H: nivel alto.
comando: icacls archivo /setintegritylevel [H M L]
MicEnum• La herramienta MicEnum deja examinar y establecer
el nivel de integridad de los ficheros de forma visual:
https://www.elevenpaths.com/labstools/micenum/index.html
UAC• Control de Cuentas de Usuario o User Account Control (UAC) es una
tecnología para controlar el privilegio en la ejecución de los programas.
• Idea: evitar el uso de la cuenta de Administrador para el uso común.
• Un usuario con privilegios de administrador consigue dos tokens de acceso al iniciar la sesión:
• Token de usuario estándar.
• Token de administrador.
• Cuando se intenta usar el token de administrador (elevación) se presenta una ventana de diálogo de UAC para pedir permiso o las credenciales.
UAC• Ventajas:
• No hay que usar dos cuentas (usuario y administrador).
• No hay que entender para qué hay que usar la cuenta de administrador y para qué la otra.
• No hay que gestionar dos perfiles distintos (carpetas, escritorios, etc.).
• Aplica el principio de mínimo privilegio.
• Inconvenientes:
• No ha sido bien recibido por ser molesto.
• ¿El problema fue la interfaz de usuario? ¿o que las malas prácticas son difíciles de eliminar? La seguridad es incómoda.
UAC• Acciones que pueden activar UAC:
• Ejecutar como Administrador.
• Cambios en la configuración y archivos bajo %systemroot% y %programfiles%.
• Instalar y desinstalar aplicaciones, drivers o módulos ActiveX.
• Cambiar la configuración del firewall.
• Cambiar la configuración de UAC o el control parental.
• Configurar Windows Update.
• Añadir, quitar o cambiar cuentas de usuarios.
• Ejecutar el Programador de Tareas o el Desfragmentador de Disco.
• Recuperar archivos del sistema desde copias de seguridad.
• Acceder a ficheros de otros usuarios.
UAC• Los diálogos de elevación usan un código de
colores:
• Rojo (con escudo) si el firmante de la aplicación está bloqueado, es una aplicación sin firma bajada de Internet.
• Azul (con escudo) si es una aplicación administrativa de Windows (e.g. Panel de Control).
• Azul (con interrogación) si la aplicación está firmada por terceros con Authenticode y se puede verificar.
• Amarillo (con escudo) si la aplicación no está firmada o está firmada pero no se puede verificar.
UAC• Si cuando se muestra el diálogo de elevación se oscurece
el fondo, se pasa a ejecutar en el Escritorio Seguro.
• En el escritorio seguro sólo pueden ejecutar procesos del usuario System, en los que podemos confiar.
• Esto nos protege de spoofing de las contraseñas.
UAC
• Cuatro niveles de configuración:
• Notificarme siempre. ☺
• Notificarme sólo cuando un programa quiere hacer cambios en el sistema. ⚠
• Notificarme solo cuando un programa intente realizar cambios en el equipo (no atenuar el escritorio). ☹
• No notificarme nunca. ☹
UACPanel de control → Cuentas de usuario → Cambiar configuración de Control de
cuentas de usuario
UAC
• Notificarme siempre. ☺
• Se notificará antes de que se realicen cambios al equipo o a la configuración de Windows que requieran los permisos de un administrador.
• La notificación se realiza en el Escritorio Seguro.
• Se deberá aprobar o denegar la solicitud en el cuadro de diálogo de UAC antes de poder cualquier realizar cualquier acción en el equipo.
UAC
• Notificarme sólo cuando un programa quiere hacer cambios en el sistema. ⚠• Es la opción por omisión.
• Se notificará antes de que los programas realicen cambios al equipo que requieren permisos de administrador.
• No se recibirán notificaciones si el usuario intenta realizar cambios manuales en la configuración de Windows que requieren permisos de administrador.
• Algunos programas propios de Windows están en una lista blanca para poder elevar sin preguntar (silent elevation).
➡esto es un agujero de seguridad*, se puede inyectar una DLL en un programa con elevación silenciosa (e.g. explorer.exe). Todavía está por solucionar.
* Programa de ejemplo para conseguir una consola en modo administrador disponible enhttp://www.pretentiousname.com/misc/win7_uac_whitelist2.htmlmás información enhttp://4sysops.com/archives/windows-7-rc-uac-security-vulnerability-auto-elevation/
UAC
• Algunas aplicaciones firmadas especiales (con el manifiesto silent elevation) pueden elevarse sin requerir mostrar un diálogo de elevación.
UAC Architecture
UAC
• Notificarme solo cuando un programa intente realizar cambios en el equipo (no atenuar el escritorio). ☹
• Igual que la anterior, pero sin usar el Escritorio Seguro.
• Debido a que el cuadro de diálogo de UAC no se encuentra en el Escritorio Seguro, es posible que otros programas puedan interferir adoptando el aspecto visual del diálogo.
• Riesgo de spoofing.
UAC
• No notificarme nunca. ☹
• No se notificará antes de que se realicen cambios en el equipo.
• Si se ha iniciado sesión como administrador, los programas pueden realizar cambios en el equipo sin que el usuario lo sepa.
• Si se ha iniciado sesión como usuario estándar, se denegarán automáticamente los cambios que requieran permisos de administrador.
• Hay que reiniciar el equipo para completar el proceso de desactivación de UAC.
• Una vez que UAC está desactivado, los usuarios que inicien sesión como administrador tendrán siempre los permisos de un administrador.
UAC
• Para indicar que una operación requiere elevarse con UAC, se muestra un escudo, por ejemplo:
UACsecpol.msc → Directivas locales → Opciones de seguridad
• Reforzando la configuración:
UAC
• “Control de cuentas de usuario: modo de aprobación de administrador para la cuenta predefinida de Administrador”
• Hace que la cuenta Administrador (no las cuentas del grupo administrador) también esté sujeta a UAC (no lo está por omisión).
UAC
• “Control de cuentas de usuario: comportamiento de la petición de elevación para los administradores en Modo aprobación de Administrador”
• Nos da varias opciones, entre ellas que el usuario tenga que introducir la contraseña en el diálogo de elevación. ☺
• Es recomendable configurarlo para introducir la contraseña, sobre todo si es un PC al que se puede acceder fácilmente mientras que el usuario tiene la sesión abierta.
UAC
• “Control de cuentas de usuario: comportamiento de la petición de elevación para los usuarios estándar”
• Permite denegar la elevación automáticamente, o pedir las credenciales tanto en el Escritorio Seguro como en el Escritorio del usuario.
• Si se deniega automáticamente, UAC no funcionará para los usuarios estándar. ☺
• Por ejemplo: un usuario estándar no será capaz de usar Ejecutar como Administrador.
UAC
• “Control de cuentas de usuario: detectar instalaciones de aplicaciones y pedir confirmación de elevación”
• Inspecciona el nombre del ejecutable y si encaja con un patrón que indique que es un instalador, se activa UAC.
• Encaja todo lo que empieza por “Instal”, “Setu” y “Update”.
UAC
• “Control de cuentas de usuario: elevar sólo archivos ejecutables firmados y validados”
• Sólo deja elevar si el programa está firmado y verificado.
UAC
• “Control de cuentas de usuario: elevar sólo aplicaciones UIAccess instaladas en ubicaciones seguras”
• Hay aplicaciones que pueden manipular el UI en nombre del usuario (aplicaciones con la directiva UIAccess en el manifiesto), y piden la elevación automáticamente al ejecutar.
• Por ejemplo, las aplicaciones UI Automation deben comunicarse con otros procesos, algunos de ellos puede que de más privilegio.
• Se usa principalmente para el Escritorio Remoto.
• Esta directiva obliga a que además estén en carpetas seguras: \archivos de programa y \windows\system32.
UAC
• “Control de cuentas de usuario: ejecutar todos los administradores en Modo de aprobación de administrador”
• Activa o desactiva completamente UAC.
• Tiene que estar activada. ⚠
UAC
• “Control de cuentas de usuario: cambiar al escritorio seguro cuando se pida confirmación de elevación”
• Activa el Escritorio Seguro.
• Tiene que estar activada. ⚠
UAC
• “Control de cuentas de usuario: permitir que las aplicaciones UIAccess pidan confirmación de elevación sin usar el escritorio seguro”
• Otra para evitar problemas con el Escritorio Remoto, cuando se intenta usar el Escritorio Seguro.
UAC
• “Control de cuentas de usuario: virtualizar los errores de escritura de archivo y del Registro a ubicaciones por usuario”
• Si se desactiva, muchos programas fallarán al intentar escribir en sitios que no pueden: %ProgramFiles%, %Windir%; %Windir%\system32 o HKLM\Software.
• La “virtualización” es simplemente que escriben los datos en archivos localizados en otras carpetas a las que sí pueden acceder y no generan el error por no poder acceder a las del sistema.
• Los datos van a la carpeta
• AppData\Local\VirtualStore\
de la carpeta personal del usuario y a
• HKCU\software\classes\VirtualStore
UAC
• Con gpedit.msc podemos editar algunas políticas generales que afectan a UAC.
• No mostrar la lista de usuarios administradores en el diálogo de UAC, para no desvelar dicha información a usuarios estándar.
• Pedir las credenciales para UAC usando un Trusted Path (ctrl+alt+sup).
UACgpedit.msc → Conf. del equipo → Plantillas administrativas → Componentes de Windows → Interfaz de usuario de credenciales
UACgpedit.msc → Conf. del equipo → Plantillas administrativas → Componentes de Windows → Interfaz de usuario de credenciales
UAC
• Conclusión:
• Si no queremos usar dos cuentas distintas (Administrador y usuario normal), tenemos que usar UAC.
• Hay que usar UAC con su configuración más segura.