Unusual 403 Bypass to a full website takeover [External Pentest] Viktor Mares から学ぶ

ソース:

medium.com

脆弱性:識別と認証の失敗

 

訳:

テストは完全にブラックボックスであり、顧客から提供される情報はゼロです。
私たちが知っている唯一のことは、redacted.com とサブドメイン my.redacted.com のテストが許可されているということです。 

私は、潜在的なエントリ ポイントを見つけるために、Web サイトを積極的にスキャンしてナビゲートし始めます。
80と443以外に開いているポートはありません。

そこで、gobuster でディレクトブルートフォース攻撃を開始すると、すぐに管理パネルに 403 — Forbidden 応答が返されるのが表示されます。

 

gobuster

これを見て、Web サイトに移動して、それが実際に 403 であることを確認し、潜在的なバイパスのために Burp Suite でリクエストをキャプチャします。 

 

管理パネル — 403

私の心の中では、内部 IP アドレスの ACL があるため、これをバイパスすることは不可能であると考えています。
それでも、403 をバイパスするために次のことを試しました。

早い話が、これらの方法はどれもうまくいきませんでした。
そのため、セキュリティ制御は、リクエスト内のコンポーネントの文字通りのスペルと大文字小文字を中心に構築される場合があることを覚えています。
そこで、「大文字と小文字の切り替え」テクニックを試してみました。
ばかげているように聞こえるかもしれませんが、実際にはうまくいきました。

要約すると次のようになります。

いずれかの文字を大文字に切り替えると、制限が回避されます。

管理パネルへのログイン ページが表示されます。

 

管理パネル — バイパスされた 403

これは幸運でしたが、それでも、さまざまな攻撃 (パスワード スプレー、ブルート フォースなど) を試すことができるようになりました。
私たちがテストしている会社は小規模ではなく、漏洩したデータベース (リーク チェック、リーク ピークなど) からかなりの数の従業員の資格情報を収集していました。
ただし、これは管理パネルであるため、通常のテストを実行します。

  • ユーザー名の列挙があるかどうかを確認する
  • ログイン制限がないか確認する
  • リクエストの数によりブロックされる可能性のある WAF を確認してください

簡単に言えば、どちらもありません。
ユーザー名を列挙することはできませんが、いかなる種類のレート制限もなく。

上記を考慮して、rockyou.txt をロードし、「admin」アカウントのパスワードの総当たり攻撃を開始します。 数千回の試行の後、次のことがわかります。

 

Burp Suite を使用した管理パネルのブルート フォース

管理者アカウントの有効な認証情報が見つかりました。 Web サイトの管理パネルに移動し、認証すれば準備完了です。 

 

管理パネル - 認証の成功

 

ほなほな。