Okta Hardening

支持 HackTricks

目录

人员

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

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

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

当然,任何带有管理员名称的组都是有趣的,特别是全局管理员组,检查成员以了解谁是最有特权的成员。

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

设备

在这里找到所有用户的所有设备列表。你还可以看到它是否被积极管理

个人资料编辑器

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

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

目录集成

目录允许你从现有来源导入人员。我猜这里你会看到从其他目录导入的用户。

我没见过,但我猜这很有趣,可以找出Okta 用于导入用户的其他目录,所以如果你攻破那个目录,你可以在 Okta 中创建的用户中设置一些属性值,并可能攻破 Okta 环境

个人资料来源

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

我没见过,所以关于此选项的安全和黑客信息都很有价值。

自定义

品牌

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

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

短信

这里没有什么有趣的。

终端用户仪表板

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

其他

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

应用程序

应用程序

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

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

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

身份治理

访问认证

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

我没见过它被使用,但我猜从防御的角度来看这是一个不错的功能。

安全

一般

  • 安全通知电子邮件:所有都应启用。

  • CAPTCHA 集成:建议至少设置不可见 reCaptcha

  • 组织安全:所有都可以启用,激活电子邮件不应持续太久(7 天可以)

  • 用户枚举预防:两者都应启用

  • 请注意,如果允许以下任一条件,用户枚举预防将不起作用(有关更多信息,请参阅用户管理):

  • 自助注册

  • 电子邮件认证的 JIT 流程

  • Okta ThreatInsight 设置:根据威胁级别记录并执行安全措施

HealthInsight

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

认证器

在这里你可以找到用户可以使用的所有认证方法:密码、电话、电子邮件、代码、WebAuthn... 点击密码认证器你可以看到密码策略。检查它是否强大。

Enrollment选项卡中,你可以看到哪些是必需的或可选的:

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

认证策略

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

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

全局会话策略

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

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

身份提供者

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

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

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

委托认证

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

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

网络

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

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

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

设备集成

  • 端点管理:端点管理是可以在认证策略中应用的一个条件,以确保托管设备可以访问应用程序。

  • 我还没见过这个被使用。TODO

  • 通知服务:我还没见过这个被使用。TODO

API

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

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

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

工作流

自动化

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

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

报告

报告

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

系统日志

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

导入监控

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

速率限制

检查达到的 API 速率限制。

设置

账户

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

下载

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

支持 HackTricks

Last updated