Az - Cloud Kerberos Trust

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

이 게시물은 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_로 접두사가 붙습니다. 다른 경우에는 도메인 개체에서 디렉터리 복제 권한이 부여된 모든 계정을 열거하여 해당 계정을 찾

最終更新