Okta Security
Reading time: 15 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
Okta, Inc.は、クラウドベースのソフトウェアソリューションでアイデンティティおよびアクセス管理分野で認識されています。これらのソリューションは、さまざまな現代アプリケーションにおけるユーザー認証を簡素化し、安全にすることを目的としています。これらは、機密データを保護しようとする企業だけでなく、アプリケーション、ウェブサービス、デバイスにアイデンティティ管理を統合したい開発者にも対応しています。
Oktaの主力製品はOkta Identity Cloudです。このプラットフォームは、以下を含む製品群を網羅していますが、これに限定されません:
- シングルサインオン (SSO): 複数のアプリケーションで1セットのログイン資格情報を使用してユーザーアクセスを簡素化します。
- 多要素認証 (MFA): 複数の確認手段を要求することでセキュリティを強化します。
- ライフサイクル管理: ユーザーアカウントの作成、更新、無効化プロセスを自動化します。
- ユニバーサルディレクトリ: ユーザー、グループ、デバイスの集中管理を可能にします。
- APIアクセス管理: APIへのアクセスを保護し、管理します。
これらのサービスは、データ保護を強化し、ユーザーアクセスを簡素化することを目的としており、セキュリティと利便性の両方を向上させます。Oktaのソリューションの多様性は、さまざまな業界で人気の選択肢となっており、大企業、小規模企業、個々の開発者にとっても有益です。2021年9月の最新情報では、Oktaはアイデンティティおよびアクセス管理 (IAM) 分野で著名な存在として認識されています。
caution
Oktaの主な目的は、外部アプリケーションへの異なるユーザーおよびグループへのアクセスを構成することです。もしあなたがOkta環境で管理者権限を侵害することができれば、会社が使用している他のすべてのプラットフォームを侵害することが非常に可能性が高いです。
tip
Okta環境のセキュリティレビューを実施するには、管理者の読み取り専用アクセスを要求するべきです。
概要
ユーザー(これはOktaに保存される、構成されたアイデンティティプロバイダーからログインする、またはActive DirectoryやLDAPを介して認証されることができます)。
これらのユーザーはグループ内に存在することがあります。
また、認証者も存在します:パスワードやWebAuthn、メール、電話、Okta Verifyなどのさまざまな2FAのオプション(有効または無効にできる)...
次に、Oktaと同期されたアプリケーションがあります。各アプリケーションは、情報(メールアドレス、名前など)を共有するためにOktaとのマッピングを持っています。さらに、各アプリケーションは認証ポリシー内に存在し、ユーザーがアプリケーションにアクセスするために必要な認証者を示します。
caution
最も強力な役割はスーパ管理者です。
攻撃者が管理者アクセスでOktaを侵害した場合、すべてのOktaを信頼するアプリは非常に可能性が高く侵害されるでしょう。
攻撃
Oktaポータルの特定
通常、企業のポータルはcompanyname.okta.comにあります。そうでない場合は、companyname.の単純なバリエーションを試してください。見つからない場合、組織がCNAMEレコードを持っている可能性もあります。例えば、okta.companyname.com
がOktaポータルを指している場合です。
Kerberosを介した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エージェントのハイジャック
この技術は、ユーザーを同期し、認証を処理するサーバー上の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
を信頼している場合、同僚のメールアドレスに変更することができる**かもしれません(メールにアクセスし、変更を承認する必要があります)。
このなりすましは、各アプリケーションがどのように構成されているかに依存することに注意してください。変更したフィールドを信頼し、更新を受け入れるアプリケーションのみが侵害されます。
したがって、アプリはこのフィールドが存在する場合に有効にする必要があります:
.png)
他のアプリケーションが脆弱であったが、Okta設定にそのフィールドがなかったのを見たこともあります(最終的に異なるアプリは異なるように構成されています)。
各アプリで誰かをなりすますことができるかどうかを確認する最良の方法は、試してみることです!
行動検出ポリシーの回避
Oktaの行動検出ポリシーは遭遇するまで不明な場合がありますが、それらを回避するには、Oktaアプリケーションに直接ターゲットを絞ることで、主要なOktaダッシュボードを避けることができます。Oktaアクセストークンを使用して、主要なログインページの代わりにアプリケーション固有のOkta URLでトークンを再生します。
主な推奨事項は以下の通りです:
- 人気のある匿名プロキシやVPNサービスを使用しないで、キャプチャしたアクセストークンを再生します。
- クライアントと再生されたアクセストークンの間で一貫したユーザーエージェント文字列を確保します。
- 異なるユーザーのトークンを同じIPアドレスから再生しないでください。
- Oktaダッシュボードに対してトークンを再生する際は注意してください。
- 被害者企業のIPアドレスを知っている場合は、そのIPまたはその範囲にトラフィックを制限し、他のすべてのトラフィックをブロックします。
Oktaの強化
Oktaには多くの可能な構成があり、このページではそれらをできるだけ安全にするためのレビュー方法を見つけることができます:
参考文献
- https://trustedsec.com/blog/okta-for-red-teamers
- https://medium.com/nickvangilder/okta-for-red-teamers-perimeter-edition-c60cb8d53f23
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。