none
Directivva: No permitir enumeraciones anónimas de cuentas SAM

    Pregunta

  • Buenas ! ,

    Estoy leyendo sobre el tema de las medidas para securizar Windows.

    La política o directiva de seguridad "No permitir enumeraciones anónimas de cuentas SAM" viene a decir que los usuarios anónimos tiene privilegios sobre la base de datos o archivo SAM.

    Copio de le explicación de Microsoft:

    "Esta configuración de seguridad determina los permisos adicionales que se concederán para las conexiones anónimas al equipo.

    Windows permite a los usuarios anónimos realizar ciertas actividades, como enumerar los nombres de cuentas de dominio y recursos compartidos de red"

    Mi pregunta:  ¿Quienes son los "usuarios anónimos" ?. ¿Un usuario puede conectarse a un recurso de red anónimamente, sin credenciales?. No entiendo que son los usuarios anónimos.

    .....

    Lo más curioso es que después dice esto:

    Valor predeterminado:
    Habilitada en estaciones de trabajo.
    Deshabilitada en servidores.

    Importante:
    Esta directiva no afecta a los controladores de dominio.

    Es decir, que está deshabilitada en servidores !!!...ufff, agujero de seguridad? Porque habilitada en las estaciones y deshabilitada en los servidores ?

    Muchas gracias por adelantado !


    Luis Olías Técnico/Admon Sistemas Sevilla (España)
    martes, 24 de mayo de 2011 10:55

Respuestas

  •  

    Buenos días Luis,

     

    Te voy respondiendo respetando tu misma enumeración;

     

    1.- Aunque en la descripcion de la directiva especifique que la directiva se encuentra deshabilitada por defecto en los servidores, no es cierto en el caso de las plataformas Microsoft Windows 2003. he verificado, que en una instalación limpia de Windows 2003, por defecto esta directiva se encuentra habilitada. No obstante puedes comprobarlo de dos formas; bien abriendo una consola de administracion de directivas y comprobando las directivas aplicadas o bien mediante el registro del sistema, con la clave "HKLM\SYSTEM\CurrentControlSet\Control\LSA". En esta clave tienen que existir dos valores de registro que controlan esta configuracion; restrictanonymous y restricanonymousSAM. Si estan con un valor "1" estan habilitados y por lo tento no es posible realizar enumeraciones de cuentas de usuario con cuentas anonimas. 

     

    2.- A lo que me refiero con usuario anónimo es iniciando una conexion sin usuario ni contraseña, por ejemplo si haces; net use \\IP\IPC$ /user:"" "" estas estableciendo una sesion con un usuario anónimo a la maquina que especifiques. Una vez establecida la sesion nula, si no tuvieras la directiva aplicada podrías obtener información de las cuentas de usuario locales.

     

    3.- Vale, una cosa es que te puedas conectar anonimamente y otra es que puedas obtener informacion. Muchos servicios precisan realizar conexiones anonimas a los servidores para su correcto funcionamiento. De hecho en plataformas Windows 2003 se permiten las conexiones anonimas. Lo que tienes que controlar, es la informacion que se puede obtener con este tipo de conexiones.

     

    4.- Por defecto a partir de XP y Windows 2003 se encuentra habilitada tanto en servidores como clientes. Esta directiva proviene de una directiva que existía en Windows 2000 para el control de las conexiones anónimas; "Restricciones adicionales para conexiones anónimas". En Windows 2000, esta directiva se encontraba por deshabilitada por defecto, por temas de compatibilidad con plataformas antiguas.  

     

    5.- Existen múltiples herramientas gratuitas que sirven para realizar enumeraciones de cuenta mediante sesiones nulas; superscan, enum, etc. Si obtienes un lisatdo de cuentas de usuario, podrías utilizar esta información para intentar realizar conexiones al servidor, bien con contraseñas habituales, o utilizando una herramienta automatica para ello.

     

    No obstante, lo que te comentaba que a partir de aqui depende de las contraseñas asignadas...

     

    Un saludo.

    viernes, 03 de junio de 2011 7:20

Todas las respuestas

  • Hola Luis, buen dia:

    Hace tiempo conteste a algunas de tus preguntas espero y me recuerdes.

     

    He leido tu pregunta y me suena interesante sobre todo eso de "anonimos" y que en los clientes habilitada y en los servidores deshabilitada.

    Bueno mira, cuando estudie mi certificacion etica hacker me enseñaron un procedimiento por medio del cual mediante la creacion de un archivo BAT podias crear una cuenta administrativa en el equipo atacado mediante un troyano de conexion inversa.

    Lo que hace este tipo de archivo BAT es esconder la cuenta administrativa de tal manera que no apareciera en el panel de control en el area de cuentas de usuario.

    Quiero pensar que la directiva que mencionas no es un agujero de seguridad, si no todo lo contrario una forma de cuidar el SAM de ataques de fuerza bruta o algo por el estilo.

    Creo que en los servidores no vienen activada esta politica para no comprometer la seguridad total de la red, y en cambio si se llega a comprometer la seguridad de una maquina cliente no se ve afectada la seguridad de toda la red.

    El valor por defecto me imagino que tiene que estar como no configurada.

    Aunque esto es una teoria, tendriamos que investigar un poco mas. Aunque creo que algo tiene relacion, ya vez que los hacker's tratan de crackear contraseñas para hacer escala de privilegios.

     

    Saludos


    Lsassnull.exe
    viernes, 27 de mayo de 2011 15:27
  • Muchas gracias Lsassnull por tu tiempo.

    Si que me acuerdo de tu nick, era curioso por lo de LSASS, que creo que es un proceso de Windows, ahora mismo no recuerdo que hace, si tenía algo que ver con la SAM.

     

    De todas maneras, lo que no entiendo es quienes son los usuarios anónimos. Sé los autenticados, los usuarios del dominio, el grupo Todos, etc, pero que sería un usuario anónimo en que escenario? Sé que si IIS tienes para que se conecte todo el mundo anónimamente se conectan con IIS_Servidor sino recuerdo mal, ...¿tiene algo que ver?

     

    Muchas gracias de nuevo !!


    Luis Olías Técnico/Admon Sistemas Sevilla (España)
    viernes, 27 de mayo de 2011 18:59
  • Buenos días,

     

    El tema de los usuarios anónimos proviene de las plataformas antiguas de Microsoft, tales como Windows NT. En ese tipo de sistemas, para el correcto funcionamiento de los recursos de los servidores era necesario que se conectaran entre ellos utilizando para ello una cuenta anónima, es decir; contraseña y usuarios nulos.

     

    Por eso, en estos sistemas era posible conectarse al recurso compartido por defecto "IPC$" y sin necesidad de facilitar unas credenciales obtener un listado completo de los usuarios, grupos, directivas, shares, servicios, configuracion NETBIOS, etc. del servidor afectado.

     

    En los sistemas de instalacion limpia de Windows 2003 o superiores esta configuracion se encuentra configurada por defecto para no permitir la enumeracion de los recursos mediante cuentas anónimas.

     

    No obstante, en muchas ocasiones las empresas en vez de realizar instalaciones limpias, realizan actualizaciones de versiones de Windows antiguas. Por lo tanto, si no se configuran las directivas adecuadas, se mantienen las configuraciones antiguas, tales como esta.

     

    En el caso de un controlador de dominio, actualizado de una version antigua y que tenga esta directiva desactivada (vamos, que permitiria la enumeracion de las cuentas SAM), sería posible realizar la enumeración de los usuarios y grupos del dominio sin la necesidad de autenticarse previamente.

     

    Teniendo esta informacion, sería posible por ejemplo, detectar las cuentas de administracion, y realizar ataques de fuerza bruta contra las mismas. Una vez llegados a este punto, obtener el acceso al dominio dependería totalmente en la directiva de contraseñas aplicada. Y el seguimiento de este tipo de casos, dependeria de la directiva de auditoría.

     

    Por lo tanto, te recomiendo que se encuentre esta directiva habilitada. No obstante hay que tener en cuenta que la implementacion de una buena estrategia de seguridad en una infraestructura radica en varios puntos a tener en cuenta. Te recomiendo aplicar la seguridad por capas.

     

    Espero haberte ayudado.

     

    Un saludo

    • Propuesto como respuesta Marta.coronado jueves, 02 de junio de 2011 7:14
    • Votado como útil Luis Olias jueves, 02 de junio de 2011 11:17
    jueves, 02 de junio de 2011 7:14
  • Hola Marta,

    Muchas gracias por contestar.

    1. Comentas esto: " En los sistemas de instalacion limpia de Windows 2003 o superiores esta configuracion se encuentra configurada por defecto para no permitir la enumeracion de los recursos mediante cuentas anónimas "

    No es del todo cierto Marta, en la política dice:

    Valor predeterminado:
    Habilitada en estaciones de trabajo.
    Deshabilitada en servidores.

    Importante:
    Esta directiva no afecta a los controladores de dominio.

    Es decir, en los servidores, como decía en mi primer post, está deshabilitado !!. Osea, en los servidores está deshabilitada el impedir la enumeración anónimo de cuentas SAM.

    Comenté a Lsassnull, que me parecía un agujero de seguridad.

    Supongo que he de habilitarla. Mis instalaciones de 2003 son todas limpias.

    2. Pensé que los usuarios anónimos eran aquellos que por ejemplo conectan con un servidor web, el usuario IUSR_NombreServidorIIS . No sé quienes son los usuarios anónimos , ni como pueden conectarse anónimamente a un equipo. En el caso del servidor web sin petición de login es lógico que se use un usuario, IUSR_NombreServidorIIS, pero no sé cuales más son los usuarios anónimos.

    3.¿Cómo se puede realizar una conexión anónima a un equipo? Como digo, esta política está deshabilitada por defecto en los servidores (uff !! ) y entonces, si te he entendido bien, podría conectarme a dichos servidores anónimamente?¿Cómo?. No sé si pregunto mucho.

    4.¿Porque por defecto se habilita en Clientes y se deshabilita en servidores?. No logro entender esto.

    5.Comentas: "Teniendo esta informacion (cuentas,recursos...con un usuario anónimo) , sería posible por ejemplo, detectar las cuentas de administracion, y realizar ataques de fuerza bruta contra las mismas" . 

    ¿Podrías explicitar esto algo más? Es que mi duda es de que manera podría hacer yo eso que dices de conectarme al servidor afectado y enumerar las cuentas, los recursos, como entro anónimamente a un equipo remoto y a partir de ahí, hacer ataques de fuerza bruta. 

    Debe ser fácil pero en temas de seguridad, me gusta mucho, y siempre busco contramedidas, pero para aplicar contramedidas primero debes saber cuan vulnerables son tus servidores, DC´s y estaciones, pienso yo.

    Respecto a la política de contraseñas, no permito que se guarde el hash LM en la SAM, no sé si te refieres a estas cosas. Con programas de terceros, he visto que no son capaces de averiguar contraseñas del dominio si realizo esa opción de quitar los hashes LM de la SAM y que sólo se guarden NTLM y NLTMv2.   Además requiero que las contraseña sean fuertes para todos los usuarios ( Mayúscula, algún carácter (+-?/\...) , números, más de 7 caracteres, no palabras de diccionario... )

    Gracias por tu\vuestro tiempo !!

     

    Edito el post porque acabo de ver esta directiva, totalmente relacionada con este hilo: "Acceso a red: Recursos accesibles anónimamente"

    Y como explicación dice:

     Acceso a redes: recursos compartidos accesibles anónimamente.  Esta configuración de seguridad determina los recursos compartidos de red a los que tienen acceso los usuarios anónimos.

    Valor predeterminado: ninguno.

    Esta política por lo que veo sólo habla de los recursos compartidos a los que se puede acceder anónimamente, pero no habla nada de las cuentas de dominio.

    Gracias de nuevo !

     


    Luis Olías Técnico/Admon Sistemas Sevilla (España)

    • Editado Luis Olias jueves, 02 de junio de 2011 12:28 corrección
    jueves, 02 de junio de 2011 11:36
  • Hola Lsassnull , me preguntaba sino sería mucho pedir tener ese archivo.bat, aunque tú has tenido que estudiarlo concienzudamente, y yo te lo pido sin ni siquiera investigar. Sé lo que es un troyano de conexión inversa (no necesita NAT porque el servidor está en la víctima y el cliente en el atacante?) , pero no sé cóm implementar esto. Parece que voy por el lado oscuro, es decir, por temas de ser "hacker" , mal llamado Hacker, porque Hacker es el que usa Hacking ético y Cracker es el que uso estos conocimientos para hacer daño.

    Igual que las armas sirven para defenderte o autodefensa en casos extremos y te puede salvar la vida, pero muchos la usa para atacar.

    Después de esta filosofía, jeje, nada, soliticarte información al respecto de ese .bat sino, en cualquier buscador "crear troyano conexión inversa" aunque quiero insistir que es para saber como defenderme de ellos, que medidas adoptar, porque mi meta es ser Admin de Redes, y no Auditor de Seguridad.

    Gracias !!

     


    Luis Olías Técnico/Admon Sistemas Sevilla (España)
    jueves, 02 de junio de 2011 11:58
  •  

    Buenos días Luis,

     

    Te voy respondiendo respetando tu misma enumeración;

     

    1.- Aunque en la descripcion de la directiva especifique que la directiva se encuentra deshabilitada por defecto en los servidores, no es cierto en el caso de las plataformas Microsoft Windows 2003. he verificado, que en una instalación limpia de Windows 2003, por defecto esta directiva se encuentra habilitada. No obstante puedes comprobarlo de dos formas; bien abriendo una consola de administracion de directivas y comprobando las directivas aplicadas o bien mediante el registro del sistema, con la clave "HKLM\SYSTEM\CurrentControlSet\Control\LSA". En esta clave tienen que existir dos valores de registro que controlan esta configuracion; restrictanonymous y restricanonymousSAM. Si estan con un valor "1" estan habilitados y por lo tento no es posible realizar enumeraciones de cuentas de usuario con cuentas anonimas. 

     

    2.- A lo que me refiero con usuario anónimo es iniciando una conexion sin usuario ni contraseña, por ejemplo si haces; net use \\IP\IPC$ /user:"" "" estas estableciendo una sesion con un usuario anónimo a la maquina que especifiques. Una vez establecida la sesion nula, si no tuvieras la directiva aplicada podrías obtener información de las cuentas de usuario locales.

     

    3.- Vale, una cosa es que te puedas conectar anonimamente y otra es que puedas obtener informacion. Muchos servicios precisan realizar conexiones anonimas a los servidores para su correcto funcionamiento. De hecho en plataformas Windows 2003 se permiten las conexiones anonimas. Lo que tienes que controlar, es la informacion que se puede obtener con este tipo de conexiones.

     

    4.- Por defecto a partir de XP y Windows 2003 se encuentra habilitada tanto en servidores como clientes. Esta directiva proviene de una directiva que existía en Windows 2000 para el control de las conexiones anónimas; "Restricciones adicionales para conexiones anónimas". En Windows 2000, esta directiva se encontraba por deshabilitada por defecto, por temas de compatibilidad con plataformas antiguas.  

     

    5.- Existen múltiples herramientas gratuitas que sirven para realizar enumeraciones de cuenta mediante sesiones nulas; superscan, enum, etc. Si obtienes un lisatdo de cuentas de usuario, podrías utilizar esta información para intentar realizar conexiones al servidor, bien con contraseñas habituales, o utilizando una herramienta automatica para ello.

     

    No obstante, lo que te comentaba que a partir de aqui depende de las contraseñas asignadas...

     

    Un saludo.

    viernes, 03 de junio de 2011 7:20