CloudFlareを明らかにする
Reading time: 13 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Cloudflareを明らかにするための一般的な手法
- ドメインの履歴DNSレコードを提供するサービスを使用できます。ウェブページが以前使用されていたIPアドレスで実行されている可能性があります。
- 履歴SSL証明書を確認することで、オリジンIPアドレスを指している可能性があります。
- IPに直接ポイントしている他のサブドメインのDNSレコードも確認してください。他のサブドメインが同じサーバーを指している可能性があります(FTP、メール、または他のサービスを提供するために)。
- ウェブアプリケーション内にSSRFを見つけた場合、それを悪用してサーバーのIPアドレスを取得できます。
- shodanなどのブラウザでウェブページのユニークな文字列を検索してください(おそらくgoogleや類似のものも?)。そのコンテンツを持つIPアドレスを見つけることができるかもしれません。
- 同様に、ユニークな文字列を探す代わりに、ツールを使ってファビコンアイコンを検索できます: https://github.com/karma9874/CloudFlare-IP または https://github.com/pielco11/fav-up
- これは非常に頻繁には機能しませんが、サーバーがIPアドレスでアクセスされたときに同じ応答を送信する必要がありますが、何が起こるかわかりません。
Cloudflareを明らかにするためのツール
- http://www.crimeflare.org:82/cfs.html または https://crimeflare.herokuapp.com でドメインを検索します。あるいは、そのAPIを使用するツール CloudPeler を使用します。
- https://leaked.site/index.php?resolver/cloudflare.0/ でドメインを検索します。
- CloudFlair は、ドメイン名を含むCensys証明書を使用して検索し、その証明書内のIPv4を検索し、最後にそれらのIPでウェブページにアクセスしようとするツールです。
- CloakQuest3r: CloakQuest3rは、Cloudflareや他の代替手段によって保護されたウェブサイトの真のIPアドレスを明らかにするために慎重に作成された強力なPythonツールです。その主な目的は、Cloudflareの保護シールドの背後に隠されたウェブサーバーの実際のIPアドレスを正確に識別することです。
- Censys
- Shodan
- Bypass-firewalls-by-DNS-history
- ウェブページが存在する可能性のあるIPのセットがある場合は、https://github.com/hakluke/hakoriginfinder を使用できます。
# 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
Cloudインフラから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をバイパスする
認証されたオリジンプル
このメカニズムは、Cloudflareのリバースプロキシサーバーとオリジンサーバー間の接続を認証するためにクライアントSSL証明書に依存しています。これはmTLSと呼ばれます。
顧客は独自の証明書を設定する代わりに、Cloudflareの証明書を使用して、テナントに関係なくCloudflareからの接続を許可できます。
caution
したがって、攻撃者は単にCloudflareの証明書を使用してCloudflareにドメインを設定し、それを被害者ドメインのIPアドレスにポイントすることができます。この方法では、彼のドメインを完全に保護されていない状態に設定し、Cloudflareは送信されたリクエストを保護しません。
詳細はこちら。
CloudflareのIPアドレスをホワイトリストに追加
これにより、CloudflareのIPアドレス範囲から発信されない接続が拒否されます。これは、攻撃者が単にCloudflareに自分のドメインをポイントして被害者のIPアドレスを攻撃するという前の設定にも脆弱です。
詳細はこちら。
スクレイピングのためのCloudflareのバイパス
キャッシュ
時には、単にCloudflareをバイパスしてウェブページをスクレイピングしたいだけです。これにはいくつかのオプションがあります:
- Googleキャッシュを使用:
https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
- https://archive.org/web/などの他のキャッシュサービスを使用
ツール
以下のようなツールは、Cloudflareのスクレイピングに対する保護をバイパスすることができます(またはバイパスできたことがあります):
Cloudflareソルバー
いくつかのCloudflareソルバーが開発されています:
- FlareSolverr
- cloudscraper ガイドはこちら
- cloudflare-scrape
- CloudflareSolverRe
- Cloudflare-IUAM-Solver
- cloudflare-bypass [アーカイブ済み]
- CloudflareSolverRe
強化されたヘッドレスブラウザ
自動化されたブラウザとして検出されないヘッドレスブラウザを使用します(そのためにカスタマイズが必要な場合があります)。いくつかのオプションは:
- Puppeteer: puppeteer用のステルスプラグイン。
- Playwright: ステルスプラグインが近日中にPlaywrightに登場します。進捗はこちらとこちらでフォローしてください。
- Selenium: undetected-chromedriverは最適化されたSelenium Chromedriverパッチです。
Cloudflare内蔵のバイパスを持つスマートプロキシ
スマートプロキシは、Cloudflareのセキュリティ対策を打破することを目的とした専門企業によって継続的に更新されています(それが彼らのビジネスです)。
その中には:
- ScraperAPI
- Scrapingbee
- Oxylabs
- Smartproxyは、独自のCloudflareバイパスメカニズムで知られています。
最適化されたソリューションを求める方には、ScrapeOps Proxy Aggregatorが際立っています。このサービスは、20以上のプロキシプロバイダーを単一のAPIに統合し、ターゲットドメインに対して最適でコスト効果の高いプロキシを自動的に選択するため、Cloudflareの防御を回避するための優れたオプションを提供します。
Cloudflareのアンチボット保護をリバースエンジニアリング
Cloudflareのアンチボット対策をリバースエンジニアリングすることは、スマートプロキシプロバイダーによって使用される戦術であり、多くのヘッドレスブラウザを運用する高コストなしで広範なウェブスクレイピングに適しています。
利点: この方法は、Cloudflareのチェックを特にターゲットにした非常に効率的なバイパスを作成することを可能にし、大規模な操作に最適です。
欠点: 欠点は、Cloudflareの意図的に不明瞭なアンチボットシステムを理解し、欺くことに関わる複雑さであり、Cloudflareが保護を強化するにつれて、さまざまな戦略をテストし、バイパスを更新するための継続的な努力が必要です。
これを行う方法についての詳細は、元の記事で見つけてください。
参考文献
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。