
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.comor<tenant>.okta-emea.com(EMEA region) - Login flow redirects to
<tenant>.okta.com/loginor/app/<app_id>/sso/saml - Web pages reference
/signin/customize,oktapreview.com, orauth-js-sdk - Recon notes "uses Okta for SSO"
- A target has
*.okta.comSAN in TLS cert - Identity-fabric mapping returns Okta as IdP for a corporate app
DO NOT use for:
- Entra ID (use
m365-entra-attackinstead) - 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.
