Az - Cloud Kerberos Trust
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
이 게시물은 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_AzureAD
**라는 이름의 보조 krbtgt
계정이 생성됩니다. 이 계정은 Azure AD가 생성하는 티켓에 사용되는 Kerberos 키를 포함합니다.
따라서 이 계정이 손상되면 사용자를 가장할 수 있는 가능성이 있지만... 이는 사실이 아닙니다. 이 계정은 도메인 관리자, 엔터프라이즈 관리자, 관리자와 같은 일반 권한 AD 그룹에 대한 티켓 생성을 방지합니다.
그러나 실제 시나리오에서는 이러한 그룹에 포함되지 않은 권한 있는 사용자가 있을 것입니다. 따라서 새로운 krbtgt 계정이 손상되면 이를 사용하여 그들을 가장할 수 있습니다.
또한 사용자가 하이브리드 아이덴티티를 사용하여 Windows에서 인증할 때 Azure AD는 PRT와 함께 부분 Kerberos 티켓을 발급합니다. TGT는 AzureAD가 온프레미스 AD의 사용자에 대한 제한된 정보(보안 식별자(SID) 및 이름 등)를 가지고 있기 때문에 부분적입니다.
Windows는 그런 다음 이 부분 TGT를 krbtgt
서비스에 대한 서비스 티켓을 요청하여 전체 TGT로 교환할 수 있습니다.
Kerberos 인증을 지원하지 않는 서비스가 있을 수 있으므로 KERB-KEY-LIST-REQ
필드를 PADATA 요청 부분에 포함하여 보조 krbtgt
키로 서명된 부분 TGT를 요청한 다음, 응답에 NT 해시를 포함하여 기본 krbtgt
키로 서명된 전체 TGT를 얻는 것이 가능합니다.
AzureAD가 부분 TGT를 생성할 때 사용자가 가진 세부 정보를 사용합니다. 따라서 글로벌 관리자가 AzureAD에서 사용자의 보안 식별자 및 이름과 같은 데이터를 수정할 수 있다면, 해당 사용자에 대한 TGT를 요청할 때 보안 식별자는 다른 것이 될 것입니다.
Microsoft Graph 또는 Azure AD Graph를 통해 이를 수행할 수는 없지만, API Active Directory Connect를 사용하여 동기화된 사용자를 생성하고 업데이트하는 데 사용할 수 있습니다. 이를 통해 글로벌 관리자는 하이브리드 사용자의 SAM 이름과 SID를 수정할 수 있으며, 그런 다음 인증하면 수정된 SID를 포함하는 부분 TGT를 얻을 수 있습니다.
AADInternals를 사용하여 동기화된 사용자로 업데이트할 수 있으며, Set-AADIntAzureADObject cmdlet을 사용할 수 있습니다.
공격의 성공과 도메인 관리자 권한 획득은 특정 전제 조건을 충족하는 데 달려 있습니다:
동기화 API를 통해 계정을 변경할 수 있는 능력이 중요합니다. 이는 글로벌 관리자 역할을 가지거나 AD Connect 동기화 계정을 보유함으로써 달성할 수 있습니다. 또는 하이브리드 아이덴티티 관리자 역할이 충분하며, 이는 AD Connect를 관리하고 새로운 동기화 계정을 설정할 수 있는 능력을 부여합니다.
하이브리드 계정의 존재가 필수적입니다. 이 계정은 피해자 계정의 세부 정보로 수정 가능해야 하며 인증을 위해 접근할 수 있어야 합니다.
Active Directory 내에서 대상 피해자 계정을 식별하는 것이 필요합니다. 공격은 이미 동기화된 모든 계정에 대해 실행할 수 있지만, Azure AD 테넌트는 온프레미스 보안 식별자를 복제하지 않아야 하므로 티켓을 얻기 위해 동기화되지 않은 계정을 수정해야 합니다.
또한 이 계정은 도메인 관리자와 동등한 권한을 가져야 하지만, AzureAD RODC에 의해 유효하지 않은 TGT가 생성되지 않도록 일반 AD 관리자 그룹의 구성원이 아니어야 합니다.
가장 적합한 대상은 AD Connect Sync 서비스에서 사용되는 Active Directory 계정입니다. 이 계정은 Azure AD와 동기화되지 않으므로 SID가 유효한 대상이 되며, 비밀번호 해시 동기화가 활성화된 경우 비밀번호 해시 동기화 역할로 인해 본질적으로 도메인 관리자와 동등한 권한을 가집니다. 익스프레스 설치가 있는 도메인의 경우 이 계정은 MSOL_로 접두사가 붙습니다. 다른 경우에는 도메인 객체에서 디렉터리 복제 권한이 있는 모든 계정을 열거하여 이 계정을 식별할 수 있습니다.
원본 게시물에서 확인하세요: https://dirkjanm.io/obtaining-domain-admin-from-azure-ad-via-cloud-kerberos-trust/
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)