domingo, 23 de septiembre de 2012

Un fallo en el protocolo de autenticación en Oracle DB permitiría averiguar la contraseña


Se ha descubierto una vulnerabilidad en el sistema de autenticación de Oracle Database. Un estudio desvela que puede ser aprovechada para averiguar la contraseña de un usuario en pocas horas de forma muy sencilla. No ha sido resuelta por completo desde hace más de dos años.

El investigador de seguridad especializado en Oracle, Esteban Martinez Fayo (@estemf) de la compañía Application Security, ha demostrado durante esta semana en la Ekoparty los resultados sobre sus estudios de una vulnerabilidad presente en el protocolo de autenticación de las bases de datos Oracle. La técnica descrita permitiría obtener el hash de la contraseña de forma muy sencilla. Un posterior ataque de fuerza bruta revelaría la contraseña en un corto periodo de tiempo. En sus demostraciones habla de cinco horas para una contraseña de 8 caracteres utilizando equipos de sobremesa.

La vulnerabilidad residiría en el método de protección utilizado en las claves de sesión cuando se realiza un intento de conexión. Antes siquiera de proceder a la validación real, cuando se intenta hacer "login" al servidor, éste genera y envía una clave arbitraria de sesión junto a una semilla (salt) al usuario. Una especie de desafío. En esta clave reside la información sobre el hash del password: simplemente con iniciar el proceso login el atacante puede disponer de estos datos vitales y aplicar más tarde fuerza bruta sobre ellos.

"Básicamente, descubrí que no todos los intentos fallidos de presentación eran almacenados en la base de datos. Mirando de cerca el problema, localicé el fallo en la forma en la que uno de los componentes del protocolo de presentación, la "Session Key" se protegía. Me di cuenta de que, en cierta manera, la "Session Key" mostraba información sobre el hash de la contraseña"

Posteriormente y gracias a la semilla y a los cálculos realizados por fuerza bruta sobre la misma, Fayo pudo averiguar la clave de autenticación y así poder conectarse al servidor. Lo peligroso de este problema es que el atacante no necesita grandes recursos, ni un gran número de intentos, ni realizar ataques de tipo MiTM para obtener el tráfico ajeno. Solo acceso unos minutos al sistema de autenticación de la base de datos.

El atacante solo necesitaría un nombre de usuario válido y realizar un intento de conexión estándar y normal para recibir la "Session key" de la víctima junto al "salt". Con estos datos podría proceder a presentarse con éxito en el sistema tras haber deducido la clave a partir del hash.

La vulnerabilidad fue reportada a Oracle en mayo de 2010. Se arregló parcialmente a mediados de 2011 ya que sólo introdujeron una nueva versión del protocolo en la versión 11.2.0.3. Dejaron desprotegidas las ramas 11.1.x y 11.2.x. No hay planes de actualizar la rama 11.1. Las versiones 10g no se ven afectadas al utilizar un protocolo de autenticación no vulnerable.

Más información:

Flaw in Oracle Logon Protocol Leads to Easy Password Cracking

Attack Easily Cracks Oracle Database Passwords




José Mesa Orihuela

Sergio de los Santos
Twitter: @ssantosv


2 comentarios:

  1. Buenas cracks,

    Tenemos un poc del tema este?¿

    Gracias!

    ResponderEliminar
  2. Tener acceso a las bases de datos de Oracle de una pagina empresarial, etc puede ser una autentica faena

    ResponderEliminar