Una de las formas como evitamos el acceso sin autorización a nuestra información o a nuestros equipos es usando contraseñas seguras ya que estas solo las conoceremos nosotros pero para nadie es un secreto que al estar accediendo a la red somos vulnerables de ser víctimas de los atacantes sin importar país, nivel económico, conocimientos IT, etc, y el ejemplo más claro lo podemos ver con los recientes ataques ransomware como Wannacry o los ataques DDoS los cuales afectan los servidores DNS y muchas personas fueron afectadas.
1. Vulnerabilidades de las contraseñas
Existen diversos factores que hace de nuestras contraseñas algo inseguro, aunque en realidad es una de las principales recomendaciones de seguridad en la actualidad vamos a ver que detrás de esto no siempre es así.
La primer carencia nivel de seguridad de una contraseña la generamos nosotros mismos al establecer contraseñas poco seguras como números de identificación, secuencia de números o letras, diccionario, entre otras, las cuales con los programas actuales de crack de contraseñas será muy fácil descifrar y tener el acceso requerido:
También encontramos en el mercado una herramienta llamada Recovery Boot Password Reset USB la cual consiste en una memoria USB que conectada al equipo nos permite resetear la contraseña de cualquier usuario simplemente con seleccionarlo, está la conseguimos de forma sencilla:
Como vemos, aunque tengamos contraseñas de 20 caracteres será muy fácil que esta sea robada y el atacante acceda a nuestra información delicada.
2. Cómo funciona la seguridad de las contraseñas en Windows 10
De forma predeterminada Windows 10 almacena las contraseñas de todos los usuarios en una base de datos llamada SAM (Security Account Management - (Administrador de Cuentas de Seguridad) en la ruta
C:\WINDOWS\system32\configY estas contraseñas se almacenan en formato de hash (en hash LM y hash NTLM).
Este registro no puede moverse ni ser copiado mientras el sistema esté en uso y es por este detalle que el software diseñados para crackeo de contraseñas son usados como imagen de disco para atacar desde antes del inicio del sistema operativo.
El formato hash implementado por Windows en el almacenamiento de las contraseñas es unidireccional lo cual convierte la contraseña en un conjunto de caracteres con una longitud fija con el objetivo de que esta no sea descifrada por el atacante.
3. Métodos de hash LM y NTLM en Windows 10
A continuación veremos cómo funcionan estos dos métodos de hash y qué implicaciones tiene en nuestras contraseñas de Windows 10. El método de hash LM es uno de los más antiguos ya que su incursión fue en Windows 95 y hoy en día ya no es funcional.
LM (Lan Manager) es un cifrado inseguro por su diseño debido a que LM no aprovecha bien el número de caracteres de la contraseña y su funcionamiento es básicamente el siguiente:
Supongamos que tenemos la contraseña password123 y así funciona LM hash. En primer lugar divide los caracteres en grupos de siete caracteres y si el largo total de la contraseña es inferior a 14 caracteres completara los espacios con ceros así:
passwor d123000Sobre este grupo de caracteres se aplica un cifrado DES (Data Encryption Standard) de 64 bits. Estos valores se usan para crear una cadena fija con dos valores de 8 bits, por ejemplo, KGM!+#$%.
Los fallos de seguridad con LM son las siguientes:
- En primer lugar convertir todos los caracteres a mayúsculas lo cual facilita un ataque de fuerza bruta para descifrar la contraseña.
- En segundo lugar dividir la contraseña en dos facilita que los programas de fuerza bruta actúen más eficientemente sobre ambos grupos.
De este modo si contamos con una contraseña de 9 caracteres el ataque de fuerza bruta analizar dos grupos, uno de 7 y otro de 2 caracteres haciendo vulnerable la contraseña.
El cifrado NTLM (NTLan manager) es un avance en la seguridad de las contraseñas por parte de Microsoft.
Gracias a NTLM podremos diferenciar las mayúsculas de las minúsculas y el hash se calcula cifrándose con el estándar MD4.
Pero lo critico de este asunto es que Windows seguirá almacenando las contraseñas tanto con LM como NTLM en el mismo lugar haciendo que estas sean vulnerables.
4. Tablas de arco iris o rainbow tables en Windows 10
Este tipo de tablas son uno de los componentes esenciales en todo lo relacionado al crackeo de contraseñas o descifrado de estas ya que recordamos de nuevo que una contraseña se almacena como un hash. Estas tablas de arco iris son básicamente una estructura de datos las cuales proveen información sobre la recuperación de contraseñas en texto plano generadas por funciones hash. Veamos el siguiente gráfico:
[color=#808080]Este gráfico se ha obtenido gracias a la recopilación del [/color][color=#808080]site[/color][color=#808080] de Nick Brown.[/color]
En esta tabla podremos visualizar la forma como la longitud de una contraseña afecta su seguridad. El problema de estas tablas es que en los sistemas de hash modernos, los cuales usan símbolos, caracteres especiales y alfabeto el tamaño puede llegar a ser de varias gigas.
5. Usar salt en hash Windows 10
Dentro de las posibilidades de seguridad en los hashes de las contraseñas está la posibilidad de añadir un hash a esta. Un salt es un número definido de caracteres aleatorios añadidos al hash bien sea al principio o final de este. Esto aumenta la seguridad ya que los atacantes no deberán solo tratar de descifrar la contraseña sino también las combinaciones del hash. Por ejemplo, tenemos lo siguiente:
- Usamos la contraseña Solvetic y obtendremos el siguiente hash sin salt:
5A-A3-8B-48-A7-1D-91-CF-F9-39-3D-97-E7-A1-87-3C
- Usamos la contraseña %&RwSolvetic (agregando un salt de 4 dígitos) y el hash obtenido será el siguiente:
32-04-91-78-C4-9B-A2-A9-28-CD-BD-35-B2-CA-B4-B5
6. Ataque a contraseñas en Windows 10
En las nuevas ediciones de Windows 10 se ha implementado NTLMv2 el cual nos ofrece mejoras a nivel de seguridad como lo son:
- Claves separadas por confidencialidad e integridad del mensaje.
- Impide ataques de texto plano.
- Está basado en encriptación MD5.
- Incluye HMAC para comprobar la integridad del mensaje.
Para proteger nuestras contraseñas debemos conocer cuáles son los hashes de estas y, como hemos mencionado, no es posible realizarlo con el sistema operativo activo, usaremos una herramienta gratuita llamada Hash Suite la cual podremos descargar en el siguiente enlace.
Una vez descargada, extraemos el contenido y ejecutamos el instalador de 32 o 64 bits según sea la arquitectura de nuestro equipo. Para importar los hashes actuales vamos al icono de Llave y seleccionamos la opción Import / Local accounts. De este modo desplegaremos los hashes en nuestro sistema.
7. Crackear los hashes en Windows 10
Para comprobar la seguridad de nuestros hashes en Windows 10 podemos hacer uso de programas en línea que nos permiten verificar la integridad del hash, algunos de estos son:
Allí debemos ingresar el hash obtenido y verificar su seguridad.
8. Mejorar seguridad de nuestras contraseñas en Windows 10
No olvidéis todas estas recomendaciones para tener unas contraseñas que sean realmente seguras.
Como Solvetic ha mencionado en diversas ocasiones, el paso inicial de seguridad depende de nosotros mismos, por lo cual recomendamos tener en cuenta los siguientes consejos:
- En primer lugar la longitud de la contraseña garantiza su vulnerabilidad a ataques de cualquier tipo, si contamos con una contraseña de 6 caracteres seremos altamente vulnerables, lo aconsejables es que sea mínimo de 12 caracteres pero optimo 16 y usando una combinación entre mayúsculas, minúsculas y caracteres especiales.
- Hacer uso de herramientas del propio sistema operativo como SysKey la cual cifra el contenido de la contraseña hash usando un cifrado de 28 bits con clave de cifrado RC4.
- Para hacer uso de esta opción basta con usar la combinación de teclas + R y en la ventana desplegada ejecutar el comando syskey
Usar herramientas de encriptación como Zip It, las cuales permiten la encriptación de múltiples parámetros del sistema operativo, de modo que si alguien logra tener acceso al sistema la información allí alojada estará cifrada. Zip It puede ser descargada en el siguiente enlace.
Alternativamente tenemos a mano otras opciones de seguridad como cifrar la BIOS con contraseña, de este modo será requerida una contraseña para iniciar el sistema o bien usar Windows Hello para acceder usando funciones biométricas.
Hemos visto cómo usar la contraseña en Windows no siempre es una garantía de que estamos protegidos y por ello cada día debemos estar más atentos a las nuevas amenazas y estar un paso delante de ellas. Recomendamos programas más robustos como VeraCrypt o similares para resguardar tu información o discos de forma realmente segura.