La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

NetBios Auth Bypassing Undercon 2002. Objetivo inicial: Obtener acceso a un sistema remoto.

Presentaciones similares


Presentación del tema: "NetBios Auth Bypassing Undercon 2002. Objetivo inicial: Obtener acceso a un sistema remoto."— Transcripción de la presentación:

1 NetBios Auth Bypassing Undercon 2002

2 Objetivo inicial: Obtener acceso a un sistema remoto.

3 Objetivo inicial: Obtener acceso a un sistema remoto. Descripción del sistema remoto: Windows 2000 Server Puertos abiertos 80 y 445 Acceso a web requiere usuario/contraseña del dominio

4 Puerto 445: NetBIOS Desde Windows 2000 (xp y me) el puerto 445 se une al tradicional 139 para la comunicación utilizando sesiones NetBIOS Posible problema con software antiguo.

5 Obtenemos información del servidor web. Server: Microsoft-IIS/5.0 Todos los accesos a paginas y aplicaciones por defecto se encuentran protegidos por petición de un usuario y password validos en el dominio.

6 Obtenemos información del servidor web. Server: Microsoft-IIS/5.0 Todos los accesos a paginas y aplicaciones por defecto se encuentran protegidos por petición de un usuario y password validos en el dominio. Posibilidad de ataque: Brute force remoto con diccionario tanto usuarios como de passwords.

7 Obtenemos información mediante NetBIOS Conseguimos el nombre de la maquina, y mediante sesiones nulas un listado de usuarios y shares. Caso típico: El único usuario valido para acceder a los shares es “Administrador”

8 Obtenemos información mediante NetBIOS Conseguimos el nombre de la maquina, y mediante sesiones nulas un listado de usuarios y shares. Caso típico: El único usuario valido para acceder a los shares es “Administrador” Posibilidad de ataque: Brute force remoto con diccionario contra un usuario determinado.

9 Funcionamiento de SMB. Establecimiento de sesión

10 SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende.

11 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende.

12 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende. SMB negprot command: Lista todos los protocolos conocidos por el cliente para que el servidor seleccione uno para llevar a cabo toda la comunicación posterior.

13 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende. Posibles protocolos en Windows: Lan Manager 2.1 (LanMan/LM) NT Lan Manager 1.0 (NTLM) NT Lan Manager 2.0 (NTLMv2)

14 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende. Lan Manager 2.1. Partimos de un hash de 16 bytes generado a partir de la clave. Los 8 primeros bytes proceden de los 7 primeros de la clave, así como los 8 bytes finales se derivan de los 7 siguientes. En caso de que la segunda mitad quede falta de bytes, se añadiran los que falten de una cadena fija ( 0xAAD3B435B51404EE )

15 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende. Lan Manager 2.1. Dado el hash, se le añadiran al final 5 bytes con valor 00 y se partira en tres fragmentos de 7 bytes cada uno.. Cada uno de estos fragmentos se utilizara para generar una llave DES de 8 bytes y paridad impar.. Se cifrara el reto recibido con las tres llaves generadas.. El resultado devuelto estará formado por la concatenación de los 3 procesos de cifrado.

16 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende. NTLM. Basado en Lan Manager 2.1. El hash de 16 bytes se genera aplicando una función md4 al password introducido por el usuario.. El resto funciona igual que en LM.

17 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende. NTLMv2. Basado en NTLM.. Se cifra toda la comunicación mediante SSL, ya sea de 56 o de 128 bits.

18 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende.

19 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command El cliente inicia la negociación de protocolo a utilizar, especificando los distintos protocolos que entiende.

20 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response El servidor selecciona el protocolo con el que se llevara a cabo el resto de la comunicación.

21 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response El servidor selecciona el protocolo con el que se llevara a cabo el resto de la comunicación.

22 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response El servidor selecciona el protocolo con el que se llevara a cabo el resto de la comunicación. SMB negprot response: Devuelve el índice del protocolo seleccionado para la comunicación. En caso de no utilizar ningún protocolo de los presentados, seleccionará el protocolo 0xFFFF como señal de error.

23 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response El servidor selecciona el protocolo con el que se llevara a cabo el resto de la comunicación.

24 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response El servidor selecciona el protocolo con el que se llevara a cabo el resto de la comunicación.

25 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) El cliente envía una solicitud de conexión anónima.

26 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) El cliente envía una solicitud de conexión anónima.

27 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) El cliente envía una solicitud de conexión anónima. SMB SesssetupX command: Solicita el establecimiento de una sesión proporcionando conforme al protocolo negociado un par consistente en usuario y password.

28 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) El cliente envía una solicitud de conexión anónima.

29 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) El cliente envía una solicitud de conexión anónima.

30 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) El servidor deniega la conexión anónima y envía un challenge al cliente.

31 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) El servidor deniega la conexión anónima y envía un challenge al cliente.

32 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) El servidor deniega la conexión anónima y envía un challenge al cliente. SMB SesssetupX response: En caso de recibir unas credenciales validas, devuelve un identificador de sesión (UID). En caso contrario genera un nuevo challenge.

33 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) El servidor deniega la conexión anónima y envía un challenge al cliente.

34 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) SMB SesssetupX command (2) El cliente envía una solicitud de conexión especificando el usuario (en claro) y el challenge recibido, cifrado con la password suministrada.

35 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) SMB SesssetupX command (2) SMB SesssetupX response (2) El servidor valida los datos recibidos y de ser correcto, devuelve un UID y se establece la sesión.

36 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) SMB SesssetupX command (2) SMB SesssetupX response (2) SMB command (UID) Cualquier comando enviado por el cliente ira acompañado por el UID asignado.

37 Funcionamiento de SMB. Establecimiento de sesión SMB negprot command SMB negprot response SMB SesssetupX command (1) SMB SesssetupX response (1) SMB SesssetupX command (2) SMB SesssetupX response (2) SMB command (UID) SMB response Hasta que no se termine la sesión, el intercambio de datos se efectuara según el modelo comando (UID) / respuesta.

38 Establecimiento de sesión simplificado

39 Petición de conexión

40 Establecimiento de sesión simplificado Petición de conexión Envío de Challenge

41 Establecimiento de sesión simplificado Petición de conexión Envío de Challenge Respuesta al Challenge

42 Establecimiento de sesión simplificado Petición de conexión Envío de Challenge Respuesta al Challenge Conexión valida: Envío de UID

43 Para obtener información útil: Tenemos que recibir una petición de conexión

44 Para obtener información útil: Tenemos que recibir una petición de conexión

45 Para obtener información útil: Tenemos que recibir una petición de conexión Microsoft Internet Explorer es tu amigo!!!! Internet Explorer ante una referencia tipo: file://host/recurso Lanzara automáticamente una conexión SMB para recuperar el recurso solicitado. (It’s not a bug... Just a feature)

46 Para obtener información útil: Tenemos que recibir una petición de conexión

47 Para obtener información útil: Tenemos que recibir una petición de conexión.

48 Para obtener información útil: Tenemos que recibir una petición de conexión. Dada la petición aceptaremos (como server) el cifrado más sencillo de romper.

49 Para obtener información útil: Tenemos que recibir una petición de conexión. Tenemos que recibir un par usuario/password valido para el sistema atacado.

50 Para obtener información útil: Tenemos que recibir una petición de conexión. Tenemos que recibir un par usuario/password valido para el sistema atacado.

51 Para obtener información útil: Tenemos que recibir una petición de conexión. Tenemos que recibir un par usuario/password valido para el sistema atacado. Microsoft Windows es tu amigo!!!! Windows ante una petición tipo: \\host\recurso Lanzara automáticamente una conexión SMB para recuperar el recurso solicitado, sin necesidad de pedir password al usuario, ya que utilizara TODOS los utilizados en esa sesión, tanto de autenticación local como remota. (It’s not a bug... Just a feature)

52 Para obtener información útil: Tenemos que recibir una petición de conexión. Tenemos que recibir un par usuario/password valido para el sistema atacado.

53 Para obtener información útil: Tenemos que recibir una petición de conexión. Tenemos que recibir un par usuario/password valido para el sistema atacado.

54 Para obtener información útil: Tenemos que recibir una petición de conexión. Tenemos que recibir un par usuario/password valido para el sistema atacado. Posibilidad de ataque: Brute force remoto con diccionario contra un usuario determinado.

55 Pero...

56 Tenemos prisa y un 486.

57 Pero... Tenemos prisa y un 486. Ah! Y una idea mejor...

58 Retomemos el establecimiento de sesión simplificado

59 Esta vez será el server quién “quiera” establecer una conexión con nosotros.

60 Retomemos el establecimiento de sesión simplificado Petición de conexión Envío de Challenge Respuesta al Challenge Conexión valida: Envío de UID

61 Retomemos el establecimiento de sesión simplificado Petición de conexión Envío de Challenge Respuesta al Challenge Conexión valida: Envío de UID Vamos a tomar su Challenge y a inyectarselo a él para que el mismo lo cifre con sus credenciales validas.

62 Inyectando su propia respuesta al Challenge Petición de conexión

63 Inyectando su propia respuesta al Challenge Petición de conexión

64 Inyectando su propia respuesta al Challenge Petición de conexión Envío de Challenge (c)

65 Inyectando su propia respuesta al Challenge Petición de conexión Envío de Challenge (c)

66 Inyectando su propia respuesta al Challenge Petición de conexión Envío de Challenge (c) Respuesta al Challenge (c’)

67 Inyectando su propia respuesta al Challenge Petición de conexión Envío de Challenge (c) Respuesta al Challenge (c’)

68 Inyectando su propia respuesta al Challenge Petición de conexión Envío de Challenge (c) Respuesta al Challenge (c’) Denegar conexión entrante

69 Inyectando su propia respuesta al Challenge Petición de conexión Envío de Challenge (c) Respuesta al Challenge (c’) Denegar conexión entrante Conexión valida. Envio de UID


Descargar ppt "NetBios Auth Bypassing Undercon 2002. Objetivo inicial: Obtener acceso a un sistema remoto."

Presentaciones similares


Anuncios Google