Обнаружение атаки AS-REP Roasting

Обнаружение

Атака ASREPROast ищет пользователей с атрибутом без предварительной аутентификации Kerberos (DONT_REQ_PREAUTH). Это означает, что любой может отправить запрос AS_REQ на контроллер домена от имени любого из этих пользователей и получить сообщение AS_REP. Этот тип сообщения содержит фрагмент данных, зашифрованных исходным ключом пользователя, полученным из его пароля. Затем, используя это сообщение, пароль пользователя может быть взломан в автономном режиме.

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

Объект атакиActive Directory
ПриложенияRubeus, Impacket
Тактика ATT&CKCredential Access
Техника ATT&CKT1558.004
Сложность
Обнаружение
1/5
Противодействие
3/5
Реагирование
2/5
Итого
2

Входные данные:

Виртуальные машиныKali linux (192.168.0.114)
Windows 10 (192.168.0.111)
Windows Server 2019 (192.168.0.113)
Учетные записиusertest — пользователь без административных привилегий
adtester — пользователь без административных привилегий, с включенным параметром — «do not require kerberos preauthentication»
Настройки журналированияРасширенные настройки аудита windows
Sysmon
Wireshark
Обнаружение атаки AS-REP Roasting
adtester — пользователь с включенным параметром — «do not require kerberos preauthentication»

Данная статья носит исключительно ознакомительный характер и не является руководством к действию.

Этапы атаки

Поиск учетной записи с включенным «not require kerberos preauthentication» и ответ AS_REP

# Impacket Linux
impacket-GetNPUsers home.local/usertest -request -dc-ip 192.168.0.113
Обнаружение атаки AS-REP Roasting
#Rubeus Windows
Rubeus.exe asreproast
Обнаружение атаки AS-REP Roasting

Инструменты Kerberoasting обычно запрашивают при выполнении атаки RC4 encryption — это связано с тем, что он слабее и его легче взломать в автономном режиме с помощью таких инструментов, как Hashcat, чем другие алгоритмы шифрования, такие как AES-128 и AES-256. Хэши RC4 (тип 23) , а AES-256 (тип 18). Примеры $krb5tgs$23$* и $krb5tgs$18$*.

Подбор пароля

# Windows
hashcat64.exe -m 18200 c:Hashes.txt rockyou.txt 
# Linux
john --wordlist rockyou.txt Hashes.txt
# Linux
hashcat -m 18200 -a 3 Hashes.txt rockyou.txt

Обнаружение

КоммуникацияИсточникКомандаМестоИнформация
Windows 10 (192.168.0.111) -> Windows Server 2019 (192.168.0.113)Source host Windows 10 (192.168.0.111)Rubeus.exe asreproastEvent log — SecurityEvent ID: 4688
New Process Name: C:\test\Rubeus.exe
Process Command line: Rubeus.exe asreproast
Event log — SysmonEvent ID: 1
Image:C:\test\Rubeus.exe OriginalFileName:Rubeus.exe CommandLine:Rubeus.exe asreproast
PrefetcherРасположение C:\Windows\Prefetch\RUBEUS.EXE-D0DC83CC.pf
Destination host Windows Server 2019 (192.168.0.113)Rubeus.exe asreproastEvent log — Security
Event ID: 4738
User Account Control: ‘Don’t Require Preauth’ — Enable
Event ID: 4768
Ticket Encryption Type: 0x17
Pre-Authentication Type: 0
NetworkЗапрос 15 объектов LDAP:
subschemaSubentry
dsServiceName
namingContexts
defaultNamingContext
schemaNamingContext
configurationNamingContext rootDomainNamingContext
supportedControl
supportedLDAPVersion
supportedLDAPPolicies supportedSASLMechanisms
dnsHostName
ldapServiceName
serverName supportedCapabilities
Kali linux (192.168.0.114) -> Windows Server 2019 (192.168.0.113)Source host Kali linux (192.168.0.114)impacket-GetUserSPNs -request -dc-ip 192.168.0.113 home.local/usertestLinux command historyКоманда: cat .zsh_history
Destination host Windows Server 2019 (192.168.0.113)impacket-GetUserSPNs -request -dc-ip 192.168.0.113 home.local/usertestEvent log — SecurityEvent ID: 4738
User Account Control: ‘Don’t Require Preauth’ — Enable
Event ID: 4768
Ticket Encryption Type: 0x17
Pre-Authentication Type: 0
NetworkПоисковый LDAP запрос wholeSubtree с параметрами UserAccountControl=4194304 (значение DONT_REQ_PREAUTH в десятичном формате) и objectCategory=computer

Критерии для правил корреляции

Событие Event ID 4738:

Обнаруживать User Account Control, где будет активирован атрибут пользователя без предварительной аутентификации Kerberos (Don’t Require Preauth’ -Enabled).

# PowerShell
Get-WinEvent -FilterHashtable @{Logname='Security';ID=4738} | where {$_.Message -like "*Don't Require Preauth' -Enabled*"}
Обнаружение атаки AS-REP Roasting

Событие Event ID 4768:

  • Обнаруживать Ticket Encryption Type: 0x17 (шифрование RC4), в основном используется значение Ticket Encryption Type: 0x12 (AES). События с Ticket Encryption Type: 0x17 будут редкими, но могут быть ложные срабатывания
  • Обнаруживать параметр входа без предварительной аутентификации (Pre-Authentication Type: 0)
# PowerShell
Get-WinEvent -FilterHashtable @{Logname='Security';ID=4768} | where {$_.Message -Like "*0x17*" -and $_.Message -like "*Pre-Authentication Type: 0*"}
Обнаружение атаки AS-REP Roasting

Сетевой трафик:

Обнаружение атаки AS-REP Roasting
Rubeus network
Обнаружение атаки AS-REP Roasting
Impacket network

Противодействие

1) Если есть возможность не использовать «Do not require Kerberos preauthentication», то необходимо отключить параметр на всех учетных записях в Active Directory.

# PowerShell — поиск учетных записей с включенным параметром «Do not require Kerberos preauthentication»
Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true}
Обнаружение атаки AS-REP Roasting

2) Если есть необходимость использовать учетные записи в Active Directory с включенным параметром «Do not require Kerberos preauthentication», то нужно использовать пароль больше 25 символов.

3) Если отказаться от использования учетных записей с включенным параметром «Do not require Kerberos preauthentication» нет возможности, то для обнаружения нелегитимной активности нужно создать учетную запись с включенным параметром, которая не будет использоваться в организации. Ни один пользователь никогда не должен использовать эту учетную запись. Учетная запись для злоумышленника должна выглядит как настоящая, можно скопировать или создать по аналогии с существующими, например, добавить в привилегированные группы, обязательно нужно убиться, что установлен сильный пароль, больше 25 символов. Дополнительно, обязательно обновляйте время последнего входа в систему(LastLogonTimeStamp), чтобы учетная запись не была заброшенной.

Реагирование

При обнаружении AS-REP Roasting следует предпринять следующие действия:

  • Активируйте процесс реагирования на инциденты и предупредите группу реагирования на инциденты
  • Поместите в карантин любые затронутые компьютеры (например, хост, на который заходили под скомпрометированной учетной записью ) для проведения анализа, устранения и восстановления.
  • Сбросьте пароль для учетной записи пользователя, у которой включен параметр «Do not require Kerberos preauthentication».

Источники:

https://blog.netwrix.com/2022/11/03/cracking_ad_password_with_as_rep_roasting/


Файлы логов:

  • EnableKPre+impacket+rubeus.evtx — события Windows Server 2019 (192.168.0.113)
  • Impacker.pcap и rubeus.pcap — сетевой трафик Windows Server 2019 (192.168.0.113)

Запуск программ:

  • Активация параметра «Do not require Kerberos preauthentication» в 23.04.2023 в 11:08:52 от имени УЗ администратора домена
  • 23.04.2023 в 11:08:59 запуск программы с аргументами Rubeus.exe asreproast
  • 23.04.2023 в 11:09:05 запуск программы с аргументами impacket-GetUserSPNs -request -dc-ip 192.168.0.113 home.local/usertest

Скачать архив

jethacker
Оцените автора
( Пока оценок нет )
jethacker.ru
Добавить комментарий