Следующая новость
Предыдущая новость

Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий

16.10.2019 16:54
Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий

Содержание статьи

  • Сканирование SPN
  • Сбор данных
  • Общие ресурсы
  • Базы данных
  • Network Attached Storage
  • Пользовательские данные при наличии привилегий
  • Microsoft Exchange и Outlook при наличии привилегий
  • Учетные данные
  • Учетные записи администраторов домена
  • Скрытая учетная запись администратора
  • Группы Active Directory
  • Информация из локальных групп Active Directory
  • Local Administrator Password Solution
  • AppLocker
  • Azure Active Directory
  • Сценарий синхронизации паролей
  • Сценарий синхронизации каталога
  • Заключение

Представь, что кто-то проводит атаку на корпоративную сеть Windows. Вначале у злоумышленника либо мало привилегий в домене, либо их вовсе нет. Поэтому искать учетные записи и службы он будет без повышенных привилегий, то есть не от имени администратора домена или локального администратора. О том, как производится разведка в среде Active Directory, мы и поговорим.

Рассмотренные в данной статье примеры применимы для следующих версий Windows: 7, 8, 10, Server 2008, Server 2012 и Server 2016; другие не проверяли. Также для работы примеров в системе должен быть PowerShell с указанными модулями.

WARNING

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

Сканирование SPN

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

Service Principal Names (SPN) — идентификаторы служб, запущенных на доменной машине. Не зная их, ты не сможешь искать службы, которые используют проверку подлинности Kerberos. SPN уникальный в пределах леса. Когда компьютер добавляют в домен, у его учетной записи автоматически указывается host SPN, что позволяет службам на этой машине запускаться из-под локальных учетных записей, таких как Local System и Network Service.

Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий

INFO

SPN — строка следующего формата:

SPN="serviceclass"/"hostname[:port]"[/"servicename"] 
  • Serviceclass — строка, которая идентифицирует класс службы, например ldap — идентификатор для службы каталогов;
  • Hostname — строка, где указывается полное доменное имя системы, а иногда и порт;
  • Servicename — строка, которая представляет собой уникальное имя (DN), GUID объекта или полностью определенное доменное имя (FQDN) службы.

Сканирование SPN — это первое, что обычно делает злоумышленник или пентестер при поиске служб в среде Active Directory. Основное преимущество этого метода по сравнению со сканированием сетевых портов в том, что не требуется взаимодействие с каждым узлом сети для проверки служебных портов. Сканирование SPN позволяет обнаружить службы с помощью запросов LDAP к контроллеру домена. Так как запросы SPN — нормальное поведение проверки подлинности Kerberos, этот способ сканирования обнаружить очень сложно, даже почти нереально в отличие от сканирования портов.

Выполнить сканирование SPN можно с помощью скрипта на PowerShell.

Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий
Результат работы скрипта для серверов Microsoft SQL

Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий

INFO

Наиболее интересные службы:

  • SQL — MSSQLSvc/adsmsSQLAP01.ads.org:1433
  • Exchange — exchangeMDB/adsmsEXCAS01.ads.org
  • RDP — TERMSERV/adsmsEXCAS01.adsecurity.org
  • WSMan/WinRM/PS Remoting — WSMAN/adsmsEXCAS01.ads.org
  • Hyper-V — Microsoft Virtual Console Service/adsmsHV01.ady.org
  • VMware VCenter — STS/adsmsVC01.ads.org

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

$search = New-Object DirectoryServices.DirectorySearcher([ADSI]"") $search.filter = "(servicePrincipalName=*)" $results = $search.Findall() foreach($result in $results){     $userEntry = $result.GetDirectoryEntry()     Write-host "Object Name = " $userEntry.name -backgroundcolor "yellow" -foregroundcolor "black"     Write-host "DN      =      "  $userEntry.distinguishedName     Write-host "Object Cat. = "  $userEntry.objectCategory     Write-host "servicePrincipalNames"     $i=1     foreach($SPN in $userEntry.servicePrincipalName)     {         Write-host "SPN(" $i ")   =      " $SPN       $i+=1     }     Write-host ""  } 
Разведка в Active Directory. Получаем пользовательские данные в сетях Windows без привилегий
Результат работы cкрипта — список SPN

Сбор данных

Общие ресурсы

В среде Active Directory часто используются сетевые папки и файловые серверы. Эти команды отобразят список общих ресурсов на локальном хосте, список сетевых компьютеров и список шар на удаленном компьютере:

> net share > net view > net view COMPUTER_NAME /all 

Но что делать, если политика безопасности запрещает использовать сетевые команды? В этом случае нас выручит wmic. Список общих ресурсов на локальном хосте и список общих ресурсов на удаленном компьютере можно посмотреть с помощью команд

> wmic share get /format:list > wmic /node: COMPUTER_NAME share get 

Полезный инструмент для поиска данных — PowerView. Он автоматически обнаруживает сетевые ресурсы и файловые серверы с помощью команд Find-DomainShare и Get-DomainFileServer.

Кстати, PowerView встроен в фреймворк PowerShell Empire и представлен двумя модулями:

  • situational_awareness/network/powerview/share_finder;
  • situational_awareness/network/powerview/get_fileserver.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

1 год

7690 р.

1 месяц

720 р.

Я уже участник «Xakep.ru»

Источник

Последние новости