Shikata Ga Nai

Private? There is no such things.

Account Takeover Through Password Reset Poisoningを訳してみた

Hello there, ('ω')ノ

 

パスワードリセットポイズニングによるアカウント乗っ取りを。

 

脆弱性:

 パスワードリセットの欠陥

 アカウントの乗っ取り

 

記事:

 https://vbharad.medium.com/account-takeover-through-password-reset-poisoning-72989a8bb8ea

 

ツール:

    Burp Suite
    Ngrokサーバ

 

脆弱性について:

今回は、redacted.comと仮定して。

パスワードを忘れたページでいくつかのバグを見つけることに。

何度も試みた後、完全なアカウントの乗っ取りにつながる脆弱性を発見できて。

 

再現する手順:

1.https://redacted.com/users/forgot_passwordにアクセスして。

2.usernameを入力して、パスワードを忘れた場合のリンクを取得して。

 このリクエストをBurp Suiteでキャプチャして。

 X-Forwarded-Host: bing.comを追加して。

 

f:id:ThisIsOne:20220312171700p:plain

 

3.次に、リクエストを転送してメールを確認すると。

 下記のトークン付きのパスワードリセットのメールが届いて。

 https://bing.com/users/reset_password/tqo4Xciu806oiR1FjX8RtIUc1DTcm1B5Kqb53j1fLEkzMW2GPgCpuEODDStpRaES

 

 ここで、トークンがbing.comへリークしたので。

 このトークンが正しいものかを確認したいので。

 https://bing.comの代わりにhttps://redacted.comに置き換えてブラウザで開くと。

 

f:id:ThisIsOne:20220312171620p:plain

 

5.パスワードリセットリンクは有効であり、パスワードをリセットできて。

 

搾取:

この後、このバグを悪用する方法を実行することに。

搾取に関する手順は次のとおりで。

1.攻撃者のサーバをngrokを介してサーバを作成して。

2.次に攻撃者はhttps://redacted.com/users/forgot_passwordのページに移動して。

 被害者のusernameを入力して、BurpSuiteでリクエストをキャプチャして。

3.キャプチャされたリクエストで。

 攻撃者は「X-Forwarded-Host:ngrok.io」を追加して。

 ※ngrok.io=ngrokのサーバアドレス

 

f:id:ThisIsOne:20220312171856p:plain

 

4.その後、被害者はパスワードリセットURLを取得できて。

 そのリセットリンクのドメインは。

 ngrokサーバのアドレスまたはドメインになって。

 (悪用の場合は、被害者とのやり取りまたはワンクリックのみが必要で)

5.被害者がそのリンクをクリックするときは。

 いつでも攻撃者は自分のサーバで完全なトークンを取得できて。

 

f:id:ThisIsOne:20220312171536p:plain

 

6.攻撃者がパスワードリセットトークンを取得できる場合は。

 攻撃者はngrokドメイン名をメインドメインに変更して。

 アカウントを乗っ取るだけで。

 

Best regards, (^^ゞ