Виявлення 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

Загальні методи виявлення 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, те саме можна виконати для будь-якого іншого хмарного провайдера.

Для детальнішого опису цього процесу дивіться:

https://trickest.com/blog/cloudflare-bypass-discover-ip-addresses-aws/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks

# 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:

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 (бо це їхній бізнес).

Деякі з них:

Для тих, хто шукає оптимізоване рішення, виділяється 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