Okta Security
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Okta, Inc.は、クラウドベースのソフトウェアソリューションでアイデンティティおよびアクセス管理分野で認識されています。これらのソリューションは、さまざまな現代アプリケーションにおけるユーザー認証を簡素化し、安全にすることを目的としています。これらは、機密データを保護しようとする企業だけでなく、アプリケーション、ウェブサービス、デバイスにアイデンティティコントロールを統合したい開発者にも対応しています。
Oktaの主力製品はOkta Identity Cloudです。このプラットフォームは、以下を含む製品群を網羅していますが、これに限定されません:
シングルサインオン(SSO):複数のアプリケーションで1セットのログイン資格情報を使用してユーザーアクセスを簡素化します。
多要素認証(MFA):複数の確認手段を要求することでセキュリティを強化します。
ライフサイクル管理:ユーザーアカウントの作成、更新、無効化プロセスを自動化します。
ユニバーサルディレクトリ:ユーザー、グループ、デバイスの集中管理を可能にします。
APIアクセス管理:APIへのアクセスを保護し、管理します。
これらのサービスは、データ保護を強化し、ユーザーアクセスを簡素化することを目的としており、セキュリティと利便性の両方を向上させます。Oktaのソリューションの多様性は、さまざまな業界で人気の選択肢となっており、大企業、小企業、個々の開発者にとっても有益です。2021年9月の最新情報では、Oktaはアイデンティティおよびアクセス管理(IAM)分野で著名な存在として認識されています。
Oktaの主な目的は、外部アプリケーションへの異なるユーザーおよびグループへのアクセスを構成することです。もしあなたがOkta環境で管理者権限を侵害することができれば、会社が使用している他のすべてのプラットフォームを侵害することが非常に高い確率で可能です。
Okta環境のセキュリティレビューを実施するには、管理者の読み取り専用アクセスを要求する必要があります。
ユーザー(これはOktaに保存される、構成されたアイデンティティプロバイダーからログインする、またはActive DirectoryまたはLDAPを介して認証されることができます)。 これらのユーザーはグループ内に存在することがあります。 また、認証者も存在します:パスワードやWebAuthn、メール、電話、Okta Verifyなどのさまざまな2FAの認証オプション(有効または無効にできる)...
次に、Oktaと同期されたアプリケーションがあります。各アプリケーションは、情報(メールアドレス、名前など)を共有するためにOktaとのマッピングを持っています。さらに、各アプリケーションは認証ポリシー内に存在し、ユーザーがアプリケーションにアクセスするために必要な認証者を示します。
最も強力な役割はスーパ管理者です。
攻撃者が管理者アクセスでOktaを侵害した場合、すべてのOktaを信頼するアプリは非常に高い確率で侵害されるでしょう。
通常、企業のポータルはcompanyname.okta.comにあります。そうでない場合は、companyname.の単純なバリエーションを試してください。見つからない場合、組織がCNAMEレコードを持っている可能性もあります。例えば、okta.companyname.com
がOktaポータルを指している場合です。
もし**companyname.kerberos.okta.com
がアクティブであれば、KerberosがOktaアクセスに使用されており、通常はWindowsユーザーのためにMFAをバイパスします。AD内でKerberos認証されたOktaユーザーを見つけるには、getST.py
を適切なパラメータで実行します。ADユーザーチケットを取得したら、RubeusやMimikatzなどのツールを使用して制御されたホストに注入し、clientname.kerberos.okta.com
がインターネットオプションの「イントラネット」ゾーンにあることを確認します**。特定のURLにアクセスすると、JSONの「OK」レスポンスが返され、Kerberosチケットの受け入れが示され、Oktaダッシュボードへのアクセスが許可されます。
Oktaサービスアカウントを委任SPNで侵害することで、シルバーチケット攻撃が可能になります。ただし、Oktaのチケット暗号化にAESを使用しているため、AESキーまたは平文パスワードを持っている必要があります。ticketer.py
を使用して被害者ユーザーのチケットを生成し、ブラウザを介してOktaに認証するために配信します。
攻撃の詳細は https://trustedsec.com/blog/okta-for-red-teamersで確認してください。
この技術は、ユーザーを同期し、認証を処理するサーバー上のOkta ADエージェントにアクセスすることを含みます。OktaAgentService.exe.config
内の設定を調査し、特にDPAPIを使用してAgentTokenを復号化することで、攻撃者は認証データを傍受し、操作する可能性があります。これにより、Okta認証プロセス中にユーザー資格情報を平文で監視およびキャプチャするだけでなく、認証試行に応答することができ、不正アクセスを可能にしたり、Oktaを介してユニバーサル認証を提供したりすることができます(「スケルトンキー」のように)。
攻撃の詳細は https://trustedsec.com/blog/okta-for-red-teamersで確認してください。
この技術は、最初にOAuthコードを取得し、その後APIトークンを要求することによってOkta ADエージェントをハイジャックすることを含みます。トークンはADドメインに関連付けられ、偽のADエージェントを確立するためにコネクタが名前付けされます。初期化により、エージェントは認証試行を処理し、Okta APIを介して資格情報をキャプチャします。このプロセスを簡素化するための自動化ツールが利用可能で、Okta環境内で認証データを傍受し処理するシームレスな方法を提供します。
攻撃の詳細は https://trustedsec.com/blog/okta-for-red-teamersで確認してください。
攻撃の詳細は https://trustedsec.com/blog/okta-for-red-teamersで確認してください。
この技術は、偽のSAMLプロバイダーを展開することを含みます。特権アカウントを使用してOktaのフレームワーク内に外部アイデンティティプロバイダー(IdP)を統合することで、攻撃者はIdPを制御し、任意の認証要求を承認することができます。このプロセスには、Okta内にSAML 2.0 IdPを設定し、ローカルホストファイルを介してリダイレクトするためにIdPシングルサインオンURLを操作し、自己署名証明書を生成し、Okta設定をユーザー名またはメールアドレスに一致させることが含まれます。これらのステップを成功裏に実行することで、個々のユーザー資格情報を必要とせずに任意のOktaユーザーとして認証することが可能になり、アクセス制御を大幅に強化することができます。
このブログ記事では、Oktaポータルに対するフィッシングキャンペーンの準備方法が説明されています。
各ユーザーが持ち、変更できる属性(メールや名前など)はOktaで設定できます。もしアプリケーションがユーザーが変更できる属性をIDとして信頼している場合、そのユーザーはそのプラットフォーム内で他のユーザーをなりすますことができます。
したがって、アプリが**userName
フィールドを信頼している場合、通常はそのフィールドを変更できないため(通常はそのフィールドを変更できないため)、例えばprimaryEmail
を信頼している場合、同僚のメールアドレスに変更することができるかもしれません**(メールにアクセスし、変更を承認する必要があります)。
このなりすましは、各アプリケーションがどのように設定されているかに依存することに注意してください。変更したフィールドを信頼し、更新を受け入れるアプリケーションのみが侵害されます。 したがって、アプリはこのフィールドが存在する場合に有効にする必要があります:
他のアプリケーションが脆弱であったが、Okta設定にそのフィールドがなかったのを見たこともあります(最終的に異なるアプリは異なる設定がされています)。
各アプリで誰かをなりすますことができるかどうかを確認する最良の方法は、試してみることです!
Oktaの行動検出ポリシーは遭遇するまで不明な場合がありますが、それらを回避することはOktaアプリケーションを直接ターゲットにすることで達成できます。メインのOktaダッシュボードを避け、OktaアクセスTokenを使用して、メインのログインページではなくアプリケーション固有のOkta URLでトークンを再生します。
主な推奨事項は以下の通りです:
キャプチャしたアクセスTokenを再生する際に、人気のある匿名プロキシやVPNサービスの使用を避けてください。
クライアントと再生されたアクセスTokenの間で一貫したユーザーエージェント文字列を確保してください。
同じIPアドレスから異なるユーザーのTokenを再生することは控えてください。
Oktaダッシュボードに対してTokenを再生する際は注意してください。
被害者企業のIPアドレスを知っている場合は、そのIPまたはその範囲にトラフィックを制限し、他のすべてのトラフィックをブロックしてください。
Oktaには多くの可能な設定があり、このページではそれらをできるだけ安全にするためのレビュー方法を見つけることができます:
Okta HardeningAWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)