Okta Hardening
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
从攻击者的角度来看,这非常有趣,因为您将能够看到 所有注册的用户、他们的 电子邮件 地址、他们所属的 组、个人资料,甚至 设备(手机及其操作系统)。
对于白盒审查,请检查是否有多个 "待处理用户操作" 和 "密码重置"。
这是您在 Okta 中找到所有创建的组的地方。了解不同的组(权限集合)对 用户 的授予是很有趣的。 可以查看 包含在组中的人员 和 分配给每个组的应用。
当然,任何名为 admin 的组都是有趣的,特别是 全球管理员 组,检查成员以了解谁是特权成员。
从白盒审查来看,全球管理员不应超过 5 个(最好只有 2 或 3 个)。
在这里找到 所有用户的设备列表。您还可以查看它是否被 主动管理。
在这里可以观察到关键的个人信息(如名字、姓氏、电子邮件、用户名等)是如何在 Okta 和其他应用之间共享的。这很有趣,因为如果用户可以在 Okta 中 修改某个字段(例如他的名字或电子邮件),而该字段又被 外部应用 用于 识别 用户,那么内部人员可能会尝试 接管其他账户。
此外,在 Okta 的个人资料 User (default)
中,您可以看到 每个用户 拥有的 字段 以及哪些字段是 可写的。如果您无法看到管理面板,只需转到 更新您的个人资料 信息,您将看到可以更新的字段(请注意,要更新电子邮件地址,您需要验证它)。
目录允许您从现有来源导入人员。我想在这里您将看到从其他目录导入的用户。
我没有看到它,但我想这很有趣,可以找出 Okta 用于导入用户的其他目录,因此如果您 妥协该目录,您可以在 Okta 中设置某些属性值,并 可能妥协 Okta 环境。
个人资料来源是 作为用户个人资料属性的真实来源的应用程序。用户一次只能由一个应用程序或目录提供。
我没有看到它,因此关于此选项的安全性和黑客相关的信息将不胜感激。
在此部分的 域 选项卡中检查用于发送电子邮件的电子邮件地址和公司在 Okta 中的自定义域(您可能已经知道)。
此外,在 设置 选项卡中,如果您是管理员,您可以 "使用自定义注销页面" 并设置自定义 URL。
这里没有什么有趣的内容。
您可以在这里找到配置的应用程序,但我们将在不同的部分稍后查看这些详细信息。
有趣的设置,但从安全角度来看没有什么特别有趣的。
在这里,您可以找到所有 配置的应用程序 及其详细信息:谁可以访问它们,如何配置(SAML、OpenID)、登录 URL、Okta 和应用程序之间的映射...
在 Sign On
选项卡中,还有一个名为 Password reveal
的字段,允许用户在检查应用程序设置时 显示他的密码。要从用户面板检查应用程序的设置,请单击 3 个点:
您可以看到有关该应用程序的更多详细信息(例如密码显示功能,如果已启用):
使用访问认证创建审计活动,以定期审查用户对资源的访问,并在需要时自动批准或撤销访问。
我没有看到它被使用,但我想从防御的角度来看,这是一个不错的功能。
安全通知电子邮件:所有应启用。
CAPTCHA 集成:建议至少设置不可见的 reCaptcha。
组织安全:所有内容都可以启用,激活电子邮件不应持续太长时间(7 天是可以的)。
用户枚举防止:两者都应启用。
请注意,如果允许以下任一条件,则用户枚举防止将无效(有关更多信息,请参见 用户管理):
自助注册
带电子邮件身份验证的 JIT 流程
Okta ThreatInsight 设置:根据威胁级别记录和执行安全性。
在这里可以找到正确和 危险 配置的 设置。
在这里,您可以找到用户可以使用的所有身份验证方法:密码、电话、电子邮件、代码、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 更特权)。从攻击者的角度来看,如果用户应该从特定的 IP 地址或区域访问,请检查此功能是否正确使用。
端点管理:端点管理是可以应用于身份验证策略的条件,以确保受管理的设备可以访问应用程序。
我还没有看到这被使用。待办事项
通知服务:我还没有看到这被使用。待办事项
您可以在此页面创建 Okta API 令牌,并查看已 创建 的令牌、它们的 权限、过期 时间和 来源 URL。请注意,API 令牌是使用创建令牌的用户的权限生成的,仅在 创建它们的用户处于活动状态 时有效。
受信任的来源 授予您控制和信任的网站访问您的 Okta 组织,通过 Okta API。
不应有很多 API 令牌,因为如果有,攻击者可能会尝试访问并使用它们。
自动化允许您创建基于在最终用户生命周期中发生的一组触发条件运行的自动化操作。
例如,条件可以是 "Okta 中的用户不活动" 或 "Okta 中的用户密码过期",而操作可以是 "向用户发送电子邮件" 或 "在 Okta 中更改用户生命周期状态"。
下载日志。它们会 发送 到当前账户的 电子邮件地址。
在这里,您可以找到 用户执行的操作日志,包含许多详细信息,例如在 Okta 或通过 Okta 登录应用程序。
这可以 从其他平台导入日志,通过 Okta 访问。
检查达到的 API 速率限制。
在这里,您可以找到有关 Okta 环境的 通用信息,例如公司名称、地址、电子邮件账单联系人、电子邮件技术联系人,以及谁应该接收 Okta 更新和哪种类型的 Okta 更新。
在这里,您可以下载 Okta 代理,以将 Okta 与其他技术同步。
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)