Тактика злоупотребления ACL


Злоупотребление ACL

Еще раз, чтобы напомнить, где мы находимся и куда хотим попасть. Мы контролируем wley пользователя, хэш NTLMv2 которого мы восстановили, запустив Responder ранее в ходе оценки. К счастью для нас, этот пользователь использовал слабый пароль, и мы смогли взломать хэш в автономном режиме с помощью Hashcat и получить значение открытого текста. Мы знаем, что можем использовать этот доступ для запуска цепочки атак, в результате которой мы получим контроль над adunn пользователем, который может выполнить атаку DCSync, что даст нам полный контроль над доменом, позволяя нам извлекать хэши паролей NTLM для всех пользователей в домене и повышать привилегии до администратора домена / предприятия и даже добиться закрепления. Чтобы выполнить цепочку атак, мы должны сделать следующее:

  1. Используйте wley пользователя, чтобы изменить пароль для damundsen пользователя
  2. Аутентифицируйтесь как damundsen пользователь и используйте GenericAll права для добавления пользователя, которого мы контролируем, в Help Desk Level 1 группу
  3. Воспользуйтесь преимуществами членства во вложенных группах в Information Technology группе и используйте GenericAll права для получения контроля над adunn пользователем

Итак, сначала мы должны пройти аутентификацию от имени wley и принудительно изменить пароль пользователя damundsen. Мы можем начать с открытия консоли PowerShell и аутентификации от имени wley пользователя. В противном случае мы могли бы пропустить этот шаг, если бы мы уже работали от имени этого пользователя. Для этого мы можем создать PSCredential object.

Создание PSCredential объекта

Тактика злоупотребления ACL

PS C:\\htb> $SecPassword = ConvertTo-SecureString 'transporter@4' -AsPlainText -Force
PS C:\\htb> $Cred = New-Object System.Management.Automation.PSCredential('INLANEFREIGHT\\wley', $SecPassword)

Далее мы должны создать объект SecureString, который представляет пароль, который мы хотим установить для целевого пользователя damundsen.

Создание объекта SecureString

Тактика злоупотребления ACL

PS C:\\htb> $damundsenPassword = ConvertTo-SecureString 'Pwn3d_by_ACLs!' -AsPlainText -Force

Наконец, мы воспользуемся функцией Set-DomainUserPassword PowerView для изменения пароля пользователя. Нам нужно использовать -Credential флаг с объектом учетных данных, который мы создали для wley пользователя. Лучше всегда указывать флаг -Verbose, чтобы получать обратную связь о выполнении команды должным образом или как можно больше информации об ошибках. Мы могли бы сделать это с хоста атаки Linux, используя такой инструмент, как pth-net, который является частью pth-toolkit.

Изменение пароля пользователя

Тактика злоупотребления ACL

PS C:\\htb> cd C:\\Tools\\
PS C:\\htb> Import-Module .\\PowerView.ps1
PS C:\\htb> Set-DomainUserPassword -Identity damundsen -AccountPassword $damundsenPassword -Credential $Cred -Verbose
VERBOSE: [Get-PrincipalContext] Using alternate credentials
VERBOSE: [Set-DomainUserPassword] Attempting to set the password for user 'damundsen'
VERBOSE: [Set-DomainUserPassword] Password for user 'damundsen' successfully reset

Мы видим, что команда успешно завершена, изменив пароль для целевого пользователя при использовании учетных данных, которые мы указали для wley пользователя, которого мы контролируем. Далее нам нужно выполнить аналогичный процесс для аутентификации в качестве damundsen пользователя и добавить себя в Help Desk Level 1 группу.