Okta Security

Support HackTricks

基本情報

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を信頼するアプリは非常に可能性が高く侵害されるでしょう。

攻撃

Oktaポータルの特定

通常、企業のポータルはcompanyname.okta.comにあります。そうでない場合は、companyname.の単純なバリエーションを試してください。見つからない場合、組織がCNAMEレコードを持っている可能性もあります。例えば、okta.companyname.comがOktaポータルを指している場合です。

Kerberosを介したOktaへのログイン

もし**companyname.kerberos.okta.comがアクティブであれば、KerberosがOktaアクセスに使用されており、通常は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エージェントのハイジャック

この技術は、ユーザーを同期し、認証を処理するサーバー上のOkta ADエージェントにアクセスすることを含みます。OktaAgentService.exe.config内の設定を調査し、特にDPAPIを使用してAgentTokenを復号化することで、攻撃者は認証データを傍受および操作する可能性があります。これにより、Okta認証プロセス中にユーザー資格情報を平文で監視およびキャプチャするだけでなく、認証試行に応答することができ、不正アクセスを可能にしたり、Oktaを介してユニバーサル認証を提供したりします(「スケルトンキー」のように)。

攻撃の詳細は https://trustedsec.com/blog/okta-for-red-teamersを確認してください。

管理者としてのADのハイジャック

この技術は、最初にOAuthコードを取得し、その後APIトークンを要求することによってOkta ADエージェントをハイジャックすることを含みます。トークンはADドメインに関連付けられ、偽のADエージェントを確立するためにコネクタが名前付けされます。初期化により、エージェントは認証試行を処理し、Okta APIを介して資格情報をキャプチャします。このプロセスを簡素化するための自動化ツールが利用可能で、Okta環境内で認証データを傍受および処理するシームレスな方法を提供します。

攻撃の詳細は https://trustedsec.com/blog/okta-for-red-teamersを確認してください。

Oktaの偽SAMLプロバイダー

攻撃の詳細は https://trustedsec.com/blog/okta-for-red-teamersを確認してください。

この技術は、偽のSAMLプロバイダーを展開することを含みます。特権アカウントを使用してOktaのフレームワーク内に外部アイデンティティプロバイダー(IdP)を統合することで、攻撃者はIdPを制御し、任意の認証要求を承認することができます。このプロセスには、Okta内にSAML 2.0 IdPを設定し、ローカルホストファイルを介してリダイレクトするためにIdPシングルサインオンURLを操作し、自己署名証明書を生成し、ユーザー名またはメールに対してOkta設定を一致させることが含まれます。これらのステップを成功裏に実行することで、個々のユーザー資格情報を必要とせずに任意のOktaユーザーとして認証することができ、アクセス制御を大幅に高めることができます。

Evilgnixを使用したOktaポータルのフィッシング

このブログ投稿では、Oktaポータルに対するフィッシングキャンペーンの準備方法が説明されています。

同僚のなりすまし攻撃

各ユーザーが持ち、変更できる属性(メールや名前など)はOktaで設定できます。もしアプリケーションがユーザーが変更できる属性をIDとして信頼している場合、そのプラットフォーム内で他のユーザーをなりすますことができます。

したがって、アプリが**userNameフィールドを信頼している場合、通常はそのフィールドを変更できないため(通常はそのフィールドを変更できないため)、例えばprimaryEmailを信頼している場合、同僚のメールアドレスに変更することができ、なりすます**ことができるかもしれません(メールにアクセスし、変更を承認する必要があります)。

このなりすましは、各アプリケーションがどのように設定されているかに依存することに注意してください。変更したフィールドを信頼し、更新を受け入れるアプリケーションのみが侵害されます。 したがって、アプリはこのフィールドが存在する場合に有効にする必要があります:

他のアプリケーションが脆弱であったが、Okta設定にそのフィールドがなかったのを見たこともあります(最終的に異なるアプリは異なる設定がされています)。

各アプリで誰かをなりすますことができるかどうかを確認する最良の方法は、試してみることです!

行動検出ポリシーの回避

Oktaの行動検出ポリシーは遭遇するまで不明な場合がありますが、それらを回避することはOktaアプリケーションに直接ターゲットを絞ることで達成できます。メインのOktaダッシュボードを避けて、Oktaアクセス トークンを使用して、メインのログインページではなくアプリケーション固有のOkta URLでトークンを再生します。

主な推奨事項は次のとおりです:

  • 人気のある匿名プロキシやVPNサービスを使用しないで、キャプチャしたアクセス トークンを再生します。

  • クライアントと再生されたアクセス トークンの間で一貫したユーザーエージェント文字列を確保します。

  • 異なるユーザーのトークンを同じIPアドレスから再生しないでください。

  • Oktaダッシュボードに対してトークンを再生する際は注意を払ってください。

  • 被害者企業のIPアドレスを知っている場合は、そのIPまたはその範囲にトラフィックを制限し、他のすべてのトラフィックをブロックします

Oktaの強化

Oktaには多くの可能な設定があり、このページではそれらをできるだけ安全にする方法を確認できます:

参考文献

Support HackTricks

Last updated