Okta Hardening

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

目录

人员

从攻击者的角度来看,这非常有趣,因为您将能够看到所有注册的用户、他们的电子邮件地址、他们所属的个人资料,甚至设备(手机及其操作系统)。

对于白盒审查,请检查是否没有多个“待处理用户操作”和“密码重置”。

这是您可以找到在 Okta 中创建的所有组的地方。了解不同的组(权限集合)对用户的授予是很有趣的。
可以查看包含在组中的人员分配给每个组的应用程序

当然,任何名为admin的组都是有趣的,特别是全球管理员组,检查成员以了解谁是特权成员。

从白盒审查来看,全球管理员不应超过 5 个(最好只有 2 或 3 个)。

设备

在这里找到所有用户的设备列表。您还可以查看它是否被主动管理

个人资料编辑器

在这里可以观察到关键的个人信息,如名字、姓氏、电子邮件、用户名等是如何在 Okta 和其他应用程序之间共享的。这很有趣,因为如果用户可以在 Okta 中修改某个字段(例如他的名字或电子邮件),而该字段又被外部应用程序用来识别用户,那么内部人员可能会尝试接管其他账户

此外,在 Okta 的个人资料**User (default)中,您可以看到每个用户具有哪些字段以及哪些字段是可写的**。如果您无法看到管理面板,只需转到更新您的个人资料信息,您将看到可以更新的字段(请注意,要更新电子邮件地址,您需要验证它)。

目录集成

目录允许您从现有来源导入人员。我想在这里您将看到从其他目录导入的用户。

我还没有看到,但我想这很有趣,可以找出Okta 用于导入用户的其他目录,因此如果您妥协该目录,您可以在 Okta 中创建的用户中设置一些属性值,并可能妥协 Okta 环境

个人资料来源

个人资料来源是作为用户个人资料属性的真实来源的应用程序。用户一次只能由一个应用程序或目录提供。

我还没有看到,所以关于此选项的安全和黑客信息将不胜感激。

自定义

品牌

在此部分的选项卡中检查用于发送电子邮件的电子邮件地址和公司在 Okta 中的自定义域(您可能已经知道)。

此外,在设置选项卡中,如果您是管理员,您可以“使用自定义注销页面”并设置自定义 URL。

短信

这里没有什么有趣的内容。

最终用户仪表板

您可以在这里找到配置的应用程序,但我们将在不同的部分稍后查看这些详细信息。

其他

有趣的设置,但从安全角度来看没有什么特别有趣的。

应用程序

应用程序

在这里,您可以找到所有配置的应用程序及其详细信息:谁可以访问它们,如何配置(SAML、OpenID)、登录 URL、Okta 和应用程序之间的映射…

在**登录选项卡中,还有一个名为密码显示的字段,允许用户在检查应用程序设置时显示他的密码**。要从用户面板检查应用程序的设置,请单击 3 个点:

您可以看到有关该应用程序的更多详细信息(例如密码显示功能,如果已启用):

身份治理

访问认证

使用访问认证创建审计活动,以定期审查用户对资源的访问,并在需要时自动批准或撤销访问。

我还没有看到它被使用,但我想从防御的角度来看,这是一个不错的功能。

安全

一般

  • 安全通知电子邮件:所有应启用。
  • CAPTCHA 集成:建议至少设置不可见的 reCaptcha。
  • 组织安全:所有内容都可以启用,激活电子邮件不应持续太长时间(7 天是可以的)。
  • 用户枚举防止:两者都应启用。
  • 请注意,如果允许以下任一条件,则用户枚举防止将无效(有关更多信息,请参见 用户管理):
  • 自助注册
  • 带电子邮件身份验证的 JIT 流程
  • Okta ThreatInsight 设置:根据威胁级别记录和执行安全性。

HealthInsight

在这里可以找到正确和危险配置的设置

认证器

在这里,您可以找到用户可以使用的所有身份验证方法:密码、电话、电子邮件、代码、WebAuthn… 单击密码认证器,您可以查看密码策略。请检查它是否强大。

注册选项卡中,您可以查看哪些是必需的或可选的:

建议禁用电话。最强的组合可能是密码、电子邮件和 WebAuthn 的组合。

身份验证策略

每个应用程序都有一个身份验证策略。身份验证策略验证尝试登录应用程序的用户是否满足特定条件,并根据这些条件强制执行因素要求。

在这里,您可以找到访问每个应用程序的要求。建议每个应用程序至少请求密码和另一种方法。但是,如果作为攻击者您发现某些东西更弱,您可能能够攻击它。

全球会话策略

在这里,您可以找到分配给不同组的会话策略。例如:

建议请求 MFA,将会话生命周期限制为几个小时,不要在浏览器扩展中持久化会话 cookie,并限制位置和身份提供者(如果可能的话)。例如,如果每个用户应该从一个国家登录,您可以只允许该位置。

身份提供者

身份提供者(IdP)是管理用户账户的服务。在 Okta 中添加 IdP 使您的最终用户能够通过首先使用社交账户或智能卡进行身份验证来自助注册您的自定义应用程序。

在身份提供者页面上,您可以添加社交登录(IdP)并通过添加入站 SAML 将 Okta 配置为服务提供者(SP)。添加 IdP 后,您可以设置路由规则,根据上下文(例如用户的位置、设备或电子邮件域)将用户定向到 IdP。

如果配置了任何身份提供者,从攻击者和防御者的角度检查该配置,并确保来源确实可信,因为攻击者妥协它也可能获得对 Okta 环境的访问。

委派身份验证

委派身份验证允许用户通过输入其组织的Active Directory (AD) 或 LDAP服务器的凭据登录 Okta。

再次检查这一点,因为攻击者妥协组织的 AD 可能能够通过此设置转向 Okta。

网络

网络区域是一个可配置的边界,您可以使用它来授予或限制对您组织中计算机和设备的访问,基于请求访问的IP 地址。您可以通过指定一个或多个单独的 IP 地址、IP 地址范围或地理位置来定义网络区域。

定义一个或多个网络区域后,您可以在全球会话策略、身份验证策略、VPN 通知和路由规则中使用它们。

从攻击者的角度来看,了解哪些 IP 被允许(并检查是否有任何IP 更特权)是很有趣的。从攻击者的角度来看,如果用户应该从特定的 IP 地址或区域访问,请检查此功能是否正确使用。

设备集成

  • 端点管理:端点管理是可以应用于身份验证策略的条件,以确保受管理的设备可以访问应用程序。
  • 我还没有看到这被使用。待办事项
  • 通知服务:我还没有看到这被使用。待办事项

API

您可以在此页面创建 Okta API 令牌,并查看已创建的令牌、它们的权限过期时间和来源 URL。请注意,API 令牌是以创建令牌的用户的权限生成的,仅在创建它们的用户处于活动状态时有效。

受信任的来源授予您控制和信任的网站访问您的 Okta 组织,通过 Okta API。

不应有很多 API 令牌,因为如果有,攻击者可能会尝试访问它们并使用它们。

工作流

自动化

自动化允许您创建基于在最终用户生命周期中发生的一组触发条件运行的自动化操作。

例如,一个条件可以是“Okta 中的用户不活动”或“Okta 中的用户密码过期”,而操作可以是“向用户发送电子邮件”或“在 Okta 中更改用户生命周期状态”。

报告

报告

下载日志。它们会发送到当前账户的电子邮件地址

系统日志

在这里,您可以找到用户执行的操作日志,包含许多详细信息,如在 Okta 或通过 Okta 登录的应用程序。

导入监控

这可以从其他平台导入日志,通过 Okta 访问。

速率限制

检查达到的 API 速率限制。

设置

账户

在这里,您可以找到有关 Okta 环境的通用信息,例如公司名称、地址、电子邮件账单联系人电子邮件技术联系人,以及谁应该接收 Okta 更新和哪种类型的 Okta 更新。

下载

在这里,您可以下载 Okta 代理,以将 Okta 与其他技术同步。

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks