Demostración de fuerza bruta ética en un inicio de sesión web cuando se conocen los requisitos de complejidad de la contraseña

4

Actualmente tenemos cuentas comprometidas a una tasa sustancialmente alta. Algunos en la organización creen que nuestros requisitos de complejidad de contraseña son suficientes para frustrar los ataques de fuerza bruta.

Quería probar y demostrar cómo ciertos requisitos de complejidad de contraseña pueden realmente reducir el espacio de búsqueda de contraseña.

¿Alguien ha hecho esto antes? ¿Qué herramientas debo mirar? Específicamente, preferiría probarlo en nuestra página web de Exchange 2010 OWA, ya que es de acceso público y no está limitado por el momento.

    
pregunta Belmin Fernandez 27.05.2014 - 17:32
fuente

4 respuestas

3

Depende de los requisitos de complejidad que esté implementando y de la línea de base de la que viene. Si sus contraseñas existentes son baseball y passw0rd y 123456 , entonces cualquier cosa es una mejora.

Pero la forma fácil de probar la complejidad es verificar cuántos caracteres se utilizan en cada clase (por ejemplo, mayúsculas, minúsculas, números, símbolos). Es fácil de programar pero también es una estimación muy pobre de la calidad de la contraseña.

La biblioteca de javascript zxcvbn fue diseñada por Dropbox para brindar una estimación más realista de la calidad de la contraseña basada en factores que realmente importan cuando se descifra contraseñas Eche un vistazo a su artículo aquí en su blog para obtener información sobre el cómo y el manera.

La esencia básica es esta:

  • Las contraseñas comunes son realmente malas y fallan independientemente de la composición
  • Las contraseñas largas son mejores que las cortas
  • Un conjunto de caracteres más amplio aumenta la ventaja incremental de cada carácter adicional en longitud
  • Las palabras conocidas del diccionario se califican como componentes de un diccionario, no como la suma de sus caracteres
respondido por el tylerl 27.05.2014 - 18:30
fuente
2

Si bien es cierto que los requisitos de complejidad de la contraseña reducen el posible espacio de búsqueda No estoy seguro de que esto sea exactamente lo que estás buscando.

Es posible que se esté refiriendo a los hábitos de algunas personas para elegir opciones más predecibles (como "Contraseña1") cuando se requiere una combinación de minúsculas, mayúsculas, números o símbolos. Si bien es cierto que la implementación de la complejidad de la contraseña no evita el uso de algunas contraseñas débiles, elimina lo peor de lo peor (como "contraseña" y "123456"). Pero tiene razón en que activar la complejidad no es una solución a las contraseñas deficientes por sí sola.

Si tiene pruebas de que alguien está forzando contraseñas brutas sobre OWA, los registros de los intentos y los éxitos deberían ser suficientes para demostrar que la complejidad de la contraseña no es lo suficientemente efectiva. No estoy seguro de que su demostración de este ataque en acción haga mucho más para influir en su opinión. Y si no tiene éxito, en realidad puede reforzar su creencia de que nada está mal.

Si su objetivo es resaltar las debilidades generales en las elecciones de contraseña de sus compañeros de trabajo, sugeriría que se descifren o analicen las contraseñas en lugar del forzamiento de brutos en línea. Debería proporcionar muchas más contraseñas más débiles en un período de tiempo más corto, lo que debería ayudar a resaltar cualquier problema generalizado de contraseñas.

    
respondido por el PwdRsch 27.05.2014 - 20:49
fuente
0

Puede usar Burpsuite o OWASP ZAP para realizar estas pruebas, pero ni siquiera debería tener este problema.

Considere limitar el número de conjeturas de contraseña que se pueden hacer para un nombre de usuario / IP / etc. antes de que ocurra un bloqueo.

Esto, además de una buena política de contraseña, limitará drásticamente la capacidad de los atacantes para cosechar cuentas.

    
respondido por el Daniel Miessler 28.05.2014 - 09:22
fuente
0

Para lidiar con la fuerza bruta puedes usar un viejo truco. Use hilos y póngalos en suspensión (thread.sleep) si hay un inicio de sesión fallido y extienda el tiempo de suspensión o duplíquelo en cada inicio de sesión fallido después. Básicamente, cuanto más intenta el atacante obtener más tiempo de espera, obtiene.

    
respondido por el Finn 28.05.2014 - 09:48
fuente

Lea otras preguntas en las etiquetas