• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья MSSQL для пентестера: хеширование

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
В этой статье мы узнаем о нескольких способах получения хэшей пользователей MSSQL. Каждая версия MSSQL имеет разные хеши. Практикум мы выполним на версии SQL Server 2016. Как только мы найдем хэши, мы воспользуемся JohnTheRipper для их взлома.

Введение в хеширование в SQL-сервере

Хеширование - это особый тип алгоритма, который создает выходную строку фиксированной длины. Хэш-код всегда имеет одинаковую длину, но его сложность может быть разной в зависимости от того, как он используется, и может создавать разные хеши для разных входных строк.

SQL Server использует методы хеширования вместо шифрования, поскольку он предлагает одностороннюю процедуру хеширования данных. А из-за хеширования вероятность его вскрытия меньше или равна нулю. Начиная с SQL Server 2016, единственными используемыми алгоритмами хеширования являются SHA2_512 и SHA2_256. Они создает 32- или 64-битные хэши для желаемых строк. Вы можете создать хэш на сервере SQL с помощью функции HashByte.

Хэш, созданный на SQL-сервере, выглядит примерно так:

1641206016054.png


CLI

Чтобы получить хеши всех пользователей, используйте следующий запрос:

SELECT * FROM sys.sql_logins

1641206039646.png


Для получения хеша конкретного пользователя используйте следующий запрос:

select name,password_hash from sys.sql_logins where name='sa'

1641206055964.png


Как видите, оба вышеуказанных запроса дали нам желаемый результат.

Nmap

Мы также можем получить хэши удаленно с помощью Nmap. И команда для этого следующая:

nmap -p1433 --script ms-sql-dump-hashes --script-args mssql.username=sa,mssql.password=Password@1 192.168.1.146

1641206078991.png


И в результате выполнения вышеуказанной команды у нас есть хеш.

PowerUpSQL

Для удаленного хеширования PowerUpSQL предоставляет простую команду, которая выглядит следующим образом:

Import-Module .\PowerUpSQL.ps1
Get-SQLServerPasswordHash -username sa -Password Password@1 -instance WIN-P83OS778EQK\SQLEXPRESS -Verbose

1641206125567.png


Это несколько способов получения хэшей для сервера MSSQL, как удаленно, так и локально.

JohnTheRipper

Теперь, когда мы получили хэши, все, что нам нужно сделать, это взломать их. Для этого мы будем использовать всемогущий инструмент для взлома паролей, то есть JohnTheRipper. А чтобы дехешировать хэш пароля, используйте следующую команду:

john --format=mssql12 --wordlist=pass hash

1641206111875.png


И результат показывает нам, что пароль - это Password@1, который является верным. Итак, таким образом можно дампить, а затем взламывать хэши MSSQL.

Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/mssql-for-pentester-hashing/
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх