¿Hay alguna forma de auditar AD para una contraseña particular?

8

¿Hay alguna forma de auditar AD para verificar una contraseña en particular?

Solíamos usar una contraseña "estándar" para todos los nuevos usuarios (por ejemplo, MyPa55word ). Quiero asegurarme de que esto ya no se use en ninguna parte de nuestro patrimonio.

La única forma en que podría pensar cómo hacer esto sería a) auditar el directorio de alguna manera para cualquier usuario con esta contraseña ob) configurar un GP que rechazara específicamente esta contraseña (idealmente, esto podría solicitar a los usuarios que restablezcan su contraseña. )

¿Alguien tiene algún consejo sobre cómo puedo abordar esto?

Ejército de reserva,

Ben


fuente
3
Personalmente, creo que estás tomando el enfoque equivocado. En lugar de tratar de ver quién está siendo malo, ¿por qué no evitar que sean malos, simplemente configurando la opción 'El usuario debe cambiar la contraseña en el próximo inicio de sesión' para todas las cuentas recién creadas ?, seguramente esta sería la solución más fácil y segura.
Bryan
El método que Bryan sugiere está allí específicamente para evitar que su problema surja.
John Gardeniers
Acordado para el futuro, pero estamos tratando de solucionar un problema que ya ha sucedido. El problema con el enfoque de "obligar al usuario a cambiar la contraseña en el próximo inicio de sesión" es que la mayoría de nuestros usuarios trabajan de forma remota: cambiar las contraseñas con usuarios fuera de la oficina nos ha causado problemas en el pasado.

Respuestas:

1

Aquí hay un par de ideas, ninguna de las cuales es muy buena (desde la perspectiva de que pueden activar alarmas de detección de intrusos o antivirus):

  • Puede volcar los hash de contraseña de Active Directory y ejecutar un craqueador de contraseñas en ellos. Caín y Abel pueden resolverlo por ti. Puedes sacar los hashes con fgdump. Tenga cuidado: estas dos utilidades probablemente activarán las alarmas en su software antivirus.

  • Puede escribir una secuencia de comandos simple para iterar sobre la salida de una lista de usuarios, buscando contraseñas válidas utilizando el comando "NET USE". Usa algo como esto:

    @echo off

    rem Ruta de destino para "asignar" una "unidad" a la prueba de contraseña
    establecer DESTPATH ​​= \\ SERVER \ Share
    rem Letra de unidad utilizada para "asignar" una "unidad" a la prueba de contraseña
    SET DRIVE_LETTER = Q:

    nombre de dominio rem NetBIOS para probar
    establecer DOMINIO = DOMINIO

    rem Archivo que contiene la lista de nombres de usuario, uno por línea
    SET USERLIST = userlist.txt

    rem Contraseña para probar
    SET PASSWORD = MyPa55word

    rem Archivo de salida
    SET OUTPUT = output.txt

    si existe "% DRIVE_LETTER% \." goto _letter_used

    para / f %% i en (% USERLIST%) do (
        uso neto% DRIVE_LETTER%% DESTPATH% / USER:% DOMAIN% \ %% i% PASSWORD%

        si existe "% DRIVE_LETTER% \." echo %% i la contraseña es% PASSWORD% >>% OUTPUT%

        uso neto% DRIVE_LETTER% / d / a
    )

    ir al final

    : _letter_used
    echo% DRIVE_LETTER% ya está en uso. Cámbielo a una letra de unidad libre y vuelva a ejecutarlo.

    :final

Coloque la lista de usuarios en "userlist.txt" (un nombre de usuario por línea), configure las variables en la parte superior de la secuencia de comandos para hacer referencia a una ruta a la que el usuario debe poder "asignar" una "unidad" y asegúrese de que La PC en la que lo está ejecutando no tiene ninguna otra "unidad" "asignada" al servidor de destino (ya que una PC con Windows solo permite que se use un conjunto de credenciales para las conexiones de cliente SMB a un servidor determinado a la vez).

Como dije, cualquiera de los métodos probablemente no sea una gran idea. > sonrisa <

Evan Anderson
fuente
1
si vuelcas los hash, habiendo configurado una cuenta para que tenga tu contraseña predeterminada, sabrás cuál es el hash y puedes buscar eso, ¿no?
xenny
Usted señor, es una leyenda. No creo haber explicado muy bien la pregunta, pero esto es exactamente lo que necesitaba. Fue después de un volcado rápido de todos con esta contraseña en particular, por lo que discretamente pude hacer que los cambiaran. ¡Muchas gracias!
8

No hay una forma oficial de ver las contraseñas de los usuarios (es posible, pero hay que profundizar en ... las utilidades de seguridad). Probablemente sea mejor abordar esto desde un ángulo de edad de contraseña. Parece que podría comparar la fecha de creación del usuario con la fecha en que se modificó la contraseña por última vez, y si hay una coincidencia, active el campo 'cambio de contraseña en el próximo inicio de sesión'.

Kara Marfia
fuente
Ah ... muy buena solución!
blank3
1

cree un recurso compartido donde se le solicite una contraseña cuando utilice Net. luego escriba un script que intente asignar el recurso compartido con todos los nombres de usuario y la contraseña predeterminada. de esta manera, ningún inicio de sesión es nessecary y no romperá la política

raerek
fuente
Eso es lo que hace mi guión en mi respuesta, básicamente.
Evan Anderson
1

Deberías mirar a John the Ripper , es una utilidad para descifrar contraseñas. Puede ejecutarlo en modo de ataque de diccionario que toma una lista de contraseñas de un archivo de texto. Su lista de palabras podría consistir solo en su contraseña predeterminada.

Debería ser bastante rápido, probablemente más rápido que la secuencia de comandos share + connect vía contraseña propuesta.

Christopher_G_Lewis
fuente
0

Puede intentar encontrar una manera de ejecutar un intento de inicio de sesión en un recurso compartido o recurso que pruebe esa contraseña "estándar" para cada usuario en una lista, como un enfoque de archivo por lotes, y luego registrar cuáles fueron exitosos. Pero esto sería mucho trabajo para una auditoría única si no es una gran empresa con una gran cantidad de cuentas. Puede haber algunas utilidades de seguridad de sombrero gris, pero no sé cuánto confiarías en ellas.

Es posible que pueda obtener una utilidad de auditoría de contraseña con un ataque basado en diccionario (¿l0phtcrack?) Y usar solo su contraseña predeterminada como diccionario personalizado. Eso puede hacer que las cosas sean más rápidas y fáciles.

Esto se vuelve incierto ya que estas utilidades son herramientas que ayudan tanto como duelen. Algunos escáneres de malware los marcarán incluso si los está utilizando con fines legítimos. Windows no tiene mucho en cuanto a las utilidades de verificación de contraseña incorporadas para los administradores, ya que se configuró específicamente para que los administradores puedan restablecer o dejar en blanco las contraseñas, pero no saben cuáles eran las contraseñas "perdidas" u "olvidadas".

Bart Silverstrim
fuente
0

Establecería el historial de contraseña de Enforce en un número alto (digamos 10) y disminuiría la edad de mi contraseña a 30 o escribiría una contraseña de caducidad para todos los usuarios. Lo siguiente que debe hacer es mirar las cuentas de servicio y restablecer sus contraseñas. Si tiene un entorno grande, esto será doloroso (por lo tanto, las nuevas cuentas de servicios administrados en 2008). Estoy de acuerdo con Bart en que las utilidades que pueden recuperar la contraseña suelen ser más problemáticas de lo que valen. Esperemos que se encuentre en un entorno en el que le permitan expirar las contraseñas a intervalos regulares, en cuyo caso esta contraseña desaparecerá a tiempo, siempre que tenga configurado el historial de contraseñas.

Jim B
fuente
0

He usado pwdump 6 en el pasado para volcar hashes de contraseñas.

Cree una cuenta con anticipación con la contraseña. Si los usuarios han usado esa misma contraseña, el hash de la contraseña que se descargó para los usuarios debería ser el mismo. Solo asegúrese de tener permisos, ya que los hash de contraseña son confidenciales, ya que existen herramientas como tablas de arco iris que tienen varios gb de tamaño y permiten a las personas encontrar la contraseña del usuario desde el hash.

Los sistemas Linux y Unix evitan las tablas de arco iris, ya que a menudo agregan sal para garantizar que las tablas hash de un sistema no se puedan usar para un segundo sistema.

Trabajé en una empresa auditada por una gran empresa que sugirieron que dejáramos de proporcionar contraseñas comunes al configurar usuarios, ya que a menudo también reciben asignaciones grupales, lo que significa que alguien que sepa que John Smith estaba comenzando podría intentar iniciar sesión con el nombre de usuario estándar para John Smith junto con el contraseña estándar

marca

MarkL
fuente