AD CS

To find vulnerable certificate templates you can run:

IF SSL ERROR

-scheme ldap

Шаб­лоны сер­тифика­тов хра­нят­ся в сле­дующем кон­тей­нере:

CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=contoso,DC=com

Со­ответс­твен­но, получить шаб­лоны мож­но при помощи сле­дующей коман­ды PowerShell, исполь­зуя модуль AD:

PS > Get-ADObject -SearchBase "CN=Certificate Templates,CN=Public Key Services,CN=

Certipy + BH

Modifiable SAN. ESC1

Это ата­ка осно­выва­ется на изме­нении парамет­ра SAN, который поз­воля­ет ука­зать аль­тер­натив­ное имя поль­зовате­ля. Это поз­волит нам выпус­тить сер­тификат на дру­гого поль­зовате­ля, даже адми­нис­тра­тора домена. Что­бы ата­ка прош­ла успешно, шаб­лон сер­тифика­та дол­жен иметь уста­нов­ленный флаг ENROLLEE_SUPPLIES_SUBJECT.

Any or None Purpose Attack. ESC2

Ес­ли в шаб­лоне сер­тифика­та ука­зан EKU любого наз­начения или вооб­ще отсутс­тву­ет EKU, сер­тификат мож­но исполь­зовать для чего угод­но. Им мож­но зло­упот­реблять, как ESC3, нап­ример исполь­зовать сер­тификат в качес­тве тре­бова­ния для зап­роса дру­гого сер­тифика­та от име­ни любого поль­зовате­ля.

Enrollment Agent. ESC3

В до­кумен­тации Microsoft ука­зано, что EKU Certificate Request Agent может исполь­зовать­ся, что­бы выдать себя за дру­гого поль­зовате­ля, и поз­воля­ет выпус­тить сер­тификат, который может быть исполь­зован для сов­мес­тной под­писи зап­росов от име­ни любого поль­зовате­ля для любого шаб­лона.

Пос­ле того как мы получи­ли обыч­ного поль­зовате­ля, зап­росим сер­тификат, пред­ста­вив­шись дру­гим поль­зовате­лем.

(EDITF_ATTRIBUTESUBJECTALTNAME2). ESC6

EDITF_ATTRIBUTESUBJECTALTNAME2 Этот флаг поз­воля­ет ука­зать про­изволь­ный SAN (Subject Alternative Name) для всех сер­тифика­тов, нес­мотря на кон­фигура­цию шаб­лона сер­тифика­та.

dNSHostName Spoofing

Пол­ный флоу ата­ки выг­лядит сле­дующим обра­зом:

  1. Соз­дание компь­юте­ра в домене с dNSHostName, соот­ветс­тву­ющим DNS-име­ни кон­трол­лера домена.

  2. За­мена SPN.

  3. Зап­рос сер­тифика­та для компь­юте­ра.

как про­верить, уяз­вим ли кон­трол­лер домена к CVE-2022-26923? Глав­ным приз­наком уяз­вимос­ти слу­жит наличие SID в отве­те на зап­рос сер­тифика­та. Если он есть — патч в сис­теме при­сутс­тву­ет, если нет, то пат­ча тоже нет.

Using cert without PKINIT

Last updated