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가 생성하는 티켓에 사용되는 케르버로스 키가 포함되어 있습니다.
따라서 이 계정이 침해당하면 모든 사용자를 표현할 수 있습니다. 그러나 이 계정은 도메인 관리자, 엔터프라이즈 관리자, 관리자와 같은 일반 특권 AD 그룹을 위한 티켓을 생성하는 것이 금지되어 있기 때문에 실제로는 그렇지 않습니다.
그러나 실제 시나리오에서는 해당 그룹에 속하지 않은 특권 사용자가 있을 수 있습니다. 따라서 새로운 krbtgt 계정이 침해당하면 해당 사용자를 표현하는 데 사용될 수 있습니다.
케르버로스 TGT
또한 하이브리드 ID를 사용하여 Windows에서 사용자가 인증하는 경우 Azure AD가 부분적인 케르버로스 티켓과 PRT를 발급합니다. TGT는 부분적이며 AzureAD는 온프렘 AD의 사용자에 대한 제한된 정보를 가지고 있습니다(보안 식별자(SID) 및 이름과 같은).
Windows는 이 부분적인 TGT를 krbtgt
서비스에 대한 서비스 티켓을 요청함으로써 전체 TGT로 교환할 수 있습니다.
NTLM
케르버로스 인증을 지원하지 않는 서비스가 있을 수 있기 때문에 부분적인 TGT를 요청하여 보조 krbtgt
키를 사용하여 서명된 부분적인 TGT를 얻고 요청의 PADATA 부분에 KERB-KEY-LIST-REQ
필드를 포함시킨 후 주요 krbtgt
키를 사용하여 서명된 전체 TGT를 얻을 수 있습니다. 응답에 NT 해시를 포함합니다.
클라우드 케르버로스 신뢰 남용으로 도메인 관리자 권한 획득
AzureAD가 부분적인 TGT를 생성할 때 사용자에 대한 정보를 사용합니다. 따라서 글로벌 관리자가 AzureAD의 사용자의 보안 식별자 및 이름과 같은 데이터를 수정할 수 있다면 해당 사용자에 대한 TGT를 요청할 때 보안 식별자가 다른 것이 될 것입니다.
Microsoft Graph 또는 Azure AD Graph를 통해 이 작업을 수행할 수는 없지만 글로벌 관리자가 사용할 수 있는 API Active Directory Connect를 사용하여 하이브리드 사용자의 SAM 이름 및 SID를 수정할 수 있습니다. 그런 다음 인증하면 수정된 SID가 포함된 부분적인 TGT를 받게 됩니다.
AADInternals를 사용하여 이를 수행하고 Set-AADIntAzureADObject cmdlet을 사용하여 동기화된 사용자를 업데이트할 수 있습니다.
공격 전제 조건
공격의 성공과 도메인 관리자 권한 획득은 특정 전제 조건 충족에 달려 있습니다:
동기화 API를 통해 계정을 수정할 수 있는 능력이 중요합니다. 글로벌 관리자 권한을 가지거나 AD Connect 동기화 계정을 소유함으로써 이를 달성할 수 있습니다. 또는 하이브리드 ID 관리자 역할이 있으면 AD Connect를 관리하고 새 동기화 계정을 설정할 수 있으므로 충분합니다.
하이브리드 계정이 필요합니다. 이 계정은 피해자 계정의 세부 정보로 수정할 수 있어야 하며 인증할 수 있어야 합니다.
Active Directory 내 대상 피해자 계정을 식별해야 합니다. 공격은 이미 동기화된 모든 계정에서 실행할 수 있지만 Azure AD 테넌트는 온프레미스 보안 식별자를 복제하지 않아야 하므로 동기화되지 않은 계정을 수정하여 티켓을 획득해야 합니다.
또한 이 계정은 일반 AD 관리자 그룹의 구성원이 아니어야 하지만 AzureAD RODC가 잘못된 TGT를 생성하는 것을 피하기 위해 도메인 관리자와 동등한 권한을 가져야 합니다.
가장 적합한 대상은 AD Connect Sync 서비스에서 사용하는 Active Directory 계정입니다. 이 계정은 Azure AD와 동기화되지 않으므로 해당 SID가 유효한 대상이 되며, 암호 해시를 동기화하는 역할로 도메인 관리자와 동등한 권한을 보유하고 있습니다(암호 해시 동기화가 활성화된 경우). 표준 설치의 경우 이 계정은 MSOL_로 시작합니다. 다른 경우에는 도메인 개체에 대한 디렉터리 복제 권한이 있는 모든 계정을 열거하여 해당 계정을 찾을 수 있습니다.
전체 공격
원본 게시물에서 확인하세요: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/
Last updated