Skills

Okta Attack

Okta-as-IdP red-team attack chain, tenant discovery, user enumeration (multiple...

Install

npx skills add Zyrexnn/Cybermes --skill okta-attack -g -a claude-code -y
Repository
Zyrexnn/Cybermes987
Category
Engineering
Updated
3d ago
License
Apache-2.0
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Okta-as-IdP red-team attack chain, tenant discovery, user enumeration (multiple vectors), authentication flow analysis (factors enumeration, push-notification fatigue, SMS bypass), password spray with lockout discipline, Okta-specific phishing primitives (kits, FastPass abuse, OIDC redirect_uri tampering), MFA enumeration, post-compromise admin API surface. Many enterprise orgs use Okta instead of (or alongside) Entra ID. Distinct endpoints, distinct rate-limiting, distinct factor flows. Use when recon shows `<tenant>.okta.com`, `<tenant>.okta-emea.com`, `<tenant>.oktapreview.com`, or autodiscover-style records pointing at Okta IdP.

When to use this skill

Trigger when:

  • DNS shows <tenant>.okta.com or <tenant>.okta-emea.com (EMEA region)
  • Login flow redirects to <tenant>.okta.com/login or /app/<app_id>/sso/saml
  • Web pages reference /signin/customize, oktapreview.com, or auth-js-sdk
  • Recon notes "uses Okta for SSO"
  • A target has *.okta.com SAN in TLS cert
  • Identity-fabric mapping returns Okta as IdP for a corporate app

DO NOT use for:

  • Entra ID (use m365-entra-attack instead)
  • Google Workspace (use google-workspace-attack, not yet built)
  • ADFS (different protocol, on-prem)

Tenant discovery

Direct guesses

# Tenant subdomains often match the brand
# Replace these with your target's actual tenant slug candidates:
for tenant in target-brand target-brand-ltd target-sister-brand target-brand-short target-other-variant; do
  for region in okta okta-emea oktapreview; do
    host="$tenant.$region.com"
    code=$(curl -sk -o /dev/null -w "%{http_code}" --max-time 8 "https://$host/")
    [ "$code" != "404" ] && [ "$code" != "000" ] && echo "  $host  $code"
  done
done

Cross-ref from DNS

# Look for CNAME records pointing to Okta
# Replace with your target's actual domains:
for domain in client.example client-ltd.example; do
  dig +short "sso.$domain" CNAME
  dig +short "login.$domain" CNAME
  dig +short "auth.$domain" CNAME
  dig +short "okta.$domain" CNAME
done

Cross-ref from app HTTP flow

# Visit corporate-app login, follow redirects
curl -skL -o /dev/null -w "%{redirect_url}\n" "https://app.target.com/login"
# If redirects to <something>.okta.com → confirmed Okta tenant

User enumeration

Method 1, /api/v1/authn differential

The auth API returns different errors for invalid users vs invalid passwords. Slightly differential.

Read the whole SKILL.md on GitHub

More in Engineering