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

Статья MSSQL для пентестера: Выполнение команд внешними скриптами

yashechka

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

Введение в SQL Server

Microsoft выпустила множество версий для SQL-серверов. Microsoft выпускала версию 2019 этого сервера более двадцати раз. Когда вы смотрите на различные версии, вы быстро понимаете, как сервер продолжает двигаться в направлении улучшения и нововведений. Это касается даже незначительных изменений, включая обновленное название или логотип для каждого нового выпуска. Короче говоря, в каждом выпуске есть что-то для всех, и, что более важно, это означает, что есть что-то новое для вашего бизнеса или организации, которые хотят использовать определенную версию SQL Server.

Таким же образом эта версия SQL Server 2019 года добавляет несколько улучшений и новых функций, чтобы дать ей небольшое преимущество над своими предшественниками в обеспечении более высокого уровня производительности. Имея это в виду, я подумал, что было бы неплохо познакомить вас со всеми новыми функциями в этой версии и их возможностями. Большая новость в этой версии заключается в том, что SQL Server 2019 изменяет различные области на сервере. При этом ниже приведены некоторые из изменений, таких как MISRA C #/Clojure/Python/Java / и т. д. с SQL Server.

Установка SQL Server

В этой статье мы выполнили все наши практические действия на SQL Server 2019. Вы можете скачать эту версию сервера здесь (https://www.microsoft.com/en-in/sql-server/sql-server-downloads). После загрузки сервера приступим к его установке. Для установки указанного сервера выберите опцию Basic, как показано на картинке ниже:

1638706442331.png


Теперь выберите место для сервера, затем нажмите кнопку "Установить"; как показано на картинке ниже:

1638706452138.png


Теперь в Центре установки SQL Server выберите Автономную установку New SQL Server или добавьте функции к существующему варианту установки, как показано на картинке ниже:

1638706462083.png


Затем в диалоговом окне "Выбор функций" выберите "Службы машинного обучения и языки" и установите флажки для R, Python, Java. Эти возможности доступны только в версиях SQL, выпущенных после 2015 года. То же самое можно увидеть на картинке ниже:

1638706474700.png


Теперь в разделе "Местоположение установки Java" выберите "Установить Open JRE 11.0.3, включенную в этот вариант установки". Затем нажмите кнопку Далее, как показано на картинке ниже:

1638706644244.png


Затем для конфигурации сервера выберите параметр "Автоматически" и нажмите кнопку "Далее", как показано на картинке ниже:

1638706658865.png


В открывшемся диалоговом окне "Согласие на установку Microsoft R" нажмите кнопку "Принять", а затем нажмите кнопку "Далее", как показано на картинке ниже:

1638706672792.png


Сделайте то же самое, когда откроется диалоговое окно "Согласие на установку Python"; как показано на картинке ниже:

1638706682988.png


После успешной установки нажмите кнопку "Закрыть", как показано на картинке ниже:

1638706692162.png


Выполнение предыдущих шагов позволило нам успешно установить установку SQL Server 2019.

Включение внешних скриптов

После установки нашего SQL-сервера мы попытаемся манипулировать внешними скриптами в наших интересах. Но сначала мы должны проверить, включены ли внешние скрипты. Чтобы проверить сказанное, выполним следующий запрос:

sp_configure 'external scripts enabled'
GO

1638706719556.png


Результат вышеуказанного запроса, который вы можете увидеть на картинке выше, говорит нам, что config_value и run_value равны 0, что означает, что внешние скрипты не включены. Следовательно, сейчас мы включим скрипты. Для этого выполним следующий запрос:

EXECUTE sp_configure 'external scripts enabled', 1;
GO
RECONFIGURE;
GO

1638706737470.png


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

sp_configure 'external scripts enabled'
GO

1638706757926.png


В результате вышеуказанного запроса Config_value и run_value были изменены на 1, что означает, что теперь включены внешние скрипты.

Выполнение скрипта Python

Поскольку мы включили внешние скрипты, теперь мы выполним скрипт Python. Этот сценарий python выполнит команду "ipconfig". И в случае успешного выполнения он даст нам результат для указанной команды. Чтобы выполнить скрипт python, введите:

EXECUTE sp_execute_external_script @language = N'Python', script = N'print(__import__("os").system("ipconfig"))'

1638706789203.png


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

Выполнение сценария R

Теперь выполним сценарий на языке R. Для этого выполните следующие команды:

EXEC sp_execute_external_script
@language=N'R',
@script=N'OutputDataSet <- data.frame(system("cmd.exe /c ipconfig",intern=T))'
WITH RESULT SETS (([cmd_out] text));
GO


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

1638706818533.png


Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/mssql-for-pentester-command-execution-with-external-scripts/
 
To be continued
Stay tuned
 


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