Cloudflare Security

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

W koncie Cloudflare można skonfigurować pewne ogólne ustawienia i usługi. Na tej stronie przeanalizujemy ustawienia związane z bezpieczeństwem każdej sekcji:

Websites

Sprawdź każdą za pomocą:

Cloudflare Domains

Domain Registration

  • W Transfer Domains sprawdź, czy nie jest możliwe przeniesienie żadnej domeny.

Sprawdź każdą za pomocą:

Cloudflare Domains

Analytics

I couldn’t find anything to check for a config security review.

Pages

On each Cloudflare’s page:

  • Sprawdź, czy w Build log nie ma informacji wrażliwych.
  • Sprawdź, czy w przypisanym do Pages repozytorium Github nie ma informacji wrażliwych.
  • Sprawdź potencjalne przejęcie repozytorium Github przez workflow command injection lub kompromitację pull_request_target. Więcej informacji na Github Security page.
  • Sprawdź pod kątem podatnych funkcji w katalogu /fuctions (jeśli istnieje), sprawdź przekierowania w pliku _redirects (jeśli istnieje) oraz nieprawidłowo skonfigurowane nagłówki w pliku _headers (jeśli istnieje).
  • Sprawdź podatności na stronie webowej metodami blackbox lub whitebox, jeśli masz dostęp do kodu.
  • W szczegółach każdej strony /<page_id>/pages/view/blocklist/settings/functions sprawdź, czy w Environment variables nie ma informacji wrażliwych.
  • Na stronie szczegółów sprawdź także komendę build i katalog root pod kątem potencjalnych injection, które mogłyby przejąć stronę.

Workers

On each Cloudflare’s worker check:

  • The triggers: What makes the worker trigger? Can a user send data that will be used by the worker?
  • W Settings sprawdź, czy Variables nie zawierają informacji wrażliwych.
  • Sprawdź kod Workera i wyszukaj podatności (szczególnie tam, gdzie użytkownik może kontrolować input).
  • Sprawdź SSRF-y zwracające wskazaną stronę, którą możesz kontrolować.
  • Sprawdź XSS-y wykonujące JS wewnątrz obrazu svg.
  • Worker może wchodzić w interakcję z innymi usługami wewnętrznymi. Na przykład Worker może zapisywać dane do bucketu R2 uzyskane z inputu. W takim przypadku trzeba sprawdzić, jakie uprawnienia ma Worker względem bucketu R2 i jak można je wykorzystać przez input użytkownika.

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.

For a practical abuse of Workers as pass-through proxies (IP rotation, FireProx-style), check:

Cloudflare Workers Pass Through Proxy Ip Rotation

R2

On each R2 bucket check:

  • Skonfiguruj CORS Policy.

Stream

TODO

Images

TODO

Security Center

  • Jeśli to możliwe, uruchom skan Security Insights oraz skan Infrastructure, ponieważ wykażą interesujące informacje pod kątem bezpieczeństwa.
  • Po prostu przejrzyj te informacje pod kątem błędów konfiguracyjnych i interesujących danych.

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.

  • Sprawdź, czy wyrażenia i wymagania dla redirectów mają sens.
  • Sprawdź również, czy nie ma ukrytych wrażliwych endpointów, które zawierają interesujące informacje.

Notifications

  • Sprawdź notifications. Te powiadomienia są zalecane z punktu widzenia bezpieczeństwa:
  • 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
  • Sprawdź wszystkie destination, ponieważ w webhook URL-ach może znajdować się wrażliwa informacja (basic http auth). Upewnij się także, że webhooki używają HTTPS.
  • Jako dodatkową kontrolę możesz spróbować podszyć się pod powiadomienie Cloudflare wysłane do strony trzeciej — być może uda się wstrzyknąć coś niebezpiecznego.

Manage Account

  • W Billing -> Payment info można zobaczyć ostatnie 4 cyfry karty, datę wygaśnięcia i adres rozliczeniowy.
  • W Billing -> Subscriptions można zobaczyć typ planu używanego na koncie.
  • W Members można zobaczyć wszystkich członków konta i ich role. Zauważ, że jeśli plan nie jest Enterprise, dostępne są tylko 2 role: Administrator i Super Administrator. Jeśli jednak używany plan to Enterprise, można stosować więcej ról w celu realizacji zasady najmniejszych uprawnień.
  • Dlatego, gdy to możliwe, zaleca się używanie planu Enterprise.
  • W Members można sprawdzić, którzy członkowie mają włączone 2FA. Każdy użytkownik powinien mieć to włączone.

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

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks