0

PWDCOMPARE

En esta entrada, vamos a usar una función de SQL Server PWDCOMPARE para testear la seguridad de las contraseñas de nuestros usuarios SQL.

Aquí podéis encontrar toda la documentación oficial de PWDCOMPARE:

https://docs.microsoft.com/en-us/sql/t-sql/functions/pwdcompare-transact-sql?view=sql-server-ver15

Es muy sencilla, admite dos parámetros, el primero es un nvarchar, es decir un texto plano y el segundo el hash encriptado de una contraseña. Como indica Microsoft, el único requisito a nivel de permisos es el permiso CONTROL SERVER para examinar la columna password_hash de sys.sql_logins.

Os dejamos tres ejemplos de qué comprobaciones hemos realizado en nuestras instancias, pero no os limitéis a estos ejemplos, podéis probar con cualquier otra palabra que se os ocurra.

1. Usuarios SQL con contraseña vacía

2. Usuarios  SQL con contraseña “password”

3. Usuarios de SQL con contraseña igual al nombre de usuario, además añadimos columnas como si es sysadmin o si está deshabilitado y, por último, el nombre de la instancia.

Podéis ampliar estos ejemplos con palabras como “Contraseña”, “12345678”, etc.

Es muy importante detectar estos problemas de seguridad ya que son las primeras opciones en un ataque de fuerza bruta, por lo que si llegan a entrar rapidamente no nos daríamos cuenta de estos accesos.

Para evitar que los usuarios puedan establecer estas contraseñas, debéis aplicar la opción de “ENFORCE PASSWORD POLICY”, sobre la cual tenemos una entrada en la que hablamos de esta opción y como funciona:

¿Has encontrado alguno en tus instancias SQL?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *