2FA/MFA/OTP Bypass
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Enhanced Two-Factor Authentication Bypass Techniques
Direct Endpoint Access
2FAをバイパスするには、次のエンドポイントに直接アクセスする。パスを把握することが重要である。成功しない場合は、Referrer headerを変更して2FA検証ページからの遷移を偽装する。
Token Reuse
既に使用されたトークンを同じアカウント内で再利用して認証を行うことは有効な場合がある。
Utilization of Unused Tokens
自分のアカウントからトークンを抽出して、別のアカウントの2FAを回避するために使うことを試みることができる。
Exposure of Token
トークンがWebアプリケーションのレスポンスに露出していないか確認する。
Verification Link Exploitation
アカウント作成時に送信されるemail verification linkを利用すると、2FAなしでプロファイルにアクセスできる場合がある。詳細はpost。
Session Manipulation
自身と被害者のアカウント両方でセッションを開始し、自分のアカウントでは2FAを完了させた後に先に進まない状態にすると、被害者のアカウントのフローの次ステップにアクセスできるか試すことができる。これはバックエンドのセッション管理の制約を悪用する手法である。
Password Reset Mechanism
パスワードリセット機能がリセット後にユーザを自動的にログインさせる場合、その同じリンクで複数回リセットできないかを確認することが重要である。新しくリセットした認証情報でログインすると2FAを回避できる可能性がある。
OAuth Platform Compromise
信頼されたOAuthプラットフォーム(例: Google, Facebook)上のユーザアカウントを乗っ取ることで、2FAを回避する経路が得られることがある。
Brute Force Attacks
Rate Limit Absence
コード試行回数に制限がない場合、ブルートフォース攻撃が可能になる。ただし、サイレントなレート制限が存在する可能性がある点に注意する。
Note that even if a rate limit is in place you should try to see if the response is different when the valid OTP is sent. In this post, the bug hunter discovered that even if a rate limit is triggered after 20 unsuccessful attempts by responding with 401, if the valid one was sent a 200 response was received.
Slow Brute Force
フローごとのレート制限はあるが全体的な制限がない場合、低頻度のスローブルートフォースが有効になることがある。
Code Resend Limit Reset
コードの再送がレート制限をリセットすることがあり、ブルートフォースを継続しやすくなる。
Client-Side Rate Limit Circumvention
クライアント側のレート制限を回避するための手法が文書化されている。
Internal Actions Lack Rate Limit
レート制限はログイン試行を保護していても、内部のアカウント操作には適用されていないことがある。
SMS Code Resend Costs
SMSでのコード再送を過度に行うと企業にコストが発生するが、2FA自体を回避するわけではない。
Infinite OTP Regeneration
単純なコードで無限にOTPを再生成できる場合、少数のコードを再試行することでブルートフォースが可能になる。
Race Condition Exploitation
2FA回避のためのレースコンディションの悪用については特定の文書で報告されている。
CSRF/Clickjacking Vulnerabilities
CSRFやClickjackingの脆弱性を調査して2FAを無効化する手法は有効な戦略になり得る。
“Remember Me” Feature Exploits
Predictable Cookie Values
「Remember Me」クッキーの値を推測することで制限を回避できる可能性がある。
IP Address Impersonation
被害者のIPアドレスをX-Forwarded-Forヘッダで偽装すると制限を回避できることがある。
Utilizing Older Versions
Subdomains
サブドメインを調査すると、2FAに対応していない古いバージョンや脆弱な2FA実装が残っていることがある。
API Endpoints
/v*/ のディレクトリパスなど古いAPIバージョンは、2FAバイパスの手法に対して脆弱である可能性がある。
Handling of Previous Sessions
2FA有効化時に既存セッションを終了させることで、乗っ取られたセッションからの不正アクセスを防げる。
Access Control Flaws with Backup Codes
2FA有効化時にバックアップコードが即時生成され、それがCORSのミスコンフィギュレーションやXSS脆弱性によって不正取得されるリスクがある。
Information Disclosure on 2FA Page
2FA検証ページ上での機密情報(例:電話番号)の漏えいは問題である。
Password Reset Disabling 2FA
回避の可能性を示すプロセスとして、アカウント作成→2FA有効化→パスワードリセット→その後2FAなしでログインできる、という流れがある。
Decoy Requests
ブルートフォース試行を隠したりレート制限を欺くためにデコイリクエストを使うことは、バイパス戦略における別の手段となる。こうしたリクエストを作成するには、アプリケーションのセキュリティ対策やレート制御の挙動を精緻に理解している必要がある。
OTP Construction errors
OTPがユーザが既に持っているデータや、OTP作成のために事前に送信されるデータに基づいて生成されている場合、ユーザ自身がOTPを生成してバイパスすることが可能になる。
References
- https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35
- https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718
- https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116_1d0f6ce59992222b0812b7cab19a4bce
P
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks

