В предыдущем разделе мы рассмотрели некоторые инструменты, которые мы можем использовать на нашем хостинге Linux Attack для перечисления с действительными учетными данными домена. В этом разделе мы поэкспериментируем с несколькими инструментами для перечисления с хоста атаки Windows, такими как SharpHound / BloodHound, PowerView / SharpView, Grouper2, Snaffler и некоторыми встроенными инструментами, полезными для перечисления. Некоторые данные, которые мы собираем на этом этапе, могут предоставить больше информации для составления отчетов, а не просто напрямую указать пути атаки. В зависимости от типа оценки, нашего клиента могут заинтересовать все возможные результаты, поэтому даже такие вопросы, как возможность свободно запускать BloodHound или определенные атрибуты учетной записи пользователя, возможно, стоит включить в наш отчет либо в качестве результатов среднего риска, либо в отдельный раздел приложения. Не каждая проблема, которую мы обнаруживаем, должна быть направлена на перенаправление наших атак. Некоторые результаты могут носить информационный характер, но полезны для заказчика, помогая улучшить его систему безопасности.
На данном этапе нас интересуют другие неправильные настройки и проблемы с разрешениями, которые могут привести к боковому и вертикальному перемещению. Мы также заинтересованы в получении более полной картины того, как настроен домен, т. Е. Существуют ли какие-либо доверительные отношения с другими доменами как внутри, так и за пределами текущего леса? Мы также заинтересованы в разборе общих файловых ресурсов, к которым имеет доступ наш пользователь, поскольку они часто содержат конфиденциальные данные, такие как учетные данные, которые могут быть использованы для дальнейшего нашего доступа.
Первый инструмент, который мы рассмотрим, - это модуль ActiveDirectory для PowerShell. При заходе на хост Windows в домене, особенно тот, который использует администратор, есть шанс, что вы найдете на нем ценные инструменты и скрипты.
Модуль ActiveDirectory PowerShell представляет собой группу командлетов PowerShell для администрирования среды Active Directory из командной строки. На момент написания он состоял из 147 различных командлетов. Мы не можем охватить их все здесь, но рассмотрим несколько, которые особенно полезны для перечисления тестируемых сред. Не стесняйтесь ознакомиться с другими командлетами, включенными в модуль, в лаборатории, созданной для этого раздела, и посмотреть, какие интересные комбинации и выходные данные вы можете создать.
Прежде чем мы сможем использовать модуль, мы должны убедиться, что он импортирован. Командлет Get-Module, который является частью Microsoft.PowerShell.Базовый модуль, содержит список всех доступных модулей, их версии и возможные команды для использования. Это отличный способ узнать, установлено ли что-нибудь вроде Git или пользовательских скриптов администратора. Если модуль не загружен, запустите Import-Module ActiveDirectory
, чтобы загрузить его для использования.
Перечисление учетных данных - из Windows
PS C:\\htb> Get-Module
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Script 2.0.0 PSReadline {Get-PSReadLineKeyHandler, Get-PSReadLineOption, Remove-PS...
Мы увидим, что модуль ActiveDirectory еще не импортирован. Давайте продолжим и импортируем его.
Перечисление учетных данных - из Windows
PS C:\\htb> Import-Module ActiveDirectory
PS C:\\htb> Get-Module
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.0.1.0 ActiveDirectory {Add-ADCentralAccessPolicyMember, Add-ADComputerServiceAcc...
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Script 2.0.0 PSReadline {Get-PSReadLineKeyHandler, Get-PSReadLineOption, Remove-PS...
Теперь, когда наши модули загружены, давайте начнем. Сначала мы перечислим некоторую базовую информацию о домене с помощью командлета Get-ADDomain.