Cloudflare Security

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 репозиторії, призначеному для сторінок.
  • Перевірте наявність потенційного компрометації репозиторію github через workflow command injection або компрометацію pull_request_target. Більше інформації на Github Security page.
  • Перевірте наявність вразливих функцій у каталозі /fuctions (якщо є), перевірте перенаправлення у файлі _redirects (якщо є) та неправильно налаштовані заголовки у файлі _headers (якщо є).
  • Перевірте наявність вразливостей на веб-сторінці через blackbox або whitebox, якщо ви можете доступитися до коду.
  • У деталях кожної сторінки /<page_id>/pages/view/blocklist/settings/functions. Перевірте наявність чутливої інформації у Environment variables.
  • У деталях сторінки також перевірте команду збірки та кореневий каталог на наявність потенційних ін'єкцій, які можуть скомпрометувати сторінку.

Workers

На кожному робітнику Cloudflare перевірте:

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

warning

Зверніть увагу, що за замовчуванням Робітнику надається URL на кшталт <worker-name>.<account>.workers.dev. Користувач може налаштувати його на піддомен, але ви завжди можете отримати доступ до нього за цим оригінальним URL, якщо знаєте його.

R2

На кожному R2 бакеті перевірте:

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

Stream

TODO

Images

TODO

Security Center

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

Turnstile

TODO

Zero Trust

Cloudflare Zero Trust Network

Bulk Redirects

note

На відміну від Dynamic Redirects, Bulk Redirects є по суті статичними — вони не підтримують жодні операції заміни рядків або регулярні вирази. Однак ви можете налаштувати параметри перенаправлення URL, які впливають на їх поведінку при співпадінні URL та їх поведінку під час виконання.

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

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
  • Перевірте всі призначення, оскільки можуть бути чутливі дані (базова http аутентифікація) у URL вебхуків. Також переконайтеся, що URL вебхуків використовують HTTPS.
  • Як додаткову перевірку, ви можете спробувати видавати себе за сповіщення Cloudflare для третьої сторони, можливо, ви зможете якимось чином впровадити щось небезпечне.

Manage Account

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

note

Зверніть увагу, що, на щастя, роль Administrator не надає дозволів на управління членством (не може підвищити привілеї або запросити нових учасників).

DDoS Investigation

Перевірте цю частину.

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