ato-methodology
Account Takeover decision tree — 9 canonical ATO paths, chaining patterns (IDOR→ATO, XSS→ATO, OAuth→ATO), MFA bypass entry points.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-09
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- ato-methodology
- metadata
- { "subdomain": "authentication", "when_to_use": "ato account takeover hijack chain password reset email change", "mitre_attack": "T1078, T1110, T1528, T1539", "upstream_ref": "skills/_corpus/payloads/Account Takeover/" }
- description
- Account Takeover decision tree — 9 canonical ATO paths, chaining patterns (IDOR→ATO, XSS→ATO, OAuth→ATO), MFA bypass entry points.
03 SKILL.md 正文
Account Takeover (ATO) Methodology
ATO is an outcome, not a vuln class. Reach it via 9 canonical paths.
1. Password reset flaws
- Token in URL leaked to Referer (3rd-party CDN, analytics)
- Token guessable (timestamp + user_id, sequential int, predictable RNG)
- Token-no-expiry → reuse forever
- Reset accepts arbitrary email param (mass-assignment style)
- Token not invalidated after password change
- "Forgot username" flows revealing existence
2. Email change without re-auth
POST /api/users/me/email {email: ...} without verifying current password.
Or with verification but verification token leaks.
3. Session fixation
Server accepts attacker-set session cookie. Victim's actions bind to attacker's session.
4. JWT-based ATO
See skills/exploit/web/jwt/SKILL.md — alg confusion, weak secret, kid injection.
5. OAuth-based ATO
See skills/exploit/web/oauth/SKILL.md — redirect_uri bypass + open-redirect chain → code to attacker.
6. IDOR-based ATO
PATCH /api/users/<id>w/o auth check → change victim's email/passwordGET /api/users/<id>/sessions→ harvest victim's session tokens
7. XSS-based ATO
Stored XSS on victim-visible page → exfil cookie / session token to attacker.
8. CSRF on critical state
- CSRF on password change endpoint (no anti-CSRF token)
- CSRF on email change
- CSRF on MFA disable
9. MFA bypass
- TOTP code accepted multiple times w/ short delay (race)
- TOTP code accepted from past N-step (clock skew abuse)
- Backup-code flow doesn't enforce TOTP
- "Trust this device" w/o re-auth on critical action
- Account recovery bypasses MFA entirely
- Phone-number takeover (SIM swap) → SMS 2FA hijack
Chain table
| Primary vuln | Chain partner | Outcome |
|---|---|---|
| Open redirect | OAuth redirect_uri allowlist | OAuth code → attacker → ATO |
| XSS (reflected) | session cookie not HttpOnly | Cookie exfil → ATO |
| XSS (stored) | victim views page | Cookie / session-storage exfil → ATO |
| IDOR on email change | reset flow | Change victim's email, reset, login |
| CSRF on password change | predictable URL | Phishing email triggers password change |
| Predictable reset token | weak RNG audit | Generate victim's token offline → reset |
| OAuth state missing | account linking by email | Attacker pre-creates account, links victim's OAuth → ATO |
| JWT alg=none | server accepts | Mint admin JWT → ATO |
| Email change w/o re-auth + ATO of email | full account graph | Standard playbook for multi-tenant SaaS |
Decision tree
Has user MFA enabled?
├── No → Standard password-reset attacks (paths 1-3, 6, 8)
└── Yes →
Bypass MFA available?
├── Yes (path 9) → MFA bypass → standard reset
└── No → Look for paths 5, 7 (OAuth, XSS) that bypass MFA by design
OR path 4 (JWT) that doesn't touch the MFA flow
OR account-linking via OAuth (path 5) which often skips MFA
PoC framing
Every ATO PoC should:
- Attacker creates own account
- Demonstrate victim's account is fully controllable (login as victim, change their email, post as them)
- Capture video or step-by-step screenshots
- Show no destructive action taken on victim's actual data — just proof of access
Severity
ATO is always Critical (9.8-10.0) when fully achieved. Severity downgrade only when:
- Requires user interaction (click malicious link) — High 8-9 typically
- Requires multiple vulns to chain — capture the chain in single report
- Limited to specific user types — caveat in impact
Cross-references
- Upstream:
skills/_corpus/payloads/Account Takeover/ - JWT:
skills/exploit/web/jwt/SKILL.md - OAuth:
skills/exploit/web/oauth/SKILL.md - IDOR:
skills/analyst/idor.md - XSS:
skills/exploit/web/xss.md - Open redirect:
skills/exploit/web/open-redirect/SKILL.md
04 同仓库更多 Skills
wps-pixie-dust
WPS Pixie-Dust offline nonce attack (reaver -K / pixiewps) and fallback online PIN brute (bully) to recover the AP's WPA PSK without capturing a handshake.
wpa3-sae
WPA3-SAE transition-mode downgrade (DragonShift), SSID Confusion CVE-2023-52424, Dragonblood side-channels, and SAE captive-portal credential recovery against WPA3-Personal networks.
wpa2-psk
WPA/WPA2-PSK handshake capture via targeted deauth + PMKID (no deauth required) + offline hashcat cracking. The most common consumer/SMB encryption mode in 2026.
wpa-enterprise-eap
WPA/WPA2/WPA3-Enterprise (802.1X/EAP) rogue-RADIUS evil-twin for MSCHAPv2 capture, GTC downgrade, and PEAP relay. MSCHAPv2 capture equals a NetNTLM hash — the primary wireless on-ramp to Active Directory.
krack-fragattacks
KRACK key-reinstallation (CVE-2017-13077..13082) and FragAttacks fragmentation/aggregation flaws (CVE-2020-24586..24588, CVE-2020-26139..26147) against legacy or embedded 802.11 supplicants with poor patch cadence.
evil-twin-karma
Evil-twin rogue AP with KARMA/Mana PNL-probe response, captive-portal credential capture, and post-association MITM for PSK/open networks. Distinct from wpa-enterprise-eap which targets 802.1X.