Un repaso práctico a la política de contraseñas por Andrés D. Naranjo, (@theXXLMAN), Analista de ciberinteligencia en ElevenPaths.

Seguramente si tu carrera esta mínimamente relacionada con las tecnologías de la información hayas oído en más de una ocasión que una de las fuentes de vulnerabilidades más importante es la seguridad basada en dúo login/contraseña. Un viejo “vicio” de cómo se creó internet y que está costando bastante de erradicar.

Andrés D. Naranjo, (@theXXLMAN)

Una de las buenas aproximaciones de seguridad de identidad para securizar el proceso de “login” son las soluciones de segundo factor (2FA), aunque como podemos ver en este otro artículo, tampoco son la panacea y menos cuando en ocasiones, tampoco se implementa de la forma adecuada.

Por poner un ejemplo, se vió recientemente en una entidad bancaria que el cógido OTP (one-time-password) enviado por SMS a la hora de solicitar una transacción u otra operación que no fuera meramente de consulta en una entidad bancaria, se podría redireccionar a otro número ya que la sección personal de datos dentro del portal de cliente, permitía editar el número de teléfono, invalidando por tanto, la solución 2FA.

Y tras la convulsa situación en Chile, no era de extrañar que alguna de las protestas viniese en forma de ciberamenaza. Tan sólo hace unos días se ha publicado un listado de 159 pares de credenciales login/contraseña de empleados de metro.cl.

Este tipo de ciberataques, entendidos como “ciberprotesta” o ataques derivados de alguna ideología se denominan “hacktivista” mezclando los términos “hacker” y “activista”. Ver en Wikipedia.

Por un lado, me sorprende sobremanera que haya visto así a bote pronto, muchas contraseñas demasiado comunes. Piensa una, ¡a ver si aciertas!!! Sí, es “123456”. Enhorabuena, ¡has merecido seguir leyendo el artículo!!

De modo que me planteé hacer un pequeño POC para contrastar listas de contraseñas contra los diccionarios más comunes. Así que Python a la obra, con un pequeño script y metiendo los diccionarios en un directorio, no fue difícil y está al alcance de cualquiera. De hecho, seguro que algo así está publicado varias veces, pero me gusta practicar de vez en cuando y no perder la “pantalla negra”.

Si ya era sorprendente el vistazo genérico, no lo fue menos el resultado. En el famoso diccionario “RockYou” (14,3 millones de registros) tenemos 59/159 contraseñas. Dicho de otra manera 37% de las contraseñas usadas en Metro de Chile están en RockYou.txt. Ni que decir tiene que esto es obviamente una vulnerabilidad muy clara si no se han tomado las medidas pertinentes.

Resultado del script (ofuscado)

De hecho 11 de ellas están contenidas en un diccionario mucho menor (10.000 contraseñas) lo cual minimiza y mucho, el tiempo de éxito en un eventual ataque de fuerza bruta. 11 de 159, un 6% de las contraseñas son extremadamente débiles ante un ataque de este tipo.

El pequeño script que permite esta consulta, dado un archivo de texto con las contraseñas, lo he publicado en : https://github.com/XXL-MAN/pwanalyzer

He de reconocer con toda humildad que no he descubierto América con esto, pero seguro que la lógica detrás de esta pequeña prueba de concepto, abre la mente de más de uno, y brinda un nuevo enfoque a la hora de admitir una contraseña como válida.

Se me ocurren un buen número de mejoras, que sin duda, serían muy útiles a la hora de pedir una nueva contraseña a los usuarios. Seguro que los que gestionan sistemas, les suena bastante esta canción.

–         Modificar los diccionarios para incluir sus versiones en hash (comparar hash-hash) y así forzar un cambio de contraseñas para todos los usuarios con contraseñas débiles. Sería bastante útil aunque no partamos de la contraseña en claro, pero sí el usuario que usa ese hash.

–         Incluir una función que devuelva si una contraseña se considera segura o no en base a diccionarios y política de contraseñas definida en True/False.

–         Devolver un valor indicativo de “seguridad” en base a si está en más o menos diccionarios u acorde a la política definida

–         Etc,etc….

Por último, no puedo dejar escapar la oportunidad de hablar de si estas contraseñas (y sus login) se están reusando en otros servicios. De hecho está técnica, conocida como “breach replay” que ya explicaré en otro artículo, es muy conocida por los ciberdelincuentes que luego revenden las cuentas en la “Deep Web”.

Recomendaciones:

–         Forzar una política de contraseñas fuerte.

–         Excluir expresamente las incluidas en los diccionarios de este tipo.

–         Por supuesto, usar una solución 2FA en la medida que sea posible.

Y como no, hablar de LATCH, nuestra solución 2FA en #LaChampionsDeHackers, que podéis descargar gratuitamente para proteger multitud de servicios comunes, dando un mejor nivel de seguridad a todas las cuentas de usuario.

Nos vemos en los servers.

Andrés Naranjo @TheXXLMAN

Noticia fuente: https://www.fayerwayer.com

Nota del autor: Este artículo es una opinión personal y sólo pretende divulgar la necesidad de un uso responsable de la tecnología.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

TE PUEDE GUSTAR

RECIBE LA NEWSLETTER

*Email: *Nombre apellidos: *Empresa: Cargo: Sector:

 
Please don't insert text in the box below!

ARTÍCULOS MÁS RECIENTES

ESCUCHA NUESTRO PODCAST

SÍGUENOS EN RRSS

MÁS COMENTADOS

Ir arriba