Атака с использованием поддельных сертификатов – один из самых эффективных методов получения неавторизованного доступа к ресурсам внутри корпоративной сети. Мы уже рассказывали, как ловить такие атаки, выявляя аномалии при запросе TGT-билета по сертификату. Сегодня добавим ещё ряд идей для детектирования других Kerberos-атак на основе аномальных опций билета.
В упомянутой выше статье говорится, что некоторые утилиты, в частности Rubeus, при запросе билета Kerberos не выставляют некоторые флаги в опциях билета. Правда, таких событий может быть довольно много из-за использования различных Kerberos-клиентов, выполняющих запросы билетов. Но если добавить некоторые уточняющие параметры билета, которые часто используются атакующими, можно создать уже очень точные ханты.
Например, билет шифрован RC4 и содержит специфичные флаги в опциях:
EventID:(4768 OR 4769) AND
TicketOptionsList:(
"Proxiable" AND -"Name-canonicalize" AND -"Renewable-ok"
) AND
TicketEncryptionType:"0x17"
Или билет запрошен без PreAuth и содержит специфичные флаги в опциях:
EventID:(4768 OR 4769) AND
TicketOptionsList:(
"Proxiable" AND -"Name-canonicalize" AND -"Renewable-ok"
) AND
PreAuthType:"0"
А ещё в конце прошлого года обновилась схема событий запросов Kerberos-билетов (4768, 4769). Там добавилось много полей, которые могут помочь в детектировании различных атак на Active Directory, в дополнение к описанным выше хантам.
Например, с помощью поля ClientAdvertizedEncryptionTypes мы можем добавить хант на запрос TGT- и TGS-билетов со специфичными флагами в опциях и только для клиентов, которые указывают алгоритм шифрования RC4-HMAC-NT:
EventID:4768 AND
TicketOptions:"0x40800010" [Forwardable, Renewable, Renewable-ok] AND
ClientAdvertizedEncryptionTypes.raw:"RC4-HMAC-NT”
Также поле ClientAdvertizedEncryptionTypes можно использовать для детектирования других impacket-подобных утилит, которые используют аутентификацию с предъявлением сертификата:
EventID:4768 AND
PreAuthType:16 AND
ClientAdvertizedEncryptionTypes:"AES256-CTS-HMAC-SHA1-96 AES128-CTS-HMAC-SHA1-96"
...Или для детектирования U2U-запросов (UnPAC-the-Hash) от подобных утилит. При таком запросе поля TargetAccountName и ServiceName будут равны и нужно добавить следующие критерии поиска:
EventID:4769 AND
TicketOptionsList:"Enc-tkt-in-skey" AND
ClientAdvertizedEncryptionTypes.raw:"AES256-CTS-HMAC-SHA1-96 RC4-HMAC-NT"
В упомянутой выше статье говорится, что некоторые утилиты, в частности Rubeus, при запросе билета Kerberos не выставляют некоторые флаги в опциях билета. Правда, таких событий может быть довольно много из-за использования различных Kerberos-клиентов, выполняющих запросы билетов. Но если добавить некоторые уточняющие параметры билета, которые часто используются атакующими, можно создать уже очень точные ханты.
Например, билет шифрован RC4 и содержит специфичные флаги в опциях:
EventID:(4768 OR 4769) AND
TicketOptionsList:(
"Proxiable" AND -"Name-canonicalize" AND -"Renewable-ok"
) AND
TicketEncryptionType:"0x17"
Или билет запрошен без PreAuth и содержит специфичные флаги в опциях:
EventID:(4768 OR 4769) AND
TicketOptionsList:(
"Proxiable" AND -"Name-canonicalize" AND -"Renewable-ok"
) AND
PreAuthType:"0"
А ещё в конце прошлого года обновилась схема событий запросов Kerberos-билетов (4768, 4769). Там добавилось много полей, которые могут помочь в детектировании различных атак на Active Directory, в дополнение к описанным выше хантам.
Например, с помощью поля ClientAdvertizedEncryptionTypes мы можем добавить хант на запрос TGT- и TGS-билетов со специфичными флагами в опциях и только для клиентов, которые указывают алгоритм шифрования RC4-HMAC-NT:
EventID:4768 AND
TicketOptions:"0x40800010" [Forwardable, Renewable, Renewable-ok] AND
ClientAdvertizedEncryptionTypes.raw:"RC4-HMAC-NT”
Также поле ClientAdvertizedEncryptionTypes можно использовать для детектирования других impacket-подобных утилит, которые используют аутентификацию с предъявлением сертификата:
EventID:4768 AND
PreAuthType:16 AND
ClientAdvertizedEncryptionTypes:"AES256-CTS-HMAC-SHA1-96 AES128-CTS-HMAC-SHA1-96"
...Или для детектирования U2U-запросов (UnPAC-the-Hash) от подобных утилит. При таком запросе поля TargetAccountName и ServiceName будут равны и нужно добавить следующие критерии поиска:
EventID:4769 AND
TicketOptionsList:"Enc-tkt-in-skey" AND
ClientAdvertizedEncryptionTypes.raw:"AES256-CTS-HMAC-SHA1-96 RC4-HMAC-NT"