Az - Cloud Kerberos Trust
이 게시물은 https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/ 의 요약입니다. 공격에 대한 자세한 정보는 해당 링크를 확인하세요. 이 기술은 https://www.youtube.com/watch?v=AFay_58QubY에서도 설명되었습니다.
기본 정보
신뢰
Azure AD와의 신뢰가 설정되면 AD에 읽기 전용 도메인 컨트롤러 (RODC)가 생성됩니다. RODC 컴퓨터 계정은 **AzureADKerberos$
**로 명명됩니다. 또한, krbtgt
계정인 **krbtgt_AzureAD
**가 생성됩니다. 이 계정은 Azure AD가 생성하는 티켓에 사용되는 Kerberos 키를 포함합니다.
따라서, 이 계정이 침해당하면 어떤 사용자든지 위장할 수 있습니다... 하지만 이 계정은 도메인 관리자, 엔터프라이즈 관리자, 관리자와 같은 일반적인 특권 AD 그룹을 위한 티켓을 생성할 수 없도록 막혀 있기 때문에 이는 사실이 아닙니다.
그러나 실제 시나리오에서는 해당 그룹에 속하지 않는 특권 사용자가 있을 것입니다. 따라서, 새로운 krbtgt 계정이 침해당하면 해당 사용자를 위장하는 데 사용될 수 있습니다.
Kerberos TGT
또한, 하이브리드 ID를 사용하여 Windows에서 사용자가 인증되면 Azure AD가 부분 Kerberos 티켓과 PRT를 발급합니다. TGT는 부분적인 이유로 AzureAD는 온프레미스 AD의 사용자에 대한 제한된 정보 (보안 식별자 (SID) 및 이름과 같은)를 가지고 있습니다.
Windows는 이 부분적인 TGT를 krbtgt
서비스에 대한 서비스 티켓을 요청함으로써 전체 TGT로 교환할 수 있습니다.
NTLM
Kerberos 인증을 지원하지 않는 서비스가 있을 수 있으므로, 요청에 KERB-KEY-LIST-REQ
필드를 포함한 보조 krbtgt
키를 사용하여 부분적인 TGT를 요청하고 응답에서 주요 krbtgt
키와 NT 해시를 포함한 전체 TGT를 얻을 수 있습니다.
도메인 관리자 권한 획득을 위한 클라우드 Kerberos 신뢰 남용
AzureAD가 부분적인 TGT를 생성할 때 사용자에 대한 정보를 사용합니다. 따라서, Global Admin이 AzureAD의 보안 식별자와 사용자 이름과 같은 데이터를 수정할 수 있다면, 해당 사용자에 대한 TGT를 요청할 때 보안 식별자가 다른 것이 될 수 있습니다.
Microsoft Graph 또는 Azure AD Graph를 통해 이를 수행할 수는 없지만, Global Admin이 하이브리드 사용자의 SAM 이름과 SID를 수정할 수 있는 API Active Directory Connect를 사용할 수 있습니다. 그리고 인증하면 수정된 SID를 포함한 부분적인 TGT를 얻을 수 있습니다.
AADInternals를 사용하여 이를 수행하고 Set-AADIntAzureADObject cmdlet을 통해 동기화된 사용자를 업데이트할 수 있습니다.
공격 전제 조건
공격의 성공과 도메인 관리자 권한 획득을 위해서는 특정 전제 조건을 충족해야 합니다:
동기화 API를 통해 계정을 수정할 수 있는 능력이 필요합니다. 이는 Global Admin 역할을 가지거나 AD Connect 동기화 계정을 소유함으로써 달성할 수 있습니다. 또는 Hybrid Identity Administrator 역할이 있다면 AD Connect를 관리하고 새로운 동기화 계정을 설정할 수 있는 능력을 부여합니다.
하이브리드 계정이 필수적입니다. 이 계정은 피해자 계정의 세부 정보로 수정 가능해야 하며 인증에도 접근 가능해야 합니다.
Active Directory에서 대상 피해자 계정을 식별하는 것이 필요합니다. 공격은 이미 동기화된 모든 계정에서 실행할 수 있지만, Azure AD 테넌트는 온프레미스 보안 식별자를 복제하지 않아야 하므로 동기화되지 않은 계정을 수정하여 티켓을 얻어야 합니다.
또한, 이 계정은 도메인 관리자와 동등한 권한을 가지고 있어야 하지만 일반적인 AD 관리자 그룹의 구성원이 아니어야 합니다. 이는 AzureAD RODC에 의해 잘못된 TGT가 생성되는 것을 피하기 위함입니다.
가장 적합한 대상은 AD Connect Sync 서비스에서 사용하는 Active Directory 계정입니다. 이 계정은 Azure AD와 동기화되지 않으므로 SID가 유효한 대상이 되며, 암호 해시를 동기화하는 역할로 인해 도메인 관리자와 동등한 권한을 가지고 있습니다 (Password Hash Sync가 활성화된 경우). 표준 설치의 경우, 이 계정은 MSOL_로 접두사가 붙습니다. 다른 경우에는 도메인 개체에서 디렉터리 복제 권한이 부여된 모든 계정을 열거하여 해당 계정을 찾
最終更新