Mediante la utilización de una simple estrategia es posible en ocasiones la modificación de la password de SA o Administrador del Sistema en servidores SQL 7.0.
MS SQL 7.0 emplea la tabla sysxlogins en master.dbf para almacenar la información de los accesos. Dentro de esta tabla el campo password es de tipo varbinary(256). Si se ejecuta ‘select name, convert(varchar(256), password) from sysxlogins’ se devolverá la cadena equivalente a las passwords.
Lo interesante está en que las passwords se almacenan como valores de 16 bytes, por lo que incluso las passwords menores de 16 bytes generan una cadena cifrada de 16 bytes. La cadena de longitud fijada se encuentra en una localización exacta dentro de sysxlogins. Si la password tiene más de 16 caracteres, los primeros 16 bytes de la cadena cifrada se guardan en el mismo lugar. De esta forma cambiar la password es cuestión de seguir unos pasos sencillos.
En primer lugar se debe localizar una cadena cifrada correspondiente a una password conocida y encontrar el offset de sysxlogins. Tras ello, localizar el registro de SA y por oltimo reemplazar el campo de la password.
M s informaci¢n:
NT Security
http://www.ntsecurity.net/scripts/loader.asp?iD=/security/sql701.htm
Programa demostraci¢n
http://www.ntsecurity.net/security/tools/resetsa.exe
Antonio Ropero
antonior@hispasec.com