Files
hacktricks-cloud/src/pentesting-ci-cd/cloudflare-security/README.md
T

6.6 KiB

Cloudflare Security

{{#include ../../banners/hacktricks-training.md}}

W koncie Cloudflare istnieją ogólne ustawienia i usługi, które można skonfigurować. Na tej stronie zamierzamy analizować ustawienia związane z bezpieczeństwem w każdej sekcji:

Websites

Przejrzyj każde z:

{{#ref}} cloudflare-domains.md {{#endref}}

Domain Registration

  • W Transfer Domains sprawdź, czy nie ma możliwości transferu żadnej domeny.

Przejrzyj każde z:

{{#ref}} cloudflare-domains.md {{#endref}}

Analytics

Nie mogłem znaleźć nic do sprawdzenia w przeglądzie bezpieczeństwa konfiguracji.

Pages

Na każdej stronie Cloudflare:

  • Sprawdź wrażliwe informacje w Build log.
  • Sprawdź wrażliwe informacje w repozytorium Github przypisanym do stron.
  • Sprawdź potencjalne naruszenie repozytorium github za pomocą workflow command injection lub kompromitacji pull_request_target. Więcej informacji na stronie Github Security page.
  • Sprawdź vulnerable functions w katalogu /fuctions (jeśli istnieje), sprawdź przekierowania w pliku _redirects (jeśli istnieje) oraz błędnie skonfigurowane nagłówki w pliku _headers (jeśli istnieje).
  • Sprawdź vulnerabilities w stronie internetowej za pomocą blackbox lub whitebox, jeśli możesz uzyskać dostęp do kodu.
  • W szczegółach każdej strony /<page_id>/pages/view/blocklist/settings/functions. Sprawdź wrażliwe informacje w Environment variables.
  • W szczegółach strony sprawdź również komendę budowania i katalog główny pod kątem potencjalnych wstrzyknięć, które mogą skompromitować stronę.

Workers

Na każdym workerze Cloudflare sprawdź:

  • Wyzwalacze: Co powoduje wyzwolenie workera? Czy użytkownik może wysłać dane, które będą używane przez workera?
  • W Settings, sprawdź Variables zawierające wrażliwe informacje.
  • Sprawdź kod workera i poszukaj vulnerabilities (szczególnie w miejscach, gdzie użytkownik może zarządzać danymi wejściowymi).
  • Sprawdź SSRFs zwracających wskazaną stronę, którą możesz kontrolować.
  • Sprawdź XSSy wykonujące JS wewnątrz obrazu svg.
  • Możliwe, że worker wchodzi w interakcję z innymi wewnętrznymi usługami. Na przykład, worker może wchodzić w interakcję z bucketem R2 przechowującym informacje uzyskane z danych wejściowych. W takim przypadku konieczne byłoby sprawdzenie, jakie możliwości ma worker nad bucketem R2 i jak można je wykorzystać na podstawie danych wejściowych użytkownika.

Warning

Zauważ, że domyślnie Worker otrzymuje URL taki jak <worker-name>.<account>.workers.dev. Użytkownik może ustawić go na subdomenę, ale zawsze możesz uzyskać do niego dostęp za pomocą tego oryginalnego URL, jeśli go znasz.

R2

Na każdym buckecie R2 sprawdź:

  • Skonfiguruj CORS Policy.

Stream

TODO

Images

TODO

Security Center

  • Jeśli to możliwe, uruchom skanowanie Security Insights i Infrastructure, ponieważ podkreślą one interesujące informacje z punktu widzenia bezpieczeństwa.
  • Po prostu sprawdź te informacje pod kątem błędnych konfiguracji bezpieczeństwa i interesujących informacji.

Turnstile

TODO

Zero Trust

{{#ref}} cloudflare-zero-trust-network.md {{#endref}}

Bulk Redirects

Note

W przeciwieństwie do Dynamic Redirects, Bulk Redirects są zasadniczo statyczne — nie obsługują żadnych operacji zastępowania ciągów ani wyrażeń regularnych. Możesz jednak skonfigurować parametry przekierowania URL, które wpływają na ich zachowanie w zakresie dopasowywania URL i ich zachowanie w czasie wykonywania.

  • Sprawdź, czy wyrażenia i wymagania dla przekierowań mają sens.
  • Sprawdź również wrażliwe ukryte punkty końcowe, które zawierają interesujące informacje.

Notifications

  • Sprawdź powiadomienia. Te powiadomienia są zalecane dla 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 destynacje, ponieważ mogą zawierać wrażliwe informacje (podstawowa autoryzacja http) w adresach URL webhooków. Upewnij się również, że adresy URL webhooków używają HTTPS.
  • Jako dodatkowe sprawdzenie, możesz spróbować podszyć się pod powiadomienie cloudflare do osoby trzeciej, może w jakiś sposób wstrzykniesz coś niebezpiecznego.

Manage Account

  • Możliwe jest zobaczenie ostatnich 4 cyfr karty kredytowej, daty ważności i adresu rozliczeniowego w Billing -> Payment info.
  • Możliwe jest zobaczenie rodzaju planu używanego w koncie w Billing -> Subscriptions.
  • W Members można zobaczyć wszystkich członków konta i ich rolę. Zauważ, że jeśli rodzaj planu nie jest Enterprise, istnieją tylko 2 role: Administrator i Super Administrator. Ale jeśli używany plan to Enterprise, więcej ról może być używanych w celu przestrzegania zasady najmniejszych uprawnień.
  • Dlatego, gdy to możliwe, zaleca się korzystanie z planu Enterprise.
  • W sekcji Członkowie można sprawdzić, którzy członkowie mają włączoną 2FA. Każdy użytkownik powinien mieć to włączone.

Note

Zauważ, że na szczęście rola Administrator nie daje uprawnień do zarządzania członkostwem (nie może podnieść uprawnień ani zapraszać nowych członków).

DDoS Investigation

Sprawdź tę część.

{{#include ../../banners/hacktricks-training.md}}