#1 Rainbowcrack : "la herramienta" para crackear los passwords de los sistemas operativo ta interesante la nota
Newsletter Nro. 12.
COR Technologies - NEX - Secure105
Rainbowcrack : "la herramienta" para crackear los passwords de los sistemas operativos Windows.
Reports en IT #3 por Carlos Vaughn-O'Connor
En NEX IT Specialist de Septiembre 2004 se publicó un articulo sobre Rainbowcrack. Rainbowcrack es "la" herramienta para cracking de passwords en Sistemas Operativos Windows.
En lo que sigue, daré una pequeña introducción para entender la idea de autenticación, los protocolos usados más comunes del mundo Windows, para finalmente aprender sobre password cracking y Rainbowcrack.
Identificación, Autenticación, Autorización y Responsabilidad (Accountability).
Cuando un sujeto (entendido como un usuario, un programa o un proceso) desea acceder a un recurso, muchas veces se utiliza la palabra "autenticación", englobando cuatro procesos:
Identificación: describe el método de asegurarme que el sujeto existe en la base de datos de los sujetos que pueden acceder a los recursos. Esto se logra tipeando el UID o número de cuenta.
Autenticación: el sujeto debe proveer un segundo elemento identificatorio. Puede ser su password, passphrase, llave criptográfica, un PIN (Personal Identification Number), atributo anatómico o un token.
Estas dos piezas son comparadas con la información almacenada anteriormente en la base de datos sobre este sujeto. Si existe coincidencia el sujeto está identificado y autenticado.
El sujeto ahora intentará acceder a algún recurso o realizar alguna acción. ¿Tiene asignado ese derecho o privilegio? (no todos los sujetos autenticados podrán realizar las mismas acciones ni acceder a los mismos recursos). El sistema buscará en algún tipo de lista, matriz o etiquetas de seguridad que le dirán si está autorizado o no. Este proceso se llama la Autorización (por ejemplo: autorizado a leer información, escribirla, en qué horarios, etc.)
Responsabilidad (Accountability): el sujeto deberá ser responsable de sus acciones. En el sistema que él accede existirán log files y medidas de monitoreo y auditoría donde se registrarán todas las acciones que realice el sujeto.
Instancias de autenticación.
Existen muchas instancias en las que un usuario debe autenticarse en una red. Entre otras:
1. un logon a la red de la empresa
2. cuando accede remotamente a la red de la empresa (dial-up o mediante una VPN a través de Internet)
3. Acceso a un web-server desde su web-browser en una intranet o desde internet.
4. Acceso wireless a un access point.
Cada uno de ellos tiene sus métodos y protocolos de autenticación.
Protocolos de autenticación de acceso a una red (caso 1. del párrafo anterior) bajo sistemas operativos Windows
Los siguientes protocolos son soportados por Windows NT: LAN Manager (LM), NTLM, NTLMv2. Windows 2000-2003 y XP usan Kerberos v5 como el método de autenticación por default si utilizan Active Directory (AD). Ya que es muy posible que en nuestra infrestructura tengamos clientes "legacy" (Windows 95,98 etc) NT, Windows 2000/2003 y XP también soportan las autenticaciones anteriores (LM, NTLM y NTLMv2). Hay que recordar que éstas son autenticaciones más débiles que Kerberos y por lo tanto mucho más sencillas de comprometer.
En cada una de estas metodologías varían la complejidad de los passwords permitidos, el modo de transmitir la información vía la red y dónde y cómo se almacenan las passwords.
Passwords
Las passwords de los usuarios componen uno de los riesgos más grande a la seguridad de las redes. Este riesgo incluye: la creación de las passwords, el modo en que los usuarios las protegen, cómo el sistema operativo las guarda y cómo las password son transmitidas a través de la red.
El sistema operativo es el responsable de guardar y transmitir a través de la red las "credenciales" (nombre de usuario y password) para las cuentas.
Windows 2000/2003 y XP soportan una variedad de distintos protocolos para transmitir las credenciales. También existen una variedad de formas de guardar las credenciales.
Técnicas de cracking de passwords
1. Ataque de diccionario
Utiliza un archivo que contiene palabras del diccionario. Usando el mismo algoritmo que usa Windows para crear el hash de los passwords, los compara con los hashes que el sistema operativo Windows tiene guardados.
2. Ataque heurístico
Se utiliza el conocimiento de cómo la mayor parte de los usuarios construyen sus passwords (por ejemplo agregado de números al final de palabras etc.) como ayuda para ir generando los passwords para comparar.
3. Ataque Brute Force (Fuerza Bruta).
Simplemente prueba todas las combinaciones posibles de caracteres.
Historia de L0pht crack
Hace unos años The L0pht mostró la debilidad de la autenticación LM de Windows. L0pht introdujo su programa de crackeo de passwords. Y, se transformó en el programa más popular de password-craking del sistema operativo Windows. L0phtcrack LC5 (ver atstake INC., www.atstake.com), es una herramienta administrativa muy respetada y LM ha sido reemplazada por NTLM, NTLMv2 y Kerberos v5. Pero, hoy LC5 ha sido superado por Rainbowcrack.
Sobre Rainbowcrack
Utilizando un método llamado Master-Time memory Trade-Off Technique (basada en trabajos anteriores de Hellman), Phillipe Oechslin propuso una metodología capaz de crackear los passwords de Windows LM 12 veces más veloz que LC5. La idea es muy simple y se basa en usar tablas pre-calculadas con los hashes de todas las combinaciones posibles de caracteres en los passwords de Windows. Esto, junto a un algoritmo de búsqueda muy eficiente logra el factor 12 antes mencionado. Su trabajo original puede verse en http://lasecwww.epfl.ch/php_code/publications/search.php?ref=Oech03
El método fue originalmente introducido para el protocolo LM, pero hoy es posible aplicarlo a NTLMv2 que permite utilizar el conjunto de caracteres Unicode (con mayúsculas y minúsculas) y usar hasta 128 caracteres (LM permitía solo 14 y mayúsculas)
Al algoritmo se lo llama "Rainbowcrack".
¿Porqúe el factor 12 de Rainbow Crack es tan importante?
El factor tiempo ha sido siempre considerado el más importante en password-cracking: si los passwords son suficientemente complejos, lleva mucho tiempo poder crackearlas y las hace seguras. Hoy máquinas mucho más poderosas, maquinas que pueden actuar en conjunto y ahora Rainbowcrack contribuyen a reducir los tiempos de crackeo.
Sin embargo existen una serie de acciones que podemos hacer para proteger nuestros sistemas de password cracking.
1. Utilizar protocolos de autenticación fuertes.
2. Utilizar protocolos de acceso remoto fuertes.
3. Utilizar comunicaciones seguras.
4. Proteger las bases de datos de las passwords.
5. Investigar las técnicas de password cracking.
6. Forzar políticas de passwords y realizar entrenamientos de concientización y auditorías de passwords.
Importancia de investigar las técnicas de password cracking
Un programa de password cracking será una excelente inversión para el grupo de seguridad de la empresa. Conocer las herramientas que un posible intruso usará nos preparará para la defensa. Tendremos noción de las posibles metodologías y más importante aún de los tiempos que puede llevar realizar un cracking de passwords en nuestros sistemas.
LC5 de atstake Inc. ha sido desde hace años la herramienta para permitirnos entender y realizar auditorias de passwords. LC5, también utiliza tablas de RainbowCrack.
Sin uno desea testear las tablas de RainbowCrack directamente, existe un gran número de web-sites con información detallada.
Referencias:
1. NEX IT Specialist # 10, pag. 26, Septiembre 2004.
2. Microsoft Windows Security Resource Kit porMicrosoft Corporation, Ben Smith, Brian Komar, Elliot Lewis, y miembros de MS security Team. Microsoft Press.
saludos!
Newsletter Nro. 12.
COR Technologies - NEX - Secure105
Rainbowcrack : "la herramienta" para crackear los passwords de los sistemas operativos Windows.
Reports en IT #3 por Carlos Vaughn-O'Connor
En NEX IT Specialist de Septiembre 2004 se publicó un articulo sobre Rainbowcrack. Rainbowcrack es "la" herramienta para cracking de passwords en Sistemas Operativos Windows.
En lo que sigue, daré una pequeña introducción para entender la idea de autenticación, los protocolos usados más comunes del mundo Windows, para finalmente aprender sobre password cracking y Rainbowcrack.
Identificación, Autenticación, Autorización y Responsabilidad (Accountability).
Cuando un sujeto (entendido como un usuario, un programa o un proceso) desea acceder a un recurso, muchas veces se utiliza la palabra "autenticación", englobando cuatro procesos:
Identificación: describe el método de asegurarme que el sujeto existe en la base de datos de los sujetos que pueden acceder a los recursos. Esto se logra tipeando el UID o número de cuenta.
Autenticación: el sujeto debe proveer un segundo elemento identificatorio. Puede ser su password, passphrase, llave criptográfica, un PIN (Personal Identification Number), atributo anatómico o un token.
Estas dos piezas son comparadas con la información almacenada anteriormente en la base de datos sobre este sujeto. Si existe coincidencia el sujeto está identificado y autenticado.
El sujeto ahora intentará acceder a algún recurso o realizar alguna acción. ¿Tiene asignado ese derecho o privilegio? (no todos los sujetos autenticados podrán realizar las mismas acciones ni acceder a los mismos recursos). El sistema buscará en algún tipo de lista, matriz o etiquetas de seguridad que le dirán si está autorizado o no. Este proceso se llama la Autorización (por ejemplo: autorizado a leer información, escribirla, en qué horarios, etc.)
Responsabilidad (Accountability): el sujeto deberá ser responsable de sus acciones. En el sistema que él accede existirán log files y medidas de monitoreo y auditoría donde se registrarán todas las acciones que realice el sujeto.
Instancias de autenticación.
Existen muchas instancias en las que un usuario debe autenticarse en una red. Entre otras:
1. un logon a la red de la empresa
2. cuando accede remotamente a la red de la empresa (dial-up o mediante una VPN a través de Internet)
3. Acceso a un web-server desde su web-browser en una intranet o desde internet.
4. Acceso wireless a un access point.
Cada uno de ellos tiene sus métodos y protocolos de autenticación.
Protocolos de autenticación de acceso a una red (caso 1. del párrafo anterior) bajo sistemas operativos Windows
Los siguientes protocolos son soportados por Windows NT: LAN Manager (LM), NTLM, NTLMv2. Windows 2000-2003 y XP usan Kerberos v5 como el método de autenticación por default si utilizan Active Directory (AD). Ya que es muy posible que en nuestra infrestructura tengamos clientes "legacy" (Windows 95,98 etc) NT, Windows 2000/2003 y XP también soportan las autenticaciones anteriores (LM, NTLM y NTLMv2). Hay que recordar que éstas son autenticaciones más débiles que Kerberos y por lo tanto mucho más sencillas de comprometer.
En cada una de estas metodologías varían la complejidad de los passwords permitidos, el modo de transmitir la información vía la red y dónde y cómo se almacenan las passwords.
Passwords
Las passwords de los usuarios componen uno de los riesgos más grande a la seguridad de las redes. Este riesgo incluye: la creación de las passwords, el modo en que los usuarios las protegen, cómo el sistema operativo las guarda y cómo las password son transmitidas a través de la red.
El sistema operativo es el responsable de guardar y transmitir a través de la red las "credenciales" (nombre de usuario y password) para las cuentas.
Windows 2000/2003 y XP soportan una variedad de distintos protocolos para transmitir las credenciales. También existen una variedad de formas de guardar las credenciales.
Técnicas de cracking de passwords
1. Ataque de diccionario
Utiliza un archivo que contiene palabras del diccionario. Usando el mismo algoritmo que usa Windows para crear el hash de los passwords, los compara con los hashes que el sistema operativo Windows tiene guardados.
2. Ataque heurístico
Se utiliza el conocimiento de cómo la mayor parte de los usuarios construyen sus passwords (por ejemplo agregado de números al final de palabras etc.) como ayuda para ir generando los passwords para comparar.
3. Ataque Brute Force (Fuerza Bruta).
Simplemente prueba todas las combinaciones posibles de caracteres.
Historia de L0pht crack
Hace unos años The L0pht mostró la debilidad de la autenticación LM de Windows. L0pht introdujo su programa de crackeo de passwords. Y, se transformó en el programa más popular de password-craking del sistema operativo Windows. L0phtcrack LC5 (ver atstake INC., www.atstake.com), es una herramienta administrativa muy respetada y LM ha sido reemplazada por NTLM, NTLMv2 y Kerberos v5. Pero, hoy LC5 ha sido superado por Rainbowcrack.
Sobre Rainbowcrack
Utilizando un método llamado Master-Time memory Trade-Off Technique (basada en trabajos anteriores de Hellman), Phillipe Oechslin propuso una metodología capaz de crackear los passwords de Windows LM 12 veces más veloz que LC5. La idea es muy simple y se basa en usar tablas pre-calculadas con los hashes de todas las combinaciones posibles de caracteres en los passwords de Windows. Esto, junto a un algoritmo de búsqueda muy eficiente logra el factor 12 antes mencionado. Su trabajo original puede verse en http://lasecwww.epfl.ch/php_code/publications/search.php?ref=Oech03
El método fue originalmente introducido para el protocolo LM, pero hoy es posible aplicarlo a NTLMv2 que permite utilizar el conjunto de caracteres Unicode (con mayúsculas y minúsculas) y usar hasta 128 caracteres (LM permitía solo 14 y mayúsculas)
Al algoritmo se lo llama "Rainbowcrack".
¿Porqúe el factor 12 de Rainbow Crack es tan importante?
El factor tiempo ha sido siempre considerado el más importante en password-cracking: si los passwords son suficientemente complejos, lleva mucho tiempo poder crackearlas y las hace seguras. Hoy máquinas mucho más poderosas, maquinas que pueden actuar en conjunto y ahora Rainbowcrack contribuyen a reducir los tiempos de crackeo.
Sin embargo existen una serie de acciones que podemos hacer para proteger nuestros sistemas de password cracking.
1. Utilizar protocolos de autenticación fuertes.
2. Utilizar protocolos de acceso remoto fuertes.
3. Utilizar comunicaciones seguras.
4. Proteger las bases de datos de las passwords.
5. Investigar las técnicas de password cracking.
6. Forzar políticas de passwords y realizar entrenamientos de concientización y auditorías de passwords.
Importancia de investigar las técnicas de password cracking
Un programa de password cracking será una excelente inversión para el grupo de seguridad de la empresa. Conocer las herramientas que un posible intruso usará nos preparará para la defensa. Tendremos noción de las posibles metodologías y más importante aún de los tiempos que puede llevar realizar un cracking de passwords en nuestros sistemas.
LC5 de atstake Inc. ha sido desde hace años la herramienta para permitirnos entender y realizar auditorias de passwords. LC5, también utiliza tablas de RainbowCrack.
Sin uno desea testear las tablas de RainbowCrack directamente, existe un gran número de web-sites con información detallada.
Referencias:
1. NEX IT Specialist # 10, pag. 26, Septiembre 2004.
2. Microsoft Windows Security Resource Kit porMicrosoft Corporation, Ben Smith, Brian Komar, Elliot Lewis, y miembros de MS security Team. Microsoft Press.
saludos!
0