¿Es confidencial la información de la contraseña de la tabla de usuarios de MySQL?

21

Suponga que he volcado la lista de usuarios de MySQL usando

SELECT user, host, password, ssl_type FROM mysql.user;

El resultado se ve así:

+------------------+-----------+-------------------------------------------+----------+
| user             | host      | password                                  | ssl_type |
+------------------+-----------+-------------------------------------------+----------+
| admin            | %         | *blablablablablablablablablablablablablaa | ANY      |
+------------------+-----------+-------------------------------------------+----------+

¿Debería esta información ser considerada sensible? ¿Puede un atacante usar la información de la contraseña para acceder a la base de datos MySQL? Parece que la contraseña está oculta, por lo tanto, no se puede utilizar directamente, pero quizás pueda ser explotada de alguna manera, por ejemplo. para ayudar a crear tablas de arco iris para mi servidor, o algo como esto?

    
pregunta Suma 30.08.2018 - 15:13
fuente

5 respuestas

39

Sí, es información sensible. Es una pérdida de hash de contraseña.

Los atacantes proporcionarán esta información a una aplicación de fuerza bruta (hay algunos adaptados solo para MySQL) y recuperarán la contraseña.

No solo esto, sino que % en el campo del host significa que si su puerto MySQL (3306 por defecto) no tiene firewall, el atacante puede acceder a él como admin desde cualquier lugar.

Considere bloquear la cuenta admin solo para localhost , y nunca divulgue un hash de contraseña, sin importar cuán seguro esté en la dificultad de romper dicho hash.

    
respondido por el ThoriumBR 30.08.2018 - 15:28
fuente
9

Las contraseñas no solo son intrínsecamente confidenciales (como las otras respuestas señalan correctamente como el riesgo principal) ... sino que la información que contienen a menudo también es sensible .

Una vez que se rompen los hashes, muchas contraseñas contienen cumpleaños, nombres de niños, números de teléfono, respuestas de facto a preguntas de seguridad, direcciones de calles ... ¡incluso números de Seguro Social!

Recordamos lo que nos importa, y lo que es personal para nosotros. Esto hace que las contraseñas con un gran UX ... pero son terribles desde el punto de vista de la seguridad.

Esta psicología de la selección de contraseñas debería mantenerse como una restricción. Dado que muchos usuarios eligen las contraseñas de esta manera, deben manejarse y protegerse en consecuencia.

    
respondido por el Royce Williams 30.08.2018 - 17:48
fuente
3

Es posible obtener la contraseña original de un hash con una herramienta de descifrado de contraseñas, como John the Ripper o < a href="https://hashcat.net/hashcat/"> hashcat . Estas herramientas simplemente intentan muchas contraseñas en un ataque de fuerza bruta. Esto podría llevar mucho tiempo dependiendo de la complejidad de la contraseña.

    
respondido por el Sjoerd 30.08.2018 - 16:20
fuente
0

Sí, es sensible. Un atacante puede intentar "romper" el hash mediante intentos de fuerza bruta o ataques de diccionario. En todos los casos, he visto que las contraseñas de MySQL tienen sal, pero si no son una tabla hash precalculada, se pueden usar tablas de arco iris para acelerar el proceso

Además, si ese hash se obtuvo a través de una vulnerabilidad de inyección de SQL (muy probable), es posible que un atacante intente insertar o actualizar datos en la tabla, dependiendo de cómo se realizó la consulta. Si esto es posible, el atacante puede simplemente agregar un nuevo usuario o cambiar el hash de la contraseña de administrador con un hash de una contraseña ya conocida, omitiendo por completo el paso de descifrado

    
respondido por el Mr. E 31.08.2018 - 02:05
fuente
-1

si un atacante puede obtener el hash de una contraseña, como en la forma descrita anteriormente, sí, es posible intentar encontrar la colisión de ese hash utilizando las tablas del arco iris if no ha sido utilizado

Si se ha utilizado la salazón, la dificultad de descifrar las contraseñas se vuelve mucho más difícil.

EDITAR: Solo para aclarar, cuando me refiero a la salazón, quise decir que en la salazón can puede ser realizado por una herramienta / proceso externo, y simplemente almacenado en la base de datos, y no que MySQL haya Cualquier entrada en el proceso además de almacenar los valores. ¡Disculpas a los confundidos!

    
respondido por el Connor J 30.08.2018 - 15:24
fuente

Lea otras preguntas en las etiquetas