Виявлення CloudFlare
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Загальні методи виявлення Cloudflare
- Ви можете скористатися сервісом, який надає історичні записи DNS домену. Можливо веб-сторінка раніше працювала на іншій IP-адресі.
- Те ж саме можна досягти, перевіряючи історичні SSL сертифікати, які могли вказувати на origin IP-адресу.
- Перевірте також DNS-записи інших субдоменів, які вказують безпосередньо на IP, оскільки інші субдомени можуть вказувати на той же сервер (наприклад для FTP, mail або інших сервісів).
- Якщо ви знайдете SSRF всередині веб-застосунку, його можна використати, щоб отримати IP-адресу сервера.
- Шукайте унікальний рядок зі сторінки в пошукових системах, таких як shodan (а можливо і google та подібні). Можливо ви знайдете IP з таким самим вмістом.
- Схожим чином, замість пошуку унікального рядка, можна шукати favicon за допомогою інструменту: 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. Або використовуйте інструмент CloudPeler (який використовує той API)
- Шукайте домен на https://leaked.site/index.php?resolver/cloudflare.0/
- CF-Hero — це комплексний інструмент розвідки, розроблений для виявлення реальних IP-адрес веб-застосунків, захищених Cloudflare. Він здійснює збір розвідданих з декількох джерел різними методами.
- CloudFlair — інструмент, який шукає за Censys сертифікатами, що містять ім’я домену, потім знаходить IPv4 всередині цих сертифікатів і в кінці намагається звернутися до веб-сторінки на цих IP.
- CloakQuest3r: CloakQuest3r — потужний Python-інструмент, ретельно створений для розкриття справжньої IP-адреси вебсайтів, захищених Cloudflare та іншими альтернативами, що широко використовуються для підвищення безпеки і продуктивності web. Його основна мета — точно визначити фактичну IP-адресу вебсерверів, прихованих за захисним шаром Cloudflare.
- 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
Виявлення 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
Authenticated Origin Pulls
Цей механізм базується на client SSL certificates для автентифікації з’єднань між серверами Cloudflare’s reverse-proxy та origin сервером, що називається mTLS.
Замість налаштування власного сертифіката, клієнти можуть просто використовувати сертифікат Cloudflare, щоб дозволити будь-яке з’єднання з Cloudflare, незалежно від tenant.
Caution
Таким чином, атакуючий може просто встановити domain in Cloudflare using Cloudflare’s certificate and point його на victim domain IP адресу. Зробивши свій домен повністю незахищеним, Cloudflare не захищатиме відправлені запити.
More info here.
Додавання Cloudflare IP-адрес до allowlist
Це буде відхиляти з’єднання, що не походять від діапазонів IP-адрес Cloudflare. Це також вразливо до попередньої схеми, коли атакуючий просто point his own domain in Cloudflare на victims IP адресу і атакує її.
More info here.
Bypass Cloudflare for scraping
Cache
Іноді потрібно просто обійти Cloudflare, щоб лише скрапити веб-сторінку. Є кілька варіантів для цього:
- Use Google cache:
https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog - Use other cache services such as https://archive.org/web/
Tools
Деякі інструменти, такі як наведені нижче, можуть обійти (або раніше могли обходити) захист Cloudflare проти scraping:
Cloudflare Solvers
Було розроблено низку Cloudflare solvers:
- FlareSolverr
- cloudscraper Guide here
- cloudflare-scrape
- CloudflareSolverRe
- Cloudflare-IUAM-Solver
- cloudflare-bypass [Archived]
- CloudflareSolverRe
Fortified Headless Browsers
Використовуйте headless браузер, який не визначається як автоматизований браузер (можливо, доведеться його налаштувати для цього). Деякі варіанти:
- Puppeteer: The stealth plugin for puppeteer.
- Playwright: The stealth plugin is coming to Playwright soon. Follow developments here and here.
- Selenium: SeleniumBase — сучасний фреймворк автоматизації браузера з вбудованими stealth-можливостями. Він пропонує два режими: UC Mode, оптимізований патч Selenium ChromeDriver на базі undetected-chromedriver, та CDP Mode, який може обійти виявлення ботів, вирішувати CAPTCHAs і використовувати просунуті методи з Chrome DevTools Protocol.
Smart Proxy With Cloudflare Built-In Bypass
Smart proxies постійно оновлюються спеціалізованими компаніями, які прагнуть перехитрити заходи безпеки Cloudflare (бо це їхній бізнес).
Деякі з них:
- ScraperAPI
- Scrapingbee
- Oxylabs
- Smartproxy are noted for their proprietary Cloudflare bypass mechanisms.
Для тих, хто шукає оптимізоване рішення, виділяється ScrapeOps Proxy Aggregator. Цей сервіс інтегрує понад 20 провайдерів проксі в єдиний API, автоматично вибираючи найкращий і найбільш економічно вигідний проксі для ваших цільових доменів, що робить його відмінним варіантом для навігації по захисту Cloudflare.
Reverse Engineer Cloudflare Anti-Bot Protection
Реверс-інжиніринг anti-bot заходів Cloudflare — тактика, яку використовують провайдери smart proxy, придатна для масштабного web scraping без високих витрат на запуск великої кількості headless браузерів.
Переваги: Цей метод дозволяє створити надзвичайно ефективний обхід, який спеціально націлений на перевірки Cloudflare — ідеально підходить для великих операцій.
Недоліки: Недолік — складність розуміння і обману навмисно заплутаної системи anti-bot від Cloudflare, що вимагає постійних зусиль для тестування різних стратегій та оновлення обхідних механізмів у міру посилення захисту Cloudflare.
Find more info about how to do this in the original article.
References
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


