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

Статья MSSQL для пентестера: Nmap

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
MSSQL для пентестеров: Nmap

Чтобы получить основную информацию, такую как имена баз данных, имена пользователей, имена таблиц и т. д., с серверов SQL в операционной системе Windows, мы проведем тестирование на проникновение с использованием сценариев Nmap. MSSQL - это Microsoft SQL Server для управления базами данных в сети. По умолчанию он работает на порту 1433. В нашей предыдущей статье мы настроили Microsoft SQL Server в Windows 10.

Требования:

Хакер: Kali Linux (NMAP)

Цель: Windows 10 (MS SQL Server)

Nmap - это набор сценариев NSE на основе Lua, которые проводят проверку подлинности и неаутентифицированное тестирование на проникновение на порт 1433 MS-SQL. Сценарий NSE для MS-SQL можно определить, используя приведенные ниже инструкции.

locate *.nse | grep ms-sql

1638004672014.png


Получение версии


Этот сценарий попытается определить информацию о конфигурации и версии для экземпляров Microsoft SQL Server.

nmap -p 1433 --script ms-sql-info 192.168.1.146

1638004693531.png


Брутфорс учеток


Выполнить аудит паролей методом перебора для серверов Ms-SQL и тайм-аут соединения (по умолчанию: "5 с") можно так. Все, что нам нужно, это словари для имен пользователей и паролей, которые будут передаваться в качестве аргументов.

nmap -p1433 --script ms-sql-brute --script-args userdb=users.txt,passdb=pass.txt 192.168.1.146

На картинке вы можете увидеть, что мы успешно получили учетные данные для трех пользователей:

Username: pavan and password:Password@123
Username: aarti and password:Password@123
Username: sa and password: Password@1
1638004724061.png


Выполнение SQL-запроса


После получения учетных данных для входа используйте эти учетные данные в сценарии NMAP для выполнения запроса MS–SQL. Приведенная ниже команда будет пытаться выполнить определенный запрос "sp_database" к Microsoft SQL Server.

Указанный запрос "sp_databases" является частью записи хранимых процедур и выводит список имен баз данных из экземпляра SQL Server.

nmap -p1433 --script ms-sql-query --script-args mssql.username=sa,mssql.password=Password@1,ms-sql-query.query="sp_databases" 192.168.1.146

1638004747924.png


Получение NetBIOS


Приведенный ниже сценарий NMAP будет перечислять информацию от удаленных служб Microsoft SQL с включенной аутентификацией NTLM.

Отправка запроса проверки подлинности NTLM MS-TDS с недопустимым доменом и нулевыми учетными данными приведет к тому, что удаленная служба ответит сообщением NTLMSSP, раскрывающим информацию, включающую NetBIOS, DNS и версию сборки ОС.

nmap -p1433 --script ms-sql-ntlm-info 192.168.1.146

1638004777768.png


Дамп хэша пароля MS-SQL


Следующая команда дампит хэши паролей с сервера MS-SQL в формате, подходящем для взлома такими инструментами, как John-the-ripper. Для этого пользователь должен иметь соответствующие привилегии БД.

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

Из данной картинки вы можете увидеть, что он сдампил хеш-значение паролей пользователя: "sa", которые мы получили выше.

1638004800837.png


Выполнение команд

Xp_cmdshell - это функция Microsoft SQL Server, которая позволяет системным администраторам выполнять команды операционной системы. По умолчанию опция xp_cmdshell отключена. Сценарий NMAP попытается запустить команду, используя командную оболочку Microsoft SQL Server, если обнаружено, что xp_cmdshell включен на целевом сервере.

nmap -p1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=Password@1,ms-sql-xp-cmdshell.cmd="net user" 192.168.1.146

Из изображения вы можете увидеть вывод команды "net user".

1638004829764.png


Проверить вход с пустым паролем

Если администратор Microsoft-SQL Server оставил пароль пустым для входа в систему, злоумышленник может напрямую войти на сервер базы данных; как показано на изображении ниже, мы исследуем свойство учетной записи пользователя "sa".

1638004841462.png


Следующий сценарий NMAP попытается аутентифицироваться на серверах Microsoft SQL Server, используя пустой пароль для учетной записи sysadmin (sa).

nmap -p1433 --script ms-sql-empty-password 192.168.1.146

Мы успешно вошли в систему с пользователем: sa и пустым паролем, как вы можете видеть на скриншоте ниже.

1638004855701.png
1

Получение таблицы базы данных

Следующая команда попытается получить список таблиц изнутри сервера Microsoft SQL, минуя учетные данные для входа в качестве аргумента через сценарий Nmap.

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

1638004870995.png
 


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