С выпуском патча Microsoft для исправления CVE-2020-17049 я рад поделиться подробностями об этой уязвимости и о том, как ее можно использовать. Этот пост представляет собой лишь общий обзор, и я настоятельно рекомендую читателям,
которым интересно, ознакомиться с моими следующими постами, которые предоставляют гораздо больше информации:
В этой атаке используются протоколы S4U2self и S4U2proxy, представленные Microsoft как расширения протокола Kerberos, используемого Active Directory. Атака использует протокол S4U2self для получения билета службы для целевого пользователя к скомпрометированной службе, используя хэш пароля службы.
Затем атака манипулирует этим билетом службы, проверяя, установлен ли его флаг пересылки (переводя бит «пересылка» на 1). Затем подделанный билет службы используется в протоколе S4U2proxy для получения билета службы для целевого пользователя к целевой службе. Имея в руках этот последний билет службы, злоумышленник может выдать себя за целевого пользователя, отправлять запросы целевой службе, и запросы будут обрабатываться под полномочиями целевого пользователя.
Эта атака стала возможной, потому что флаг пересылки защищен только путем шифрования билета службы с помощью хэша пароля первой службы. Уже получив хэш, злоумышленник может расшифровать билет службы, перевернуть бит,
чтобы установить флаг пересылки, а затем повторно зашифровать билет. В отличие от PAC, на который нацелена атака MS14-068, в этой части билета нет подписи для обнаружения подделки.
Этот эксплойт обходит две существующие защиты для делегирования Kerberos и предоставляет возможность олицетворения, бокового перемещения и повышения привилегий. Поскольку это достигается путем переворота одного бита,
и в духе атак Golden Ticket и Silver Ticket я назвал эту атаку Бронзовым битом.
Если вы хотите опробовать эксплойт в своей собственной среде, он был реализован как дополнение к платформе Impacket с ожидающим запросом на pull request. Конечно, это нужно будет протестировать в контролируемой среде с непропатченным контроллером домена. Я рекомендую ознакомиться с публикацией «Практическая эксплуатация» для получения дополнительных сведений о том, как можно использовать эксплойт.
Конечно, любое новое исследование основывается на великой работе многих других. Я хотел бы поблагодарить следующих людей, в частности, за публикацию их собственных исследований и за помощь в этом открытии:
которым интересно, ознакомиться с моими следующими постами, которые предоставляют гораздо больше информации:
- Чтобы узнать о Kerberos, делегировании Kerberos и уязвимости, стоящей за этой атакой, см. CVE-2020-17049: Kerberos Bronze Bit Attack - Theory.
- Чтобы узнать о реализации атаки, когда можно использовать атаку, и увидеть практические сценарии использования уязвимостей, см. CVE-2020-17049: Kerberos Bronze Bit Attack - Practical Exploitation.
- Позиция в целевой среде для начала атаки.
- Хэш пароля учетной записи службы.
- Этой учетной записи службы должно быть разрешено выполнять ограниченное делегирование другой службе.
- Это может быть классическое ограниченное делегирование (с настройкой «- Использовать только Kerberos» или «- Использовать любой протокол аутентификации»).
- Это также может быть ограниченное делегирование на основе ресурсов.
В этой атаке используются протоколы S4U2self и S4U2proxy, представленные Microsoft как расширения протокола Kerberos, используемого Active Directory. Атака использует протокол S4U2self для получения билета службы для целевого пользователя к скомпрометированной службе, используя хэш пароля службы.
Затем атака манипулирует этим билетом службы, проверяя, установлен ли его флаг пересылки (переводя бит «пересылка» на 1). Затем подделанный билет службы используется в протоколе S4U2proxy для получения билета службы для целевого пользователя к целевой службе. Имея в руках этот последний билет службы, злоумышленник может выдать себя за целевого пользователя, отправлять запросы целевой службе, и запросы будут обрабатываться под полномочиями целевого пользователя.
Эта атака стала возможной, потому что флаг пересылки защищен только путем шифрования билета службы с помощью хэша пароля первой службы. Уже получив хэш, злоумышленник может расшифровать билет службы, перевернуть бит,
чтобы установить флаг пересылки, а затем повторно зашифровать билет. В отличие от PAC, на который нацелена атака MS14-068, в этой части билета нет подписи для обнаружения подделки.
Этот эксплойт обходит две существующие защиты для делегирования Kerberos и предоставляет возможность олицетворения, бокового перемещения и повышения привилегий. Поскольку это достигается путем переворота одного бита,
и в духе атак Golden Ticket и Silver Ticket я назвал эту атаку Бронзовым битом.
Если вы хотите опробовать эксплойт в своей собственной среде, он был реализован как дополнение к платформе Impacket с ожидающим запросом на pull request. Конечно, это нужно будет протестировать в контролируемой среде с непропатченным контроллером домена. Я рекомендую ознакомиться с публикацией «Практическая эксплуатация» для получения дополнительных сведений о том, как можно использовать эксплойт.
Конечно, любое новое исследование основывается на великой работе многих других. Я хотел бы поблагодарить следующих людей, в частности, за публикацию их собственных исследований и за помощь в этом открытии: