Uncovering CloudFlare
Reading time: 8 minutes
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.
Common Techniques to Uncover Cloudflare
- Ви можете використовувати деякі сервіси, які надають історичні DNS записи домену. Можливо, веб-сторінка працює на IP-адресі, яка використовувалася раніше.
- Те ж саме можна досягти перевіряючи історичні SSL сертифікати, які можуть вказувати на початкову IP-адресу.
- Також перевірте DNS записи інших піддоменів, які вказують безпосередньо на IP-адреси, оскільки можливо, що інші піддомени вказують на той самий сервер (можливо, щоб запропонувати FTP, пошту або будь-яку іншу послугу).
- Якщо ви знайдете SSRF всередині веб-додатку, ви можете зловживати ним, щоб отримати IP-адресу сервера.
- Шукайте унікальний рядок веб-сторінки в браузерах, таких як shodan (а можливо, google та подібні?). Можливо, ви зможете знайти IP-адресу з цим контентом.
- Подібним чином, замість пошуку унікального рядка, ви можете шукати фавікон за допомогою інструменту: https://github.com/karma9874/CloudFlare-IP або з https://github.com/pielco11/fav-up
- Це не буде працювати дуже часто, оскільки сервер повинен надсилати однакову відповідь, коли до нього звертаються за IP-адресою, але ви ніколи не знаєте.
Tools to uncover 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 та іншими альтернативами, широко використовуваною службою безпеки вебу та підвищення продуктивності. Його основна мета - точно визначити фактичну 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
Аутентифіковані запити з джерела
Цей механізм покладається на клієнтські SSL сертифікати для аутентифікації з'єднань між зворотними проксі серверами Cloudflare та сервером-джерелом, що називається mTLS.
Замість налаштування власного сертифіката, клієнти можуть просто використовувати сертифікат Cloudflare, щоб дозволити будь-яке з'єднання з Cloudflare, незалежно від орендатора.
caution
Отже, зловмисник може просто налаштувати домен у Cloudflare, використовуючи сертифікат Cloudflare, і вказати його на IP адресу жертви. Таким чином, налаштувавши свій домен абсолютно без захисту, Cloudflare не захистить надіслані запити.
Більше інформації тут.
Дозволені IP-адреси Cloudflare
Це відхилить з'єднання, які не походять з діапазонів IP-адрес Cloudflare. Це також вразливе до попередньої конфігурації, де зловмисник просто вказує свій власний домен у 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: плагін stealth для puppeteer.
- Playwright: плагін stealth незабаром з'явиться в 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 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.