Cloudflare Безпека

Reading time: 5 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

У обліковому записі Cloudflare є деякі загальні налаштування та сервіси, які можна конфігурувати. На цій сторінці ми збираємось аналізувати налаштування, що стосуються безпеки, у кожному розділі:

Websites

Перевірте кожен з:

Cloudflare Domains

Domain Registration

  • У Transfer Domains перевірте, що неможливо передати домен.

Перевірте кожен з:

Cloudflare Domains

Analytics

Я не знайшов нічого, що варто перевіряти для огляду конфігурації безпеки.

Pages

У кожній сторінці Cloudflare:

  • Перевірте наявність чутливої інформації у Build log.
  • Перевірте чутливу інформацію в Github repository, прив'язаному до pages.
  • Перевірте можливу компрометацію github repo через workflow command injection або pull_request_target. Детальніше на Github Security page.
  • Перевірте наявність вразливих функцій у каталозі /fuctions (якщо є), перевірте redirects у файлі _redirects (якщо є) та misconfigured headers у файлі _headers (якщо є).
  • Перевірте на вразливості веб-сторінку за допомогою blackbox або whitebox, якщо маєте доступ до коду.
  • У деталях кожної сторінки /<page_id>/pages/view/blocklist/settings/functions. Перевірте чутливу інформацію у Environment variables.
  • На сторінці деталей також перевірте build command та root directory на предмет потенційних ін'єкцій для компрометації сторінки.

Workers

У кожного Cloudflare worker перевірте:

  • Тригери: що запускає worker? Чи може користувач відправляти дані, які будуть використані worker?
  • У Settings перевірте Variables, що містять чутливу інформацію
  • Перевірте код worker і шукайте вразливості (особливо в місцях, де користувач може впливати на вхідні дані)
  • Перевірте SSRFs, що повертають вказану сторінку, якою ви можете керувати
  • Перевірте XSSs, що виконують JS всередині svg зображення
  • Можливо, worker взаємодіє з іншими внутрішніми сервісами. Наприклад, worker може працювати з R2 bucket, зберігаючи в ньому інформацію, отриману з input. У такому випадку потрібно перевірити, які можливості має worker щодо R2 bucket і як це можна зловживати через вхідні дані користувача.

warning

Note that by default a Worker is given a URL such as <worker-name>.<account>.workers.dev. The user can set it to a subdomain but you can always access it with that original URL if you know it.

Для практичного зловживання Workers як pass-through проксі (IP rotation, FireProx-style), перевірте:

Cloudflare Workers Pass Through Proxy Ip Rotation

R2

У кожному R2 bucket перевірте:

  • Налаштуйте CORS Policy.

Stream

TODO

Images

TODO

Security Center

  • Якщо можливо, запустіть Security Insights scan та Infrastructure scan, оскільки вони виділять цікаву інформацію з точки зору безпеки.
  • Просто перегляньте цю інформацію на предмет неправильних налаштувань безпеки та цікавої інформації

Turnstile

TODO

Zero Trust

Cloudflare Zero Trust Network

Bulk Redirects

note

Unlike Dynamic Redirects, Bulk Redirects are essentially static — they do not support any string replacement operations or regular expressions. However, you can configure URL redirect parameters that affect their URL matching behavior and their runtime behavior.

  • Перевірте, чи вирази та умови для редіректів мають сенс.
  • Також перевірте наявність чутливих прихованих endpoint-ів, які можуть містити цікаву інформацію.

Notifications

  • Перевірте notifications. Ці повідомлення рекомендовані для безпеки:
  • Usage Based Billing
  • HTTP DDoS Attack Alert
  • Layer 3/4 DDoS Attack Alert
  • Advanced HTTP DDoS Attack Alert
  • Advanced Layer 3/4 DDoS Attack Alert
  • Flow-based Monitoring: Volumetric Attack
  • Route Leak Detection Alert
  • Access mTLS Certificate Expiration Alert
  • SSL for SaaS Custom Hostnames Alert
  • Universal SSL Alert
  • Script Monitor New Code Change Detection Alert
  • Script Monitor New Domain Alert
  • Script Monitor New Malicious Domain Alert
  • Script Monitor New Malicious Script Alert
  • Script Monitor New Malicious URL Alert
  • Script Monitor New Scripts Alert
  • Script Monitor New Script Exceeds Max URL Length Alert
  • Advanced Security Events Alert
  • Security Events Alert
  • Перевірте всі destinations, оскільки у webhook urls може міститися чутлива інформація (basic http auth). Також переконайтесь, що webhook urls використовують HTTPS
  • Додатково можна спробувати сприскати себе за Cloudflare notification до третьої сторони, можливо ви зможете якимось чином інжектувати щось небезпечне

Manage Account

  • У Billing -> Payment info можна побачити останні 4 цифри кредитної картки, дату expiration та billing address.
  • У Billing -> Subscriptions можна побачити plan type, що використовується в обліковому записі.
  • У Members можна побачити всіх учасників облікового запису та їхні role. Зауважте, що якщо план не Enterprise, існують лише 2 ролі: Administrator та Super Administrator. Але якщо використовується plan Enterprise, можна використовувати more roles для дотримання принципу найменших привілеїв.
  • Тому, де можливо, рекомендується використовувати Enterprise plan.
  • У Members можна перевірити, які members мають увімкнений 2FA. Кожен користувач повинен його мати увімкненим.

note

Note that fortunately the role Administrator doesn't give permissions to manage memberships (cannot escalate privs or invite new members)

DDoS Investigation

Check this part.

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