Challenge/Response en Windows NT



Documentos relacionados
Fig. 1: Secuencia de mensajes de la autenticación Kerberos

Los elementos que usualmente componen la identidad digital son:

Capa de Aplicación (Parte 2 de 2)

Control de acceso para aplicaciones Web

1. Solicitando una cuenta de correo a nuestro proveedor de Internet. 2. Adquiriendo una cuenta de correo a través de la web (webmail).

Centro de Capacitación en Informática

Publicación del sitio web en internet. Equipo 6

SOLICITUD DE ALTA(A), REHABILITACIÓN(R) Y BAJA(B)

Encriptación en Redes

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

Manual Desarrollador Externo

MENSAREX: SISTEMA DE MENSAJERÍA DEL MINREX Gretel García Gómez Ministerio de Relaciones Exteriores Cuba.

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

MANUAL DEL USUARIO Y GUÍA DE SOPORTE TÉCNICO

MANUAL DE USUARIO UTILIZACIÓN DE LA EXTRANET

Guías técnicas Grupo Danysoft: Aplicaciones Web seguras con ASP.NET

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

Combinar comentarios y cambios de varios documentos en un documento

La ventana de Microsoft Excel

Google Calendar. Google Calendar

OBTENER DATOS EXTERNOS

INDEX GUÍA INSTRUCTIVA PARA PASOS INICIALES DEL SITE BUILDER

GUÍA PARA LA FORMULACIÓN PROYECTOS

Porqué Nemetschek cambió su sistema de protección de software a NemSLock?

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

INTRODUCCIÓN A LA CONTABILIDAD DE COSTOS DEFINICIÓN

Formularios HTML. Elementos de Programación y Lógica

Instalación y Configuración del IIS para la facturación WEB en Aspel-SAE 6.0

3.1 Introducción a Wireshark

Configuración de Aspel-SAE 6.0 para trabajar Remotamente

1. Definición. Joaquín Requena 1580 Of. 102 Montevideo Uruguay Teléfonos: *

Solución al Reto Hacking v2.0 de Informática 64

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

MANUAL DE USUARIO SICVECA DESKTOP. Código: R-02-I-IF-312 Versión: de 19 SICVECA DESKTOP. Manual de Usuario Versión 1.0.

Ataques Web Automáticos: Identificación, Engaño y Contraataque

Encuentro Internacional sobre

CÓMO CREAR UNA PÁGINA WEB v.1

Análisis de propuestas de evaluación en las aulas de América Latina

Luis Eduardo Barón Bienvenidos al Módulo N. 3 de Internet Para Emprendedores. Yo soy Luis Eduardo Barón. Álvaro Mendoza Y yo soy Álvaro Mendoza.

MANUAL DE USUARIO MÓDULO Web

Lección 24: Lenguaje algebraico y sustituciones

SISTEMA DE APARTADO DE SALAS PARA EVENTOS

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

Guía de seguridad de Facebook

PrefDataImporter Manual de Usuario Noviembre de 2013

Botón de Pago Instapago versión 1.1 TECNOLOGÍA INSTAPAGO C.A.

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

HERRAMIENTAS DE ACCESS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Conceptos de redes. LAN (Local Area Network) WAN (Wide Area Network)

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

MANUAL DE USUARIO DE OFICINA CONECTADA

Práctica de laboratorio 5.5.1: Examen del gateway de un dispositivo

Sistema de Mensajería Empresarial para generación Masiva de DTE

Internet aula abierta

MATERIAL 2 EXCEL 2007

Qué es necesario para conectarse a Internet?

PROCESO DE ALTA EN EL PORTALCIUDADANO DEL AYUNTAMIENTO DE ALCORCON

PREVENCIÓN DE DAÑOS EN TEXAS

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

VIVIENDO EN LÍNEA. IC3 Redes

INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

Tener la WiFi abierta implica tener nuestra conexión a Internet compartida, además de otros riesgos:

Líneas de espera. Introducción.

Diseño Estructurado de Algoritmos

ITACA - Entrada al sistema ITACA: Describe como entrar al sistema y los problemas típicos asociados al acceso a un sistema informático

GUÍA DE INSTALACIÓN Y USO PISIS CLIENTE

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Contraseñas seguras: Cómo crearlas y utilizarlas

VULNERABILIDADES CRIPTOGRÁFICAS. Por Alexandre Ramilo Conde y Pablo Prol Sobrado

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

GUÍA BÁSICA DE USO DEL SISTEMA RED

Modelos de uso de las Soluciones de Autenticación para Banca a Distancia

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005

Guía de migración a firma HMAC SHA256 Conexión por Redirección

Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente

Internet Explorer proporciona diversas características que le ayudan a proteger su privacidad y

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

MANUAL MODULO CONVOCATORIAS TRANSFERENCIA DE CONTENIDO COLCIENCIAS - SIIU

Internet Information Server


Conceptos Generales en Joomla

ECONOMÍA SOCIAL SOLIDARIA

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

Informar a los usuarios de la aplicación FDAA de cómo usarla

MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

El proceso de edición digital en Artelope y CTCE

Práctica 1. Uso básico de servicios cliente-servidor

La dirección de la página de la plataforma electrónica es:

Diseño y desarrollo de una aplicación informática para la gestión de laboratorios

DIRECCIONAMIENTO IPv4

Transcripción:

Trabajo práctico final Challenge/Response en Windows NT Materia: 66.69 Criptografía y seguridad informática Facultad de Ingeniería Universidad de Buenos Aires Alumnos: Lucas P. Diodati (70878) Darío A. Paita (71791) Septiembre de 1998

Objetivo Analizar el uso de Challenge/Response como medio de validación del servicio Internet Infomation Server (IIS) en el entorno del sistema operativo Windows NT 4.0 de Microsoft y estudiar sus vulnerabilidades. Introducción Es común que recursos compartidos en una Intranet o en Internet no estén ofrecidos a todo el mundo. Para realizar la autenticación de los usuarios autorizados se utilizan distintos métodos de validación. Algunos ofrecen más seguridad que otros pero lo que se intenta buscar en la su implementación es aumentar la confiabilidad del proceso. Entre estos métodos existe una conocido como Challenge/Response en el que se la validación del usuario se realiza intercambiando cierta información que revela de forma indirecta la identidad del cliente. La primera parte de este trabajo consiste en la descripción del mecanismo Challenge/Response general. Luego se describirá el algoritmo concreto utilizado por Windows NT para implementar este mecanismo. Y posteriormente se analizará un caso práctico concreto a partir de la captura de tráfico sobre una red que utilizada este método y se obtendrán conclusiones de la vulnerabilidad del sistema. Qué es el Challenge/Response? El mecanismo de Challenge/Response (Desafío/Respuesta) tiene como objetivo principal realizar la validación de un usuario mediante su Nombre de Usuario (username) y Password evitando el traslado de esa información a través de la red. Está pensado sobre todo para redes de carácter público en las que se está expuesto a un ataque de sniffing o Man-in-the-middle. Si pensamos en un esquema de validación de usuario, existen generalmente dos computadoras. Una generalmente donde se encuentra un usuario y otra donde se encuentra un recurso o servicio al cual aquel pretende acceder o utilizar. El método de validación juega un papel fundamental cuando al recurso que se comparte no se le desea dar acceso a cualquier persona sino a las predeterminadas en una lista. El mecanismo de Challenge/Response se basa en un intercambio de preguntas y respuestas entre ambas computadoras. En este diálogo cada participante devuelve los datos que le son enviados transformándolos por un método único y predefinido para el cual usa la información propia de validación. Usualmente este método es una encripción que enmascara la información privada del usuario, para nuestro caso el password. Challenge/Response en Windows NT 4.0 El mecanismo de Challenge/Response, llamado, fue elegido por Microsoft para implementar la validación de los usuarios que acceden a los recursos compartidos del servicio de publicación de páginas web o HTTP, servicios de FTP y Gopher sobre el sistema operativo Windows NT 4.0. Es la forma más segura que tiene este sistema operativo para determinar la autenticidad de quien está realizando el pedido de cierto recurso a través de una red pública como lo es Internet. En qué casos se requiere el uso de este mecanismo? Cuando no esté permitido el acceso anónimo al servidor, cuando el recurso al que se quiere acceder no esté habilitado para el usuario anónimo, y cuando el sistema de Challenge/Response esté habilitado en el servicio IIS y cuando el cliente del servicio soporte este mecanismo. Cómo se inicia este mecanismo? Cuando el cliente y el servidor satisfacen las condiciones antes enumeradas se inicia el mecanismo de la siguiente manera: 1. El cliente solicita un recurso al servidor, por ejemplo una página web. 2. El servidor verifica que esta página no es accesible por el usuario anónimo. Entonces responde con un mensaje de acceso denegado estándar (HTTP 401) pero incluyendo Facultad de Ingenieria Universidad de Buenos Aires Página 2 de 14

en el mismo la lista de los métodos de validación que acepta, para nuestro caso Challenge/Response (). 3. Si el cliente soporta este tipo de autenticación vuelve a pedir la página. 4. El servidor contesta por segunda vez con un mensaje de acceso denegado (HTTP 401) pero incluye en el mismo una cadena de caracteres generada en forma aleatoria, el Challenge. 5. El cliente, al recibirla, la encripta utilizando el hash de su password como clave privada, generando así un nuevo hash único y privado para esta transacción. 6. La conexión entre cliente y servidor se marca como Keep-Alive. 7. El nuevo hash generado por el cliente, el nombre del usuario y el dominio son enviados al servidor a través de la misma conexión. Solamente alguien que posee el has del password del usuario y el Challenge puede generar este nuevo hash. 8. El servidor una vez que recibe estos tres parámetros, los envía junto con el Challenge original al controlador de dominio para que realice la verificación. 9. El controlador de dominio que puede estar funcionando o no en el mismo servidor de IIS realiza la verificación del password según los datos enviados desde el cliente y la base de datos de usuarios (SAM). Para esto realiza la encripción del Challenge utilizando el hash del password del usuario que está almacenado en la base de datos (SAM). El hash resultado de esta encripción es comparado con el hash enviado por el cliente para realizar la autenticación. 10. Si el proceso resulta exitoso se le devuelve al cliente la página solicitada. Si hay un intruso escuchando o capturando tráfico mientras este mecanismo se realiza no tendrá la posibilidad de dar con el password del usuario sino con un hash resultado de una cadena de caracteres aleatorios más otro hash (el del password del usuario). Codificación del Challenge A continuación se explicará el método utilizado para realizar la codificación del Challenge a partir del hash del password. Este proceso es realizado tanto por el cliente al querer autenticarse como por el controlador de dominio al realizar la validación. Como se explicaba en párrafos anteriores, el Challenge consiste en una cadena de caracteres generada aleatoriamente por el servidor que desafía al cliente a demostrar su identidad. Para el entorno de Windows NT 4.0 se ha fijado un tamaño de Challenge de 8 bytes codificados en base 64 (letras mayúsculas, minúsculas, números y algunos signos). Por su lado, el cliente posee el hash del password correspondiente al usuario que se quiere autenticar, el hash utilizado es el MD4. El tamaño del hash del password es de 16bytes. A éstos se les concatenan 5 bytes nulos obteniendo un nuevo hash de 21 bytes. Este último hash es a su vez separado en 3 partes de 7 bytes cada una. 16 bytes del hash del Password 5 bytes Nulos Primeros 7 bytes Segundos 7 bytes Terceros 7 bytes Ejemplo: C23413A8A1E7665FAAD3B435B51404EE 0000000000 C23413A8A1E766 5FAAD3B435B514 04EE0000000000 Cada una de las cadenas de 7 bytes representan las claves para realizar las encripciones utilizando el algoritmo DES. Para ello se transforman en claves de 8 bytes de paridad impar utilizando la API conocida como STR_TO_KEY. Cada una de esas claves se utiliza para encriptar de forma separada el Challenge. Y los resultados de la encripción de estos tres procesos se concatenan en el mismo orden de las partes Facultad de Ingenieria Universidad de Buenos Aires Página 3 de 14

originales para formar un Response de 24 bytes. Este último es devuelto por el cliente para realizar la autenticación y es usado también por el controlador de dominio para realizar la validación. Facultad de Ingenieria Universidad de Buenos Aires Página 4 de 14

Armado del Response a partir del Challenge 16 bytes del hash del Password 5 bytes Nulos Primeros 7 bytes Segundos 7 bytes Terceros 7 bytes C23413A8A1E766 5FAAD3B435B514 04EE0000000000 Challenge de 8 bytes 0001020304050607 8 bytes (7 bytes más paridad) 8 bytes (7 bytes más paridad) 8 bytes (7 bytes más paridad) DES DES DES 8 bytes 8 bytes 8 bytes Response Facultad de Ingenieria Universidad de Buenos Aires Página 5 de 14

Captura de tráfico HTTP Captura de tráfico durante una validación completa Nombre de Computadora Cliente: MONITOR Nombre de Servidor HTTP: ARTEARNT5 PETICIÓN HTTP El cliente pide el recurso al IIS del servidor. RESPUESTA HTTP Primera respuesta negativa del servidor. PETICIÓN HTTP El cliente vuelve a pedir el recurso al IIS del servidor. RESPUESTA HTTP Segunda respuesta negativa del servidor. PETICIÓN HTTP El cliente vuelve a pedir el recurso al IIS del servidor con la codificación del Challenge. RESPUESTA HTTP El servidor informa de la validación GET /cables/default.asp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: es Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT) Host: artearnt5 Connection: Keep-Alive HTTP/1.0 401 Access Denied Server: Microsoft-IIS/3.0 Date: Thu, 17 Sep 1998 19:58:35 GMT Content-type: text/html Set-Cookie: ASPSESSIONID=UZDRQZHNBNKYOIFU; path=/ Cache-control: private GET /cables/default.asp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: es Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT) Host: artearnt5 Connection: Keep-Alive Cookie: ASPSESSIONID=UZDRQZHNBNKYOIFU Authorization: TlRMTVNTUAABAAAAA7IAAAYABgAnAAAABwAHACAAAABNT05JVE9S QVJURUFS TlRMTVNTUAACAAAAAAAAACgAAAABggAA4LXJniOAB7cAAAAAAAAA AE== Connection: keep-alive GET /cables/default.asp HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Accept-Language: es Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT) Host: artearnt5 Connection: Keep-Alive Cookie: ASPSESSIONID=UZDRQZHNBNKYOIFU Authorization: TlRMTVNTUAADAAAAGAAYAHQAAAAYABgAjAAAAAwADABAAAAAGg AaAEwAAAAOAA4AzgAAAAAAAACkAAAAAYIAAEEAUgBUAEUAQQBS AGEAZABtAGkAbgBpAHMAdAByAGEAZABvAHIATQBPAE4ASQBUAE8 AUgDZgj8+ypwPrge+6CcxQxcTEb8q8UsqlmFuzblaqgq6nC5HcoP5TQnVu e7dia7b6ng= HTTP/1.0 200 OK Server: Microsoft-IIS/3.0 Date: Thu, 17 Sep 1998 19:58:36 GMT Facultad de Ingenieria Universidad de Buenos Aires Página 6 de 14

positiva al cliente. RESPUESTA HTTP El servidor le envía la página solicitada al cliente. Content-type: text/html Set-Cookie: ASPSESSIONID=BGIFUVQNSFVPQQLR; path=/ Cache-control: private <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="microsoft FrontPage 3.0"> <title>cables</title> </head> <frameset rows="15%,*,8%"> <frame FRAMEBORDER=0 MARGINHEIGHT=2 name="main" src="agencias.asp"> <frameset cols="30%,*" rows="100%,*"> <frame FRAMEBORDER=1 name="titulos" scrolling="auto" src="tituloshtm.asp"> <frame FRAMEBORDER=0 name="cable" scrolling="auto" src="bienvenida.asp"> </frameset> <frame FRAMEBORDER=0 name="toolbarinf" scrolling="auto" src="urgen.asp"> <noframes> <body> <p>esta página usa frames y su browser no lo soporta.</p> </body> </noframes> </frameset> </html> Captura de tráfico durante reiteradas peticiones PETICIÓN HTTP El cliente pide el recurso al IIS del servidor. 1er RESPUESTA HTTP 2da. RESPUESTA HTTP 3er. RESPUESTA HTTP 4ta. RESPUESTA HTTP 5ta. RESPUESTA HTTP GET /cables/ HTTP/1.0 User-Agent: http sample Host: www.canal13.artear.com.ar Authorization: TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAA AAAAAwAAAA TlRMTVNTUAACAAAABgAGACgAAAAGggEAjfECy0wSyO4AAAAAAAAAAEFS VEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAXW2Dnt3hPjwAAAAAAAAAAEFS VEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAlbbZ5LVy1wMAAAAAAAAAAEFS VEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEA3uf/rEnKASkAAAAAAAAAAEFSV EVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAn8/o5faWuG8AAAAAAAAAAEFS VEVBUg== Facultad de Ingenieria Universidad de Buenos Aires Página 7 de 14

6ta. RESPUESTA HTTP RESPUESTA HTTP RESPUESTA HTTP TlRMTVNTUAACAAAABgAGACgAAAAGggEAImdqXz1YGmsAAAAAAAAAAEF SVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAi05VTXIrq8IAAAAAAAAAAEFSV EVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEA6NnlK4vT8L0AAAAAAAAAAEFS VEVBUg== Extracción de los Challenge de la captura anterior TlRMTVNTUAACAAAABgAGACgAAAAGggEAjfECy0wSyO4AAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAXW2Dnt3hPjwAAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAlbbZ5LVy1wMAAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEA3uf/rEnKASkAAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAn8/o5faWuG8AAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAImdqXz1YGmsAAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAi05VTXIrq8IAAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEA6NnlK4vT8L0AAAAAAAAAAEFSVEVBUg== TlRMTVNTUAACAAAABgAGACgAAAAGggEAs9Hu/HtvRroAAAAAAAAAAEFSVEVBUg== Facultad de Ingenieria Universidad de Buenos Aires Página 8 de 14

Vulnerabilidades Por Fuerza Bruta La validación a través de Challenge-Response actualmente solo puede hacerse si en la máquina cliente se utiliza el browser Internet Explorer (IE) versiones 3.02 o 4.x de Microsoft. En el Website de Microsoft existe un Plug-in para poder utilizar este método en el browser Navigator versiones 2.x y 3.x de Netscape, orientado especialmente a los servicios de Proxy de Microsoft que utilizan este método para validar a los usuarios. Si se piensa en realizar un ataque de fuerza bruta sobre tres DES esto puede llevar mucho tiempo, pero a partir de cómo está implementada la seguridad en Windows esto se reduce apreciablemente. En la mayoría de los casos solo habrá que realizar un ataque de fuerza bruta sobre uno de los DES nada más. El proceso empieza capturando de alguna forma los pares de CHALLENGEs generados aleatoriamente por el servidor y RESPONSEs armados según el hash del password del usuario a partir del Challenge. Como se explicaba en párrafos anteriores para armar el Response el cliente concatena 5 bytes nulos al hash del password y divide estos 21 bytes en grupos de 7 bytes. Estos 7 bytes son las claves utilizadas para tres DES junto con el Challenge 16 bytes del hash del Password 5 bytes nulos Challenge de 8 bytes Primeros 7 bytes Segundos 7 bytes Terceros 7 bytes 8byteDeskey1 8byteDeskey2 8byteDeskey3 DES 1 DES 2 DES 3 Ejemplo: 0XC23413A8A1E7665FAAD3B435B51404EE 0000000000 0x0001020304050607 C23413A8A1E766 5FAAD3B435B514 04EE0000000000 8byteDeskey1 8byteDeskey2 8byteDeskey3 DES 1 DES 2 DES 3 CHALLENGE ENCRIPTADO CON LAS CLAVES UTILIZANDO DES 0xAAAAAAAAAAAAAAAA 0xBBBBBBBBBBBBBBBB 0xCCCCCCCCCCCCCCCC Facultad de Ingenieria Universidad de Buenos Aires Página 9 de 14

Según el ejemplo presentado el Response de 24 bytes devuelto al servidor que produjo el Challenge será: 0xAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCC. Ya se tiene el Challenge y el Response, ahora hay que empezar el ataque. Se empieza con el tercer DES, se supone el caso más común, cuando el tamaño del password del usuario no es mayor que 8 caracteres. Si esto sucede, que probablemente ocurra en la mayoría de los usuarios, los últimos 7 bytes utilizados para formar la tercer clave para el DES son 0x04EE0000000000, esto sucede siempre. Para verificar esto simplemente se realiza el encriptando del Challenge con 0x04EE0000000000 y se verifica que se obtenga 0xCCCCCCCCCCCCCCCC. Ahora si estamos ante este caso, 8 bytes de password, los segundos 7 caracteres para armar la segunda clave DES van a ser 0x??AAD3B435B514, donde?? son dos bytes que no se conocen. Para esto hay que realizar un ataque de fuerza bruta con 256 combinaciones. Para esto se prueban las 256 distintas claves buscando cual coincide con la parte del medio del Challenge, o sea 0xBBBBBBBBBBBBBBBB. Solo queda realizar un ataque de fuerza bruta con los primeros 7 bytes que forman la clave DES para el principio del Challenge. Aquí habrá que intentar con (7 x 8)^2= 3136 combinaciones. Esto demuestra que el Challenge-Response de Microsoft es perfectamente crackeable por fuerza bruta. Para capturar los pares de Challenge-Response puede usarse un sniffer en una máquina que se encuentra en la misma red que el servidor o que el cliente. A partir de las credenciales Utilizando un servidor NT con IIS y un servidor SMB puede desencriptarse de una forma sencilla el password de un usuario. El método se basa en que una vez que el browser realizó el intercambio del Challenge y el Response, utiliza las credenciales obtenidas del usuario para acceder a todos los recursos sucesivos. esto se hace con el objetivo de evitar que el usuario deba ingresar el usuario y el password cada vez que pide una página, una imagen, etc. Para realizar esto puede armarse una página HTML sencilla que contiene una imagen. La página se ofrece por medio del IIS del primer servidor y de se niega el acceso al usuario anónimo para forzar la validación Challenge-Response. La imagen que contiene la página se encuentra en el segundo servidor, SMB. Cuando el usuario solicita la página al IIS del primer servidor se produce el proceso del Challenge-Response interrogando al usuario por sus datos, usuario y password. Se realiza el proceso de validación, se encripta el Challenge a partir del password y si todo sale bien el servidor envía la página solicitada. Pero el llegar a la imagen el browser debe solicitarla al otro servidor. Para no interrogar nuevamente al usuario se intenta realizar la validación ante el nuevo servidor a partir de los datos usuario y password ingresados anteriormente, este es el punto: Qué pasa si el Challenge enviado por el servidor SMB es de todos caracteres blancos? Bueno, el browser encriptará el hash "todo blanco" y lo enviará al servidor. A partir del hash "todo blanco" y del Challenge encriptado el servidor puede realizar un ataque de diccionario rápido o un ataque de fuerza bruta donde por ser el hash "todo blanco" las cuentas se hacen muy fáciles. De esta forma se puede obtener el hash del password de un usuario que para el caso de un entorno NT es casi lo mismo que tener el password. Facultad de Ingenieria Universidad de Buenos Aires Página 10 de 14

Conclusiones El mecanismo Challenge-Response evita el intercambio directo del usuario y el password o un hash del password entre el cliente y el servidor. Pero ante lo desarrollado en este trabajo se observa que este método no se ha aprovechado bien en la implementación por Microsoft sobre sus productos. Se ha demostrado que es fácilmente crackeable por fuerza bruta acompañada de algunos trucos de simplificación. La vulnerabilidad recae concretamente en la forma de utilizar el DES para la encriptación combinado con la premisa de que en un entorno NT los hash no se construyen con partes aleatorias y el mismo password siempre provoca el mismo hash. Una de disminuir la vulnerabilidad sin variar demasiado la operatoria hubiera sido aplicar el DES en cascada utilizando para la segunda y tercera encriptación algún valor del resulta de la encriptación anterior, pero se ha elegido el DES paralelo y simple. Otro punto de vulnerabilidad recae en el hecho de que no se le puede estar preguntando al usuario a cada rato su usuario y su password, por lo tanto una vez que el usuario ingresa estos datos el browser los mantiene en memoria y los utiliza cada vez que algún servidor le niega el acceso. Este tema afecta a todos los mecanismos de validación, no solo al Challenge-Response y la solución para esto está por afuera del alcance de este trabajo. Como último punto se recuerda que el DES fue crackeado hace pocos día contribuyendo a los puntos de vulnerabilidad de este método. Terminado se puede concluir que la idea de utilizar Challenge-Response es buena pero no está bien aprovechada en este caso concreto. Facultad de Ingenieria Universidad de Buenos Aires Página 11 de 14

Anexo A: Algoritmos de validación que soporta el Internet Explorer sobre Windows 95 y NT Para verificar que esquemas de seguridad soporta una computadora con windows 95 o NT ejecutar Regedit.exe o Regdt32.exe y buscar la siguiente KEY: HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Security\... Si tiene la siguiente entrada:...\basic\ DLLFile: wininet.dll Flags: 00 00 00 00 SchemeList: Basic SecurityName: Basic Authetication Significa que el Internet Explorer soporta autenticación básica, donde se intercambian usuario y password en clear text. Si tiene la siguiente entrada:...\\ DLLFile: winsspi.dll Flags: 08 00 00 00 SchemeList: SecurityName: SSPI Authetication Significa que el Internet Explorer soporta autenticación Challenge-Response ante Internet Information Server 3.x o 4.x. Para desactivar esta modalidad puede cambiarse donde dice winsspi.dll por, por ejemplo winsspix.dll. Si tiene la siguiente entrada:...\msn\ DLLFile: winsspi.dll Flags: 00 00 00 00 SchemeList: MSN SecurityName: MSN SSPI Authetication Significa que el Internet Explorer soporta autenticación Challenge-Response para Microsoft Network. Facultad de Ingenieria Universidad de Buenos Aires Página 12 de 14

Anexo B: DLLs que utiliza el IExplorer Facultad de Ingenieria Universidad de Buenos Aires Página 13 de 14

Bibliografía Índice MSDN 1997, publicación anual de Microsoft. TechNET 1997, publicación anual de Microsoft. http://www.l0pht.com, Web site de Criptografía. http://www.microsoft.com http://www.osp.nl/infobase/ntpass.html http://oliver.efri.hr/~crv/security/bugs/nt/iebugs.html Objetivo... 2 Introducción... 2 Qué es el Challenge/Response?...2 Challenge/Response en Windows NT 4.0... 2 Codificación del Challenge... 3 Armado del Response a partir del Challenge... 5 Captura de tráfico HTTP... 6 Captura de tráfico durante una validación completa... 6 Captura de tráfico durante reiteradas peticiones... 7 Extracción de los Challenge de la captura anterior... 8 Vulnerabilidades... 9 Por Fuerza Bruta... 9 A partir de las credenciales... 10 Conclusiones... 11 Anexo A: Algoritmos de validación que soporta el Internet Explorer sobre Windows 95 y NT... 12 Anexo B: DLLs que utiliza el IExplorer... 13 Bibliografía... 14 Índice... 14 Facultad de Ingenieria Universidad de Buenos Aires Página 14 de 14