Sapphire Ticket
Сапфировые билеты похожи на Алмазные билеты тем, что билет не подделывается, а легитимно получается после запроса. Различие заключается в том, как модифицируется PAC. Подход с Алмазным билетом модифицирует легитимный PAC. В подходе с Сапфировым билетом PAC другого привилегированного пользователя получается с помощью S4U2self+u2u. Этот PAC затем заменяет тот, который представлен в легитимном билете. Процесс состоит из легитимных элементов (начиная со стандартного запроса билета), что делает его самым сложным вариантом для обнаружения.
Поскольку Алмазные билеты модифицируют PAC в реальном времени, чтобы включить произвольные идентификаторы групп, есть вероятность, что какое-то программное обеспечение способно выявлять несоответствия между значениями PAC и реальными данными Active Directory (например, PAC указывает, что пользователь принадлежит к определённым группам, хотя на самом деле это не так).
Сапфировые билеты являются альтернативой для получения аналогичных билетов более скрытым способом, используется легитимный PAC привилегированного пользователя. Больше не будет несоответствий между тем, что находится в PAC, и тем, что имеется в Active Directory.
Ticketer из Impacket может быть использован для реализации этой атаки на UNIX-подобных системах.
ticketer.py -request -impersonate 'domainadmin' -domain 'DOMAIN.FQDN' -user 'domain_user' -password 'password' -nthash 'krbtgt NT hash' -aesKey 'krbtgt AES key' -user-id '1115' -domain-sid 'S-1-5-21-...' 'baduser'
Важно отметить: аргумент -user-id будет использоваться для построения структуры PAC "Заказчика". Аргументы, используемые для настройки PAC, будут игнорироваться (-groups, -extra-sid, -duration). Также будет игнорироваться SID домена (-domain-sid) и имя пользователя, переданное в позиционном аргументе (в данном случае, baduser). Вся эта информация будет взята в неизменном виде из PAC, полученного ранее с использованием техники "S4U2self + U2U".