Okta Hardening
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Directory
People
攻撃者の視点から見ると、これは非常に興味深いです。なぜなら、登録されているすべてのユーザー、彼らのメールアドレス、所属するグループ、プロフィール、さらにはデバイス(OSと共にモバイルデバイス)を見ることができるからです。
ホワイトボックスレビューでは、いくつかの「保留中のユーザーアクション」や「パスワードリセット」がないことを確認してください。
Groups
ここでは、Oktaで作成されたすべてのグループを見つけることができます。これは、ユーザーに付与される可能性のある異なるグループ(権限のセット)を理解するために興味深いです。 グループ内に含まれる人々や各グループに割り当てられたアプリを見ることができます。
もちろん、adminという名前のグループは特に興味深いです。特にGlobal Administratorsグループのメンバーを確認して、最も特権のあるメンバーが誰であるかを学びましょう。
ホワイトボックスレビューでは、グローバル管理者は5人を超えない(2〜3人が理想的)ことが望ましいです。
Devices
ここでは、すべてのユーザーのすべてのデバイスのリストを見つけることができます。また、それが積極的に管理されているかどうかも確認できます。
Profile Editor
ここでは、名前、メールアドレス、ユーザー名などの重要な情報がOktaと他のアプリケーション間でどのように共有されているかを観察できます。これは、ユーザーがOktaでフィールドを変更でき、そのフィールドが外部アプリケーションでユーザーを識別するために使用される場合、内部の人間が他のアカウントを乗っ取ろうとする可能性があるため、興味深いです。
さらに、Oktaの**User (default)
プロファイルでは、各ユーザーが持つフィールドと、ユーザーが書き込み可能**なフィールドを確認できます。管理パネルが見えない場合は、プロフィール情報を更新して、どのフィールドを更新できるかを確認してください(メールアドレスを更新するには確認が必要です)。
Directory Integrations
ディレクトリは、既存のソースから人々をインポートすることを可能にします。ここでは、他のディレクトリからインポートされたユーザーを見ることができると思います。
見たことはありませんが、Oktaがユーザーをインポートするために使用している他のディレクトリを見つけることは興味深いです。そのディレクトリを侵害すれば、Oktaで作成されたユーザーの属性値を設定し、Okta環境を侵害する可能性があります。
Profile Sources
プロファイルソースは、ユーザープロファイル属性の信頼できるソースとして機能するアプリケーションです。ユーザーは一度に単一のアプリケーションまたはディレクトリからのみソースされます。
見たことはありませんので、このオプションに関するセキュリティやハッキングに関する情報は歓迎します。
Customizations
Brands
このセクションのDomainsタブで、メールを送信するために使用されるメールアドレスと、会社のOkta内のカスタムドメインを確認してください(おそらく既に知っているでしょう)。
さらに、Settingタブでは、管理者であれば「カスタムサインアウトページを使用」してカスタムURLを設定できます。
SMS
ここには特に興味深いものはありません。
End-User Dashboard
ここでは設定されたアプリケーションを見つけることができますが、その詳細は後で別のセクションで見ていきます。
Other
興味深い設定ですが、セキュリティの観点から特に重要なものはありません。
Applications
Applications
ここでは、すべての設定されたアプリケーションとその詳細を見つけることができます:誰がアクセスできるか、どのように設定されているか(SAML、OpenID)、ログインURL、Oktaとアプリケーション間のマッピングなど。
Sign On
タブには、Password reveal
というフィールドもあり、ユーザーがアプリケーション設定を確認するときにパスワードを表示できるようになります。ユーザーパネルからアプリケーションの設定を確認するには、3つのドットをクリックします:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-e99c0a173e4c00ca47ae542d277fd2388ab722dc%252Fimage%2520%28283%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=62498477&sv=1)
そして、アプリの詳細(パスワード表示機能が有効になっている場合など)を確認できます:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-7f5e6e6af8d861835bae0bae75c8446e59e3b7fb%252Fimage%2520%28220%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=8a3c5a3b&sv=1)
Identity Governance
Access Certifications
Access Certificationsを使用して、ユーザーのリソースへのアクセスを定期的にレビューし、必要に応じてアクセスを自動的に承認または取り消す監査キャンペーンを作成します。
使用されているのを見たことはありませんが、防御の観点からは良い機能だと思います。
Security
General
セキュリティ通知メール:すべて有効にするべきです。
CAPTCHA統合:少なくともinvisible reCaptchaを設定することを推奨します。
組織のセキュリティ:すべて有効にでき、アクティベーションメールは長く続かないようにするべきです(7日間が適切です)。
ユーザー列挙防止:両方とも有効にするべきです。
ユーザー列挙防止は、次のいずれかの条件が許可されている場合には効果がありません(詳細はユーザー管理を参照してください):
自己登録
メール認証を伴うJITフロー
Okta ThreatInsight設定:脅威レベルに基づいてセキュリティをログに記録し、強制する
HealthInsight
ここでは、正しく構成された設定と危険な設定を見つけることができます。
Authenticators
ここでは、ユーザーが使用できるすべての認証方法を見つけることができます:パスワード、電話、メール、コード、WebAuthnなど。パスワード認証をクリックすると、パスワードポリシーを確認できます。強力であることを確認してください。
Enrollmentタブでは、必須またはオプションのものを確認できます:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-58822b42e1b5b613cb76827eec02490d58d7cdaf%252Fimage%2520%28143%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=d5cf8d8f&sv=1)
電話を無効にすることを推奨します。最も強力なのは、おそらくパスワード、メール、WebAuthnの組み合わせです。
Authentication policies
すべてのアプリには認証ポリシーがあります。認証ポリシーは、アプリにサインインしようとするユーザーが特定の条件を満たしていることを確認し、その条件に基づいて要素の要件を強制します。
ここでは、各アプリケーションにアクセスするための要件を見つけることができます。各アプリケーションに対して少なくともパスワードと他の方法を要求することを推奨します。しかし、攻撃者としては、より弱いものを見つければ、それを攻撃することができるかもしれません。
Global Session Policy
ここでは、異なるグループに割り当てられたセッションポリシーを見つけることができます。例えば:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-02a5ed49f8766848f7b955de2722599f64f1a4e8%252Fimage%2520%28245%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=9427b080&sv=1)
MFAを要求し、セッションの有効期間を数時間に制限し、ブラウザ拡張機能間でセッションクッキーを持続させず、場所とアイデンティティプロバイダーを制限することを推奨します(可能であれば)。例えば、すべてのユーザーが特定の国からログインする必要がある場合、その場所のみを許可することができます。
Identity Providers
Identity Providers (IdPs)は、ユーザーアカウントを管理するサービスです。OktaにIdPを追加することで、エンドユーザーがソーシャルアカウントやスマートカードで認証することでカスタムアプリケーションに自己登録できるようになります。
Identity Providersページでは、ソーシャルログイン(IdPs)を追加し、Oktaをサービスプロバイダー(SP)として構成するためにインバウンドSAMLを追加できます。IdPを追加した後、ユーザーの場所、デバイス、メールドメインなどのコンテキストに基づいてユーザーをIdPに誘導するルーティングルールを設定できます。
いずれかのアイデンティティプロバイダーが構成されている場合、攻撃者と防御者の視点からその構成を確認し、ソースが本当に信頼できるかを確認してください。攻撃者がそれを侵害すれば、Okta環境にもアクセスできる可能性があります。
Delegated Authentication
委任認証により、ユーザーは組織のActive Directory (AD)またはLDAPサーバーの資格情報を入力してOktaにサインインできます。
再度確認してください。攻撃者が組織のADを侵害すれば、この設定のおかげでOktaにピボットできる可能性があります。
Network
ネットワークゾーンは、組織内のコンピュータやデバイスへのアクセスをIPアドレスに基づいて許可または制限するために使用できる構成可能な境界です。個々のIPアドレス、IPアドレスの範囲、または地理的な場所を指定してネットワークゾーンを定義できます。
一つ以上のネットワークゾーンを定義した後、それらをグローバルセッションポリシー、認証ポリシー、VPN通知、およびルーティングルールで使用できます。
攻撃者の視点からは、どのIPが許可されているか(およびどのIPが他よりも特権を持っているか)を知ることが興味深いです。ユーザーが特定のIPアドレスまたは地域からアクセスする必要がある場合、この機能が適切に使用されているか確認してください。
Device Integrations
エンドポイント管理:エンドポイント管理は、管理されたデバイスがアプリケーションにアクセスできるようにするための認証ポリシーに適用できる条件です。
まだ使用されているのを見たことがありません。TODO
通知サービス:まだ使用されているのを見たことがありません。TODO
API
このページでOkta APIトークンを作成し、作成されたトークン、その権限、有効期限、Origin URLsを確認できます。APIトークンはトークンを作成したユーザーの権限で生成され、そのユーザーがアクティブである限り有効です。
Trusted Originsは、Okta APIを通じてOkta orgにアクセスするために制御および信頼するウェブサイトにアクセスを許可します。
APIトークンは多くないはずです。多い場合、攻撃者がそれらにアクセスして使用する可能性があります。
Workflow
Automations
オートメーションを使用して、エンドユーザーのライフサイクル中に発生する一連のトリガー条件に基づいて自動アクションを作成できます。
例えば、条件は「Oktaでのユーザーの非アクティブ」や「Oktaでのユーザーパスワードの有効期限切れ」であり、アクションは「ユーザーにメールを送信」や「Oktaでのユーザーライフサイクル状態の変更」などです。
Reports
Reports
ログをダウンロードします。ログは現在のアカウントのメールアドレスに送信されます。
System Log
ここでは、OktaやOktaを通じてアプリケーションにログインするなど、ユーザーが実行したアクションのログを多くの詳細と共に見つけることができます。
Import Monitoring
これは、Oktaでアクセスされた他のプラットフォームからログをインポートできます。
Rate limits
到達したAPIレート制限を確認します。
Settings
Account
ここでは、会社名、住所、メール請求連絡先、メール技術連絡先など、Okta環境に関する一般的な情報を見つけることができます。また、Oktaの更新を受け取るべき人と、どの種類のOktaの更新を受け取るべきかも確認できます。
Downloads
ここでは、Oktaを他の技術と同期するためのOktaエージェントをダウンロードできます。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated