CVE-2020-17049: Kerberos Bronze Bit Attack

link: https://blog.netspi.com/cve-2020-17049-kerberos-bronze-bit-overview/

Крутая статья, в которой расказывается как работают разные части Kerberos: https://blog.netspi.com/cve-2020-17049-kerberos-bronze-bit-theory/ и https://blog.netspi.com/cve-2020-17049-kerberos-bronze-bit-attack/

Условия

С точки зрения злоумышленника, атака требует нескольких предварительных условий:

  • Плацдарм в целевой среде для начала атаки.

  • Хеш пароля учетной записи службы.

  • Этой учетной записи службы должно быть разрешено выполнять ограниченное делегирование другой службе.

    • Это может быть классическое ограниченное делегирование (с настройкой «Использовать только Kerberos» или «Использовать любой протокол аутентификации»).

    • Это также может быть ограниченное делегирование на основе ресурсов.

Импакт

При соблюдении условий, описанных выше, атакующий может пройти аутентификацию в другой службе как любой пользователь. Сюда входят участники группы Protected Users и любые другие пользователи, явно для которых указано, что они "sensitive and cannot be delegated". Другая служба будет принимать и обрабатывать запросы атакующего как если бы они исходили от другого impersonated (олицетворенного) пользователя.

Атака

Атака использует протоколы — S4U2self и S4U2proxy — предложенные Microsoft как расширения Kerberos. Атака использует протокол S4U2self для получения билета службы для целевого пользователя скомпрометированной службы, используя хеш пароля службы.

Затем атака манипулирует этим билетом службы, проверяя, установлен ли его флаг пересылки (переводя бит «Forwardable» в 1). Подделанный билет службы затем используется в протоколе S4U2proxy для получения билета службы для целевого пользователя к целевой службе. Имея в руках этот последний билет службы, злоумышленник может выдать себя за целевого пользователя, отправлять запросы целевой службе, и запросы будут обрабатываться под контролем целевого пользователя.

Эта атака стала возможной, потому что флаг пересылки защищен только путем шифрования билета службы с помощью хэша пароля первой службы. Уже получив хэш, злоумышленник может расшифровать билет службы, перевернуть бит, чтобы установить флаг пересылки, а затем повторно зашифровать билет. В отличие от PAC, на который нацелена атака MS14-068, в этой части билета нет подписи для обнаружения взлома.

Tools

В Impacket отправлен pull request с реализацией этой атаки: https://github.com/SecureAuthCorp/impacket/pull/1013

Last updated