Veeam Backup & «Проникновение» — Получение Максимальной Отдачи От Пентестирования

Все это знают Veeam — довольно крутой и распространенный инструмент для резервного копирования виртуальных машин.

Знаете ли вы, что Veeam может быть полезен не только для создания резервных копий, но и быть хорошим источником данных при проведении тестирования на проникновение.

В этой статье я поделюсь своим опытом использования Veeam в качестве инструмента для пентест .

Итак, что же именно Veeam дает нам в качестве инструментария? Вы знаете, что у Veeam есть ролевая система доступа, но обычно настройки по умолчанию остаются нетронутыми — в административную группу входят пользователи из локальной группы «Администраторы» хоста.

Таким образом, доступ к консоли можно получить, получив сервисную учетную запись или учетную запись пользователя с правами администратора в ОС.



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Роли/пользователи Veeam ТЛ;ДР Восстановить отдельные файлы из резервных копий, например базы данных Active Directory, а также получить сохраненные учетные данные для подключения к гипервизорам, виртуальным машинам и т. д. можно двумя способами.

Ссылка на скрипты в конце страницы.

Veeam позволяет выполнять резервное копирование виртуальных машин в vSphere и Hyper-V и многое другое.

Эти резервные копии можно восстановить не только на гипервизор, но и на локальный диск.

Кроме того, у него есть такая интересная функция, как восстановление отдельных файлов с ВМ.

Вы уже понимаете, к чему я клоню, верно? Конечно, вы можете восстановить базу данных Active Directory.



Восстановление базы данных Active Directory

Для восстановления отдельных файлов необходимо выбрать нужную ВМ из списка задач раздела Резервные копии > Диск > .

${JOB_NAME} и выберите в меню режим восстановления для отдельных файлов.



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Список резервных копий Veeam После завершения работы мастера откроется окно выбора файла.

Для восстановления и расшифровки базы данных Active Directory нам понадобится несколько файлов:

Файл ntds.dit находится в каталоге C:\Windows\System32\config\ , остальные файлы находятся в каталоге C:\Windows\System32\config\.



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Мастер восстановления отдельных файлов Veeam Восстановив эти файлы, получить хэши паролей не составит труда; для этого есть несколько утилит: impacket-secretsdump , ntdsxtract

Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Пример работы утилиты secretsdump Если вам не удалось подключиться к консоли Veeam, но у вас есть доступ к файлам резервных копий, вы можете использовать Утилита Veeam для извлечения резервных копий .



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Утилита Veeam для извлечения резервных копий

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

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

Чаще всего это привилегированные учетные записи для подключения к гипервизору или к ВМ для выполнения административных задач перед созданием копии.



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Менеджер учетных данных Veeam Конечно, просто так пойти и получить пароль через менеджер не получится, но не волнуйтесь, у меня для вас есть два рабочих метода! Заранее предупреждаю, методы проверялись на работоспособность на версии Veaam 9.5; для более новых версий вам, возможно, придется поработай немного файл .

Способ первый — подключение к поддельному хосту vSphere Этот способ подойдет для тех случаев, когда вам удалось подключиться к консоли Veeam и вы имеете право создавать новые подключения к гипервизору.

Не имеет значения, работает ли консоль на том же хосте или на другом.

Дело в том, что когда Veeam подключается к хосту ESXi, имя пользователя и пароль передаются с помощью простого POST-запроса, вот так:

Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Запрос авторизации vSphere Чтобы получить пароль таким способом, вы можете использовать такие утилиты, как ОВАСП ЗАП или Люкс «Отрыжка» , при условии наличия работающего хоста vSphere, но такие условия не всегда доступны.

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

С помощью этого скрипта вы сможете получить пароль от нужной учетной записи от Veeam в несколько шагов:

  1. Клонируйте репозиторий с помощью скрипта:

    git clone <REPO>

  2. Запустите скрипт veeampot.py на управляемой машине:

    cd veeam-creds; python3 veeampot.py

  3. Создайте новое подключение к серверу vSphere в консоли Veeam в разделе Inventory;
  4. Введите адрес машины, на которой запущен скрипт, указав порт подключения 8443;
  5. Выберите нужную учетную запись и завершите работу мастера;
  6. Получите пароль в выводе скрипта;
  7. Смейтесь вслух, если вы используете права администратора домена.

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

Вывод скрипта покажет логин и пароль в виде открытого текста.



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Вывод скрипта veeampot.py Способ второй – получение паролей напрямую из базы данных Первый способ, безусловно, подойдет в большинстве случаев, когда вы находитесь в локальной сети клиента с любимым ноутбуком и заряженным Kali Linux. Но что делать, если рядом нет машины с Python или нет возможности использовать RDP, но есть эскалированная сессия с Empire/Meterpreter, или вам просто лень собирать пароли по одному? Прежде чем мы продолжим, несколько технических подробностей.

Veeam хранит пароли Credential Manager в своей базе данных вместе с другими настройками.

Эти пароли шифруются с помощью API защиты данных ( ДПАПИ ), ключ локального компьютера.

Данные для подключения к базе данных хранятся в ветке реестра HKLM и доступ к ним требует повышения прав (UAC).

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

  • Получить данные для подключения к базе данных Veeam;
  • Подключитесь к базе данных и получите записи логинов/зашифрованных паролей;
  • Расшифруйте пароли с помощью DPAPI.
Для удобства подготовлен PowerShell-скрипт. Veeam-Get-Creds.ps1 , при запуске автоматически отобразится список учетных записей менеджеров Veeam с открытым текстовым паролем.



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Вывод скрипта Veeam-Get-Creds.ps1 Если вы хотите использовать скрипт в PowerShell Empire, вы можете запустить его на агенте, переключившись в режим командной строки (оболочки).

Вы можете получить однострочный скрипт из скрипта, выполнив в Linux следующие команды:

echo -n "powershell -enc "; \ iconv -f UTF-8 -t UTF-16LE < \ Veeam-Get-Creds.ps1 | base64 -w0

Но это неудобно, и вывод команды не будет структурирован.

Гораздо удобнее использовать модули фреймворка для получения информации от агента.

Для этого был подготовлен модуль VeeamGetCreds.yaml , содержащий адаптированный скрипт PowerShell для получения паролей из базы данных Veeam. Для использования необходимо скопировать модуль в папку империя/сервер/модули/powershell/учетные данные Сервер Empire, затем запустите сервер и клиент. После этого модуль можно использовать как обычно.



Veeam Backup & «Проникновение» — получение максимальной отдачи от пентестирования

Вывод модуля VeeamGetCreds в Empire Спасибо за внимание, надеюсь, эта информация будет полезна.

Ссылка на репозиторий со всеми скриптами P.S. Информация предоставлена в образовательных целях.

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

Теги: #информационная безопасность #Резервное копирование #пентест #veeam #powershell Empire

Вместе с данным постом часто просматривают: