Okta Security

支持 HackTricks

基本信息

Okta, Inc. 在身份和访问管理领域因其基于云的软件解决方案而受到认可。这些解决方案旨在简化和保护各种现代应用程序的用户身份验证。它们不仅满足希望保护敏感数据的公司的需求,还满足希望将身份控制集成到应用程序、网络服务和设备中的开发者的需求。

Okta 的旗舰产品是 Okta 身份云。该平台包含一套产品,包括但不限于:

  • 单点登录 (SSO):通过允许在多个应用程序中使用一组登录凭据来简化用户访问。

  • 多因素身份验证 (MFA):通过要求多种验证形式来增强安全性。

  • 生命周期管理:自动化用户帐户的创建、更新和停用过程。

  • 通用目录:实现用户、组和设备的集中管理。

  • API 访问管理:保护和管理对 API 的访问。

这些服务共同旨在加强数据保护并简化用户访问,提高安全性和便利性。Okta 解决方案的多功能性使其在各个行业中广受欢迎,适合大型企业、小公司和个人开发者。截至 2021 年 9 月的最后更新,Okta 被认为是身份和访问管理 (IAM) 领域的一个重要实体。

Okta 的主要目标是为不同用户和组配置对外部应用程序的访问。如果您设法在 Okta 环境中 破坏管理员权限,您将很可能能够 破坏公司使用的所有其他平台

要对 Okta 环境进行安全审查,您应该请求 管理员只读访问

摘要

用户(可以 存储在 Okta 中,从配置的 身份提供者 登录或通过 Active Directory 或 LDAP 进行身份验证)。 这些用户可以在 内。 还有 身份验证器:不同的身份验证选项,如密码和多种 2FA,如 WebAuthn、电子邮件、电话、Okta 验证(它们可以启用或禁用)...

然后,有与 Okta 同步的 应用程序。每个应用程序将与 Okta 有一些 映射 以共享信息(如电子邮件地址、名字等)。此外,每个应用程序必须在 身份验证策略 中,指明用户 访问 应用程序所需的 身份验证器

最强大的角色是 超级管理员

如果攻击者以管理员身份破坏 Okta,所有 信任 Okta 的应用程序 将很可能 被破坏

攻击

定位 Okta 门户

通常公司的门户将位于 companyname.okta.com。如果没有,请尝试简单的 变体companyname. 如果找不到,也可能该组织有一个 CNAME 记录,如 okta.companyname.com 指向 Okta 门户

通过 Kerberos 登录 Okta

如果 companyname.kerberos.okta.com 是活动的,Kerberos 用于 Okta 访问,通常会绕过 MFA 对于 Windows 用户。要在 AD 中查找 Kerberos 认证的 Okta 用户,运行 getST.py 并使用 适当的参数。在获得 AD 用户票证 后,使用 Rubeus 或 Mimikatz 等工具将其 注入 到受控主机中,确保 clientname.kerberos.okta.com 在 Internet 选项的 "内部网" 区域。访问特定 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 代码来劫持 Okta AD 代理,然后请求 API 令牌。该令牌与 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 以通过本地 hosts 文件进行重定向,生成自签名证书,并配置 Okta 设置以匹配用户名或电子邮件。成功执行这些步骤允许以任何 Okta 用户的身份进行身份验证,绕过对单个用户凭据的需求,显著提高访问控制,可能不会被注意到。

使用 Evilgnix 针对 Okta 门户进行钓鱼

这篇博客文章 中解释了如何准备针对 Okta 门户的钓鱼活动。

同事冒充攻击

每个用户可以拥有和修改的 属性(如电子邮件或名字)可以在 Okta 中配置。如果一个 应用程序 作为 ID 信任一个用户可以 修改属性,他将能够 在该平台上冒充其他用户

因此,如果该应用程序信任字段 userName,您可能无法更改它(因为通常无法更改该字段),但如果它信任例如 primaryEmail,您可能能够 将其更改为同事的电子邮件地址 并冒充它(您需要访问该电子邮件并接受更改)。

请注意,这种冒充取决于每个应用程序的配置。只有信任您修改的字段并接受更新的应用程序将受到影响。 因此,如果存在,该应用程序应启用此字段:

我还见过其他易受攻击的应用程序,但在 Okta 设置中没有该字段(最终不同的应用程序配置不同)。

找出您是否可以在每个应用程序上冒充任何人的最佳方法是尝试一下!

规避行为检测策略

Okta 中的行为检测策略可能在遇到之前是未知的,但 绕过 它们可以通过 直接针对 Okta 应用程序 来实现,避免主要的 Okta 仪表板。使用 Okta 访问令牌,在 特定应用程序的 Okta URL 上重放令牌,而不是主登录页面。

关键建议包括:

  • 避免使用 流行的匿名代理和 VPN 服务来重放捕获的访问令牌。

  • 确保 客户端和重放访问令牌之间的一致用户代理字符串

  • 避免从同一 IP 地址重放 不同用户的令牌。

  • 在针对 Okta 仪表板重放令牌时要小心。

  • 如果知道受害公司 IP 地址,限制流量 到这些 IP 或其范围,阻止所有其他流量。

Okta 加固

Okta 有很多可能的配置,在此页面中您将找到如何审查它们以确保尽可能安全:

参考文献

支持 HackTricks

Last updated