Okta Security

Support HackTricks

Basic Information

Okta, Inc.는 클라우드 기반 소프트웨어 솔루션으로 신원 및 접근 관리 분야에서 인정받고 있습니다. 이러한 솔루션은 다양한 현대 애플리케이션에서 사용자 인증을 간소화하고 안전하게 설계되었습니다. 이들은 민감한 데이터를 보호하려는 기업뿐만 아니라 애플리케이션, 웹 서비스 및 장치에 신원 제어를 통합하려는 개발자에게도 적합합니다.

Okta의 주력 제품은 Okta Identity Cloud입니다. 이 플랫폼은 다음과 같은 제품군을 포함합니다:

  • Single Sign-On (SSO): 여러 애플리케이션에서 하나의 로그인 자격 증명을 사용하여 사용자 접근을 간소화합니다.

  • Multi-Factor Authentication (MFA): 여러 형태의 인증을 요구하여 보안을 강화합니다.

  • Lifecycle Management: 사용자 계정 생성, 업데이트 및 비활성화 프로세스를 자동화합니다.

  • Universal Directory: 사용자, 그룹 및 장치의 중앙 관리를 가능하게 합니다.

  • API Access Management: API에 대한 접근을 보호하고 관리합니다.

이러한 서비스는 데이터 보호를 강화하고 사용자 접근을 간소화하여 보안과 편의성을 모두 향상시키는 것을 목표로 합니다. Okta의 솔루션의 다재다능함은 다양한 산업에서 인기를 끌며, 대기업, 중소기업 및 개인 개발자에게 유익합니다. 2021년 9월 마지막 업데이트 기준으로 Okta는 신원 및 접근 관리(IAM) 분야에서 저명한 기업으로 인정받고 있습니다.

Okta의 주요 목표는 외부 애플리케이션에 대한 다양한 사용자 및 그룹의 접근을 구성하는 것입니다. 만약 Okta 환경에서 관리자 권한을 타협하게 된다면, 회사가 사용하는 모든 다른 플랫폼을 타협할 가능성이 매우 높습니다.

Okta 환경의 보안 검토를 수행하려면 관리자 읽기 전용 접근을 요청해야 합니다.

Summary

사용자가 있습니다 (이들은 Okta에 저장되거나, 구성된 Identity Providers에서 로그인하거나 Active Directory 또는 LDAP를 통해 인증될 수 있습니다). 이 사용자들은 그룹에 속할 수 있습니다. 또한 인증자가 있습니다: 비밀번호와 WebAuthn, 이메일, 전화, Okta Verify와 같은 여러 2FA 옵션이 있습니다 (이들은 활성화되거나 비활성화될 수 있습니다)...

그런 다음, Okta와 동기화된 애플리케이션이 있습니다. 각 애플리케이션은 정보를 공유하기 위해 Okta와 일부 매핑을 가집니다 (예: 이메일 주소, 이름 등). 또한 각 애플리케이션은 사용자가 애플리케이션에 접근하기 위해 필요한 인증자를 나타내는 인증 정책 내에 있어야 합니다.

가장 강력한 역할은 Super Administrator입니다.

공격자가 Okta에 관리자 접근을 타협하면, 모든 Okta를 신뢰하는 앱타협될 가능성이 매우 높습니다.

Attacks

Locating Okta Portal

일반적으로 회사의 포털은 companyname.okta.com에 위치합니다. 그렇지 않은 경우, **companyname.**의 간단한 변형을 시도해 보십시오. 찾을 수 없는 경우, 조직이 CNAME 레코드를 가지고 있을 가능성도 있습니다, 예를 들어 **okta.companyname.com**이 Okta 포털을 가리키고 있을 수 있습니다.

Login in Okta via Kerberos

만약 **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으로 타협하면 Silver Ticket 공격이 가능합니다. 그러나 Okta의 AES를 사용한 티켓 암호화는 AES 키 또는 평문 비밀번호를 소유해야 합니다. ticketer.py를 사용하여 피해자 사용자에 대한 티켓을 생성하고 이를 브라우저를 통해 Okta에 인증하기 위해 전달하십시오.

공격에 대한 자세한 내용은 https://trustedsec.com/blog/okta-for-red-teamers에서 확인하십시오.

Hijacking Okta AD Agent

이 기술은 서버에서 Okta AD Agent에 접근하는 것을 포함하며, 이는 사용자를 동기화하고 인증을 처리합니다. **OktaAgentService.exe.config**에서 구성을 검사하고 복호화함으로써, 특히 DPAPI를 사용한 AgentToken을 통해 공격자는 인증 데이터를 가로채고 조작할 수 있습니다. 이를 통해 Okta 인증 과정에서 사용자 자격 증명을 평문으로 모니터링하고 캡처할 수 있을 뿐만 아니라, 인증 시도에 응답하여 무단 접근을 가능하게 하거나 Okta를 통한 보편적인 인증을 제공할 수 있습니다 (일종의 '스켈레톤 키'와 유사).

공격에 대한 자세한 내용은 https://trustedsec.com/blog/okta-for-red-teamers에서 확인하십시오.

Hijacking AD As an Admin

이 기술은 먼저 OAuth 코드를 얻은 후 API 토큰을 요청하여 Okta AD Agent를 탈취하는 것입니다. 이 토큰은 AD 도메인과 연결되어 있으며, 가짜 AD 에이전트를 설정하기 위해 커넥터가 명명됩니다. 초기화는 에이전트가 인증 시도를 처리할 수 있게 하여 Okta API를 통해 자격 증명을 캡처합니다. 이 프로세스를 간소화하기 위한 자동화 도구가 제공되어 Okta 환경 내에서 인증 데이터를 가로채고 처리하는 원활한 방법을 제공합니다.

공격에 대한 자세한 내용은 https://trustedsec.com/blog/okta-for-red-teamers에서 확인하십시오.

Okta Fake SAML Provider

공격에 대한 자세한 내용은 https://trustedsec.com/blog/okta-for-red-teamers에서 확인하십시오.

이 기술은 가짜 SAML 공급자를 배포하는 것을 포함합니다. 특권 계정을 사용하여 Okta의 프레임워크 내에 외부 신원 공급자(IdP)를 통합함으로써, 공격자는 IdP를 제어하고 원하는 인증 요청을 승인할 수 있습니다. 이 과정은 Okta에서 SAML 2.0 IdP를 설정하고, 로컬 호스트 파일을 통해 리디렉션을 위해 IdP Single Sign-On URL을 조작하고, 자체 서명된 인증서를 생성하며, Okta 설정을 사용자 이름 또는 이메일과 일치하도록 구성하는 것을 포함합니다. 이러한 단계를 성공적으로 실행하면 개별 사용자 자격 증명 없이도 Okta 사용자로 인증할 수 있어, 접근 제어를 크게 강화할 수 있습니다.

Phishing Okta Portal with Evilgnix

이 블로그 게시물에서는 Okta 포털에 대한 피싱 캠페인을 준비하는 방법을 설명합니다.

Colleague Impersonation Attack

각 사용자가 가질 수 있는 속성(이메일 또는 이름과 같은)은 Okta에서 구성할 수 있습니다. 만약 애플리케이션이 사용자가 수정할 수 있는 속성을 ID로 신뢰한다면, 그는 그 플랫폼에서 다른 사용자를 가장할 수 있습니다.

따라서, 애플리케이션이 userName 필드를 신뢰하고 있다면, 일반적으로 그 필드를 변경할 수 없지만, 예를 들어 **primaryEmail**을 신뢰하고 있다면 동료의 이메일 주소로 변경하고 가장할 수 있습니다 (이메일에 접근할 수 있어야 하며 변경을 수락해야 합니다).

이러한 가장은 각 애플리케이션이 어떻게 구성되었는지에 따라 다릅니다. 수정한 필드를 신뢰하고 업데이트를 수락하는 애플리케이션만 타협될 것입니다. 따라서, 애플리케이션은 이 필드가 존재할 경우 활성화되어 있어야 합니다:

또한 Okta 설정에 해당 필드가 없는 다른 취약한 애플리케이션도 보았습니다 (결국 서로 다른 애플리케이션이 다르게 구성됩니다).

각 애플리케이션에서 누군가를 가장할 수 있는지 알아보는 가장 좋은 방법은 시도해 보는 것입니다!

Evading behavioural detection policies

Okta의 행동 감지 정책은 처음 접할 때까지 알 수 없지만, 우회하는 것은 Okta 애플리케이션을 직접 타겟팅하여 주요 Okta 대시보드를 피함으로써 달성할 수 있습니다. Okta 접근 토큰을 사용하여 주요 로그인 페이지 대신 애플리케이션 특정 Okta URL에서 토큰을 재생하십시오.

주요 권장 사항은 다음과 같습니다:

  • 캡처한 접근 토큰을 재생할 때 인기 있는 익명화 프록시 및 VPN 서비스를 사용하지 마십시오.

  • 클라이언트와 재생된 접근 토큰 간에 일관된 사용자 에이전트 문자열을 보장하십시오.

  • 동일한 IP 주소에서 다른 사용자로부터 토큰을 재생하지 마십시오.

  • Okta 대시보드에 대해 토큰을 재생할 때 주의하십시오.

  • 피해 회사의 IP 주소를 알고 있다면, 트래픽을 해당 IP 또는 그 범위로 제한하고 다른 모든 트래픽을 차단하십시오.

Okta Hardening

Okta는 많은 가능한 구성이 있으며, 이 페이지에서는 가능한 한 안전하게 검토하는 방법을 찾을 수 있습니다:

References

Support HackTricks

Last updated