DCSync


Основываясь на нашей работе в предыдущем разделе, теперь у нас есть контроль над пользователем, adunn у которого есть привилегии DCSync в INLANEFREIGHT.LOCAL домен. Давайте углубимся в эту атаку и рассмотрим примеры ее использования для полной компрометации домена как с хоста атаки Linux, так и с хоста атаки Windows.



Что такое DCSync и как это работает?

DCSync - это метод кражи базы паролей Active Directory с помощью встроенного Directory Replication Service Remote Protocol, который используется контроллерами домена для репликации данных домена. Это позволяет злоумышленнику имитировать контроллер домена для получения хэшей паролей NTLM пользователя.

Суть атаки заключается в запросе контроллера домена на репликацию паролей с помощью расширенного права DS-Replication-Get-Changes-All. Это расширенное право управления доступом в AD, которое позволяет реплицировать секретные данные.

Для выполнения этой атаки вы должны иметь контроль над учетной записью, имеющей права на выполнение репликации домена (пользователь с Реплицируемым каталогом Изменяется, а Реплицируемый каталог изменяет все установленные разрешения). Администраторы домена / предприятия и администраторы домена по умолчанию имеют это право по умолчанию.

Просмотр привилегий репликации adunn с помощью ADSI Edit

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

Использование Get-DomainUser для просмотра членства в группе адунна

DCSync

PS C:\\htb> Get-DomainUser -Identity adunn  |select samaccountname,objectsid,memberof,useraccountcontrol |fl

samaccountname     : adunn
objectsid          : S-1-5-21-3842939050-3880317879-2865463114-1164
memberof           : {CN=VPN Users,OU=Security Groups,OU=Corp,DC=INLANEFREIGHT,DC=LOCAL, CN=Shared Calendar
                     Read,OU=Security Groups,OU=Corp,DC=INLANEFREIGHT,DC=LOCAL, CN=Printer Access,OU=Security
                     Groups,OU=Corp,DC=INLANEFREIGHT,DC=LOCAL, CN=File Share H Drive,OU=Security
                     Groups,OU=Corp,DC=INLANEFREIGHT,DC=LOCAL...}
useraccountcontrol : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWORD

PowerView можно использовать для подтверждения того, что у этого обычного пользователя действительно есть необходимые разрешения, назначенные его учетной записи. Сначала мы получаем SID пользователя в приведенной выше команде, а затем проверяем все списки управления доступом, установленные для объекта домена ("DC=inlanefreight,DC=local"), используя Get-ObjectAcl, чтобы получить списки управления доступом, связанные с объектом. Здесь мы специально ищем права на репликацию и проверяем, обладает ли этими правами наш пользователь adunn (обозначенный в приведенной ниже команде как $sid). Команда подтверждает, что у пользователя действительно есть права.

Использование Get-ObjectAcl для проверки прав на репликацию adunn

DCSync

PS C:\\htb> $sid= "S-1-5-21-3842939050-3880317879-2865463114-1164"
PS C:\\htb> Get-ObjectAcl "DC=inlanefreight,DC=local" -ResolveGUIDs | ? { ($_.ObjectAceType -match 'Replication-Get')} | ?{$_.SecurityIdentifier -match $sid} |select AceQualifier, ObjectDN, ActiveDirectoryRights,SecurityIdentifier,ObjectAceType | fl

AceQualifier          : AccessAllowed
ObjectDN              : DC=INLANEFREIGHT,DC=LOCAL
ActiveDirectoryRights : ExtendedRight
SecurityIdentifier    : S-1-5-21-3842939050-3880317879-2865463114-498
ObjectAceType         : DS-Replication-Get-Changes

AceQualifier          : AccessAllowed
ObjectDN              : DC=INLANEFREIGHT,DC=LOCAL
ActiveDirectoryRights : ExtendedRight
SecurityIdentifier    : S-1-5-21-3842939050-3880317879-2865463114-516
ObjectAceType         : DS-Replication-Get-Changes-All

AceQualifier          : AccessAllowed
ObjectDN              : DC=INLANEFREIGHT,DC=LOCAL
ActiveDirectoryRights : ExtendedRight
SecurityIdentifier    : S-1-5-21-3842939050-3880317879-2865463114-1164
ObjectAceType         : DS-Replication-Get-Changes-In-Filtered-Set

AceQualifier          : AccessAllowed
ObjectDN              : DC=INLANEFREIGHT,DC=LOCAL
ActiveDirectoryRights : ExtendedRight
SecurityIdentifier    : S-1-5-21-3842939050-3880317879-2865463114-1164
ObjectAceType         : DS-Replication-Get-Changes

AceQualifier          : AccessAllowed
ObjectDN              : DC=INLANEFREIGHT,DC=LOCAL
ActiveDirectoryRights : ExtendedRight
SecurityIdentifier    : S-1-5-21-3842939050-3880317879-2865463114-1164
ObjectAceType         : DS-Replication-Get-Changes-All