Uncovering CloudFlare

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

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

Cloudflareを発見するための一般的なテクニック

  • ドメインの過去のDNSレコードを提供するサービスを使用できます。おそらくウェブページは以前に使用されたIPアドレスで実行されています。

  • 同様に、過去のSSL証明書をチェックすることで、オリジンIPアドレスを指す可能性があります。

  • 直接IPアドレスを指す他のサブドメインのDNSレコードもチェックしてください。他のサブドメインが同じサーバーを指している可能性があります(おそらくFTP、メール、または他のサービスを提供するため)。

  • ウェブアプリケーション内でSSRFを見つけた場合、それを悪用してサーバーのIPアドレスを取得できます。

  • Shodanなどのブラウザでウェブページの一意の文字列を検索します(おそらくGoogleなどでも?)。そのコンテンツを持つIPアドレスを見つけることができるかもしれません。

  • 一意の文字列を探す代わりに、https://github.com/karma9874/CloudFlare-IPhttps://github.com/pielco11/fav-upのツールを使用してファビコンアイコンを検索できます。

  • これは非常に頻繁には機能しないかもしれません。サーバーはIPアドレスでアクセスされたときに同じ応答を送信する必要がありますが、絶対にわかりません。

Cloudflareを発見するためのツール

# You can check if the tool is working with
prips 1.0.0.0/30 | hakoriginfinder -h one.one.one.one

# If you know the company is using AWS you could use the previous tool to search the
## web page inside the EC2 IPs
DOMAIN=something.com
WIDE_REGION=us
for ir in `curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="EC2") | select(.region|test("^us")) | .ip_prefix'`; do
echo "Checking $ir"
prips $ir | hakoriginfinder -h "$DOMAIN"
done

クラウドインフラからのCloudflareの発見

AWSマシン向けに行われたとしても、他のどのクラウドプロバイダーでも同様に行うことができます。

このプロセスの詳細な説明については、以下を参照してください:

# Find open ports
sudo masscan --max-rate 10000 -p80,443 $(curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="EC2") | .ip_prefix' | tr '\n' ' ') | grep "open"  > all_open.txt
# Format results
cat all_open.txt | sed 's,.*port \(.*\)/tcp on \(.*\),\2:\1,' | tr -d " " > all_open_formated.txt
# Search actual web pages
httpx -silent -threads 200 -l all_open_formated.txt -random-agent -follow-redirects -json -no-color -o webs.json
# Format web results and remove eternal redirects
cat webs.json | jq -r "select((.failed==false) and (.chain_status_codes | length) < 9) | .url" | sort -u > aws_webs.json

# Search via Host header
httpx -json -no-color -list aws_webs.json -header Host: cloudflare.malwareworld.com -threads 250 -random-agent -follow-redirects -o web_checks.json

CloudflareをCloudflare経由でバイパスする

認証済みオリジンプル

このメカニズムは、クライアントSSL証明書 を使用してCloudflareのリバースプロキシサーバーとオリジンサーバーの間の接続を認証するために依存しています。これはmTLSと呼ばれます。

顧客は独自の証明書を設定する代わりに、Cloudflareの証明書を使用して、Cloudflareからの接続を許可できます。テナントに関係なく、Cloudflareからの接続を許可できます。

したがって、攻撃者は単にCloudflareの証明書を使用してCloudflareにドメインを設定し、それを被害者のドメインのIPアドレスに向けることができます。この方法で、彼のドメインを完全に保護されていない状態に設定し、Cloudflareは送信されたリクエストを保護しません。

詳細はこちら

Cloudflare IPアドレスのホワイトリスト

これにより、CloudflareのIPアドレス範囲から発信されない接続は拒否されます。これも、攻撃者が単に自分のドメインをCloudflareに向けて被害者のIPアドレスに攻撃する前の設定に対して脆弱です。

詳細はこちら

スクレイピングのためのCloudflareバイパス

キャッシュ

時には、CloudflareをバイパスしてWebページをスクレイプしたい場合があります。これにはいくつかのオプションがあります。

  • Googleキャッシュを使用する:https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog

  • https://archive.org/web/などの他のキャッシュサービスを使用する

ツール

次のようなツールは、Cloudflareのスクレイピングに対する保護をバイパスすることができる(またはできた)可能性があります。

Cloudflareソルバー

いくつかのCloudflareソルバーが開発されています。

強化されたヘッドレスブラウザ

自動化されたブラウザとして検出されないヘッドレスブラウザを使用します(そのためにカスタマイズする必要があるかもしれません)。いくつかのオプションは次のとおりです。

Cloudflare組み込みバイパス機能を備えたスマートプロキシ

スマートプロキシは、Cloudflareのセキュリティ対策を出し抜くことを目指して専門企業によって継続的に更新されるプロキシです。

その中には次のようなものがあります。

最適化されたソリューションを求める方には、ScrapeOps Proxy Aggregatorがおすすめです。このサービスは、20以上のプロキシプロバイダーを1つのAPIに統合し、ターゲットドメインに最適で費用対効果の高いプロキシを自動的に選択するため、Cloudflareの防御を回避するための優れたオプションを提供します。

Cloudflareの対ボット保護のリバースエンジニアリング

Cloudflareのボット対策をリバースエンジニアリングすることは、多数のヘッドレスブラウザを実行する高コストをかけずに大規模なWebスクレイピングを行うための戦術です。

利点: この方法は、Cloudflareのチェックを特定的に対象とする非常に効率的なバイパスの作成を可能にし、大規模な操作に最適です。

欠点: 欠点は、Cloudflareの意図的に不透明なボット対策システムを理解し、欺くための複雑さがあり、異なる戦略をテストし、Cloudflareが保護を強化するにつれてバイパスを更新するための継続的な努力が必要です。

これについての詳細情報は、元の記事で確認できます。

参考文献

htARTE(HackTricks AWS Red Team Expert)でAWSハッキングをゼロからヒーローまで学ぶ htARTE(HackTricks AWS Red Team Expert)!

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

Last updated