# 2FA/MFA/OTP バイパス
{% hint style="success" %}
AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
{% endhint %}
## **強化された二要素認証バイパステクニック**
### **直接エンドポイントアクセス**
2FAをバイパスするには、パスを知っていることが重要で、次のエンドポイントに直接アクセスします。失敗した場合は、**Referrerヘッダー**を変更して2FA検証ページからのナビゲーションを模倣します。
### **トークン再利用**
アカウント内で以前に使用されたトークンを再利用することが効果的です。
### **未使用トークンの利用**
自分のアカウントからトークンを抽出して、別のアカウントの2FAをバイパスすることを試みることができます。
### **トークンの露出**
ウェブアプリケーションからの応答にトークンが開示されているかどうかを調査します。
### **検証リンクの悪用**
アカウント作成時に送信される**メール検証リンク**を使用すると、2FAなしでプロファイルにアクセスできる場合があります。詳細は[投稿](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b)で強調されています。
### **セッション操作**
ユーザーのアカウントと被害者のアカウントの両方のセッションを開始し、ユーザーのアカウントの2FAを完了せずに、被害者のアカウントフローの次のステップにアクセスを試みることで、バックエンドのセッション管理の制限を悪用します。
### **パスワードリセットメカニズム**
パスワードリセット機能を調査し、同じリンクを使用して複数回リセットできる可能性があるかどうかを確認することが重要です。新しくリセットされた資格情報でログインすることで2FAをバイパスできるかもしれません。
### **OAuthプラットフォームの妥協**
信頼された**OAuth**プラットフォーム(例:Google、Facebook)でユーザーのアカウントを妥協させることで、2FAをバイパスするルートを提供できます。
### **ブルートフォース攻撃**
#### **レート制限の欠如**
コードの試行回数に制限がないため、ブルートフォース攻撃が可能ですが、潜在的なサイレントレート制限を考慮する必要があります。
#### **スローブルートフォース**
流れの制限が存在する場合でも、全体的なレート制限がない場合は、スローブルートフォース攻撃が可能です。
#### **コード再送信制限のリセット**
コードを再送信するとレート制限がリセットされ、ブルートフォース攻撃を継続できます。
#### **クライアントサイドレート制限の回避**
クライアントサイドのレート制限をバイパスするための技術が文書化されています。
#### **内部アクションにレート制限がない**
レート制限はログイン試行を保護するかもしれませんが、内部アカウントアクションには適用されない場合があります。
#### **SMSコード再送信のコスト**
SMS経由でのコードの過剰な再送信は、会社にコストがかかりますが、2FAをバイパスするわけではありません。
#### **無限OTP再生成**
単純なコードで無限のOTP生成が可能であり、小さなコードセットを再試行することでブルートフォースが可能です。
### **レースコンディションの悪用**
2FAバイパスのためのレースコンディションを悪用する方法は特定の文書に記載されています。
### **CSRF/クリックジャッキングの脆弱性**
CSRFまたはクリックジャッキングの脆弱性を探求して2FAを無効にすることは有効な戦略です。
### **「ログイン状態を保持」機能の悪用**
#### **予測可能なクッキー値**
「ログイン状態を保持」クッキーの値を推測することで制限をバイパスできます。
#### **IPアドレスの偽装**
**X-Forwarded-For**ヘッダーを通じて被害者のIPアドレスを偽装することで制限をバイパスできます。
### **古いバージョンの利用**
#### **サブドメイン**
サブドメインをテストすることで、2FAサポートがない古いバージョンや脆弱な2FA実装を使用している可能性があります。
#### **APIエンドポイント**
/v\*/ディレクトリパスで示される古いAPIバージョンは、2FAバイパスメソッドに対して脆弱である可能性があります。
### **以前のセッションの取り扱い**
2FAが有効化された際に既存のセッションを終了させることで、妥協されたセッションからの不正アクセスからアカウントを保護します。
### **バックアップコードに関するアクセス制御の欠陥**
2FAが有効化された際にバックアップコードが即座に生成され、特にCORSの誤設定/XSSの脆弱性がある場合に不正に取得される可能性があることはリスクです。
### **2FAページでの情報開示**
2FA検証ページでの機密情報の開示(例:電話番号)は懸念事項です。
### **パスワードリセットによる2FAの無効化**
アカウント作成、2FAの有効化、パスワードリセット、そしてその後の2FA要件なしでのログインを示すプロセスは、潜在的なバイパス方法を示しています。
### **デコイリクエスト**
デコイリクエストを利用してブルートフォース攻撃を隠蔽したり、レート制限メカニズムを誤解させたりすることは、バイパス戦略にさらなる層を追加します。このようなリクエストを作成するには、アプリケーションのセキュリティ対策とレート制限の挙動に対する微妙な理解が必要です。
### OTP構築エラー
OTPがユーザーが既に持っているデータに基づいて作成される場合、またはOTPを作成する前に送信される場合、ユーザーがそれを生成してバイパスすることが可能です。
## 参考文献
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
P
{% hint style="success" %}
AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
{% endhint %}