Account Takeover
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
アカウントのメールアドレスを変更しようとし、確認プロセスを確認する必要があります。もし弱いと判明した場合、メールアドレスを意図した被害者のものに変更し、その後確認します。
意図した被害者のアカウント victim@gmail.com
Unicodeを使用してアカウントを作成する必要があります
例えば: vićtim@gmail.com
このトークで説明されているように、前述の攻撃はサードパーティのアイデンティティプロバイダーを悪用しても行うことができます:
被害者に似たメールアドレスを持つサードパーティのアイデンティティでアカウントを作成します(vićtim@company.com
)。
サードパーティプロバイダーはメールを確認しないべきです。
アイデンティティプロバイダーがメールを確認する場合、ドメイン部分を攻撃することができるかもしれません:victim@ćompany.com
としてそのドメインを登録し、アイデンティティプロバイダーがドメインのASCIIバージョンを生成し、被害者プラットフォームがドメイン名を正規化することを期待します。
このアイデンティティプロバイダーを介して被害者プラットフォームにログインし、Unicode文字を正規化し、被害者アカウントにアクセスできるようにします。
詳細については、Unicode正規化に関する文書を参照してください:
Unicode Normalizationターゲットシステムがリセットリンクの再利用を許可する場合、gau
、wayback
、またはscan.io
などのツールを使用してさらに多くのリセットリンクを見つける努力をする必要があります。
被害者のメールアドレスを使用してプラットフォームにサインアップし、パスワードを設定する必要があります(確認を試みる必要がありますが、被害者のメールにアクセスできない場合は不可能になるかもしれません)。
被害者がOAuthを使用してサインアップし、アカウントを確認するまで待つ必要があります。
通常のサインアップが確認されることを期待し、被害者のアカウントにアクセスできるようにします。
ページにCORS設定ミスが含まれている場合、ユーザーから機密情報を盗むことができ、アカウントを乗っ取るか、同じ目的のために認証情報を変更させることができるかもしれません:
CORS - Misconfigurations & BypassページがCSRFに対して脆弱な場合、ユーザーにパスワード、メール、または認証を変更させることができ、その後アクセスできるようになります:
CSRF (Cross Site Request Forgery)アプリケーションにXSSが見つかった場合、クッキー、ローカルストレージ、またはアカウントを乗っ取ることができる情報を盗むことができるかもしれません:
XSS (Cross Site Scripting)制限されたXSSまたはサブドメインの乗っ取りが見つかった場合、クッキーを操作(例えば、固定する)して被害者アカウントを危険にさらすことができるかもしれません:
Cookies Hacking認証レスポンスを単純なブール値に減らすことができる場合、falseをtrueに変更してアクセスできるか確認してください。
パスワードリセットリクエストの開始に続いて、ホストヘッダーが変更されます。
X-Forwarded-For
プロキシヘッダーがattacker.com
に変更されます。
ホスト、リファラー、およびオリジンヘッダーが同時にattacker.com
に変更されます。
パスワードリセットを開始し、メールを再送信することを選択した後、上記の3つの方法がすべて使用されます。
コード操作:ステータスコードが200 OK
に変更されます。
コードとボディの操作:
ステータスコードが200 OK
に変更されます。
レスポンスボディが{"success":true}
または空のオブジェクト{}
に変更されます。
これらの操作技術は、JSONがデータ送信および受信に使用されるシナリオで効果的です。
このレポートから:
攻撃者は新しいメールで自分のメールを変更するリクエストをします。
攻撃者はメールの変更を確認するためのリンクを受け取ります。
攻撃者は被害者にリンクを送信し、クリックさせます。
被害者のメールは攻撃者が指定したものに変更されます。
攻撃者はパスワードを回復し、アカウントを乗っ取ることができます。
これはこのレポートでも発生しました。
この投稿で説明されているように、アカウントにログインし、認証されたユーザーとしてクッキーを保存し、ログアウトし、その後再度ログインすることが可能でした。 新しいログインでは異なるクッキーが生成されるかもしれませんが、古いクッキーが再び機能するようになりました。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)