No he hablado aqui de lo sencillo que es realizar un ataque contra un controlador de dominio, en el mas jugoso de los casos, de forma que estableciendo lo que se conoce como una sesion nula, podamos obtener muchisima informacion sobre usuarios y recursos compartidos de un sistema.
Con esta info, y sabiendo cosas como que el SID del usuario Administrador en Windows
siempre acaba en
500, o conociendo algun nombre por defecto de algunos grupos que hay en un dominio, y combinando todo esto con herramientas como
user2sid /
sid2user, un atacante lo tiene mas sencillo para lograr una escalada de privilegios en nuestros sistemas.
No me apetece explicar el ataque sino la defensa.
Por defecto cualquier Windows permite la enumeracion de usuarios y recursos compartidos, lo cual me parece lamentable.
Podemos asegurar un poco mas nuestros sistemas manipulando el valor de la siguiente clave de registro:
HKLM\SYSTEM\CurrentControlSet\Control\
LSALa clave se llama
RestrictAnonymousAdmite 3 posibles valores:
0 Permisos por defecto, es decir, damos toda la info. Patetico.
1 No permitir enumeracion de usuarios SAM / recursos compartidos.
2 Acceso prohibido a menos que permitamos especificamente acceso anonimo.
Yo en todos los manuales de seguridad que he leido, papers serios incluso, he visto que directamente recomiendan usar el valor
2. Pero yo recomendaria establecer el valor
1, que si bien no protege totalmente contra un ataque de enumeracion, si que impide hacerlo estableciendo una sesion nula, etc, etc. Esto es lo que podria saber el 99% de los atacantes. Lo tipico.
¿Por que yo no recomiendo establecer el valor
2?
Porque a pesar de ser mas seguro, nos quita demasiadas funcionalidades como para que la balanza seguridad/perdida de funcionalidades se incline hacia el lado de la seguridad.
¿Como cuales? Que esto es lo que no he leido en ningun manual, incluso he leido que Microsoft recomienda establecer el valor 2...
-Ningun equipo miembro del dominio que sea inferior a Windows 2000 podra establecer un canal seguro en la comunicacion con el servidor.
-Ningun controlador de dominio degradado aunque este en un dominio de confianza podra establecer un canal seguro net logon contra el controlador de dominio.
-Usuarios de Windows NT o MAC no podran cambiar su contraseña cuando esta caduque.
-En "Mis sitios de red" dejaras de poder ver los equipos de la red, a menos que no este establecido el valor
2 en alguno de estos equipos: el master browser del dominio, el master browser o el backup master browser.
No se de ningun efecto secundario mas... ¿alguien conoce alguno mas? Lo de siempre, creditos a ti si me sorprendes... :)
Ahora como conclusion una pregunta...
¿Y en un controlador de dominio que corra bajo Samba bajo UNIX? ¿Existen estos problemas de sesiones nulas, etc?
¿Cuestion de probar un ataque de enumeracion de usuarios contra un DC powered by Samba bajo UNIX/Linux no?
:)