Cloudflare Sécurité

Reading time: 6 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Dans un compte Cloudflare il existe certains paramètres généraux et services qui peuvent être configurés. Sur cette page nous allons analyser les paramètres liés à la sécurité de chaque section :

Sites Web

Review each with:

Cloudflare Domains

Domain Registration

  • Dans Transfer Domains, vérifiez qu'il n'est pas possible de transférer un domaine.

Review each with:

Cloudflare Domains

Analytics

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

Pages

Sur chaque page de Cloudflare :

  • Vérifier la présence d'informations sensibles dans le Build log.
  • Vérifier la présence d'informations sensibles dans le Github repository assigné aux Pages.
  • Rechercher un compromis potentiel du github repo via une workflow command injection ou par compromission de pull_request_target. More info in the Github Security page.
  • Vérifier les fonctions vulnérables dans le répertoire /fuctions (si présent), vérifier les redirections dans le fichier _redirects (si présent) et les entêtes mal configurés dans le fichier _headers (si présent).
  • Rechercher des vulnérabilités dans la page web via blackbox ou whitebox si vous pouvez accéder au code.
  • Dans les détails de chaque page /<page_id>/pages/view/blocklist/settings/functions. Vérifier la présence d'informations sensibles dans les Environment variables.
  • Dans la page de détails, vérifiez également la build command et le root directory pour des injections potentielles permettant de compromettre la page.

Workers

Pour chaque worker Cloudflare, vérifiez :

  • Les triggers : qu'est-ce qui déclenche le worker ? Un utilisateur peut-il envoyer des données qui seront utilisées par le worker ?
  • Dans les Settings, vérifiez la présence de Variables contenant des informations sensibles
  • Vérifiez le code du worker et recherchez des vulnérabilités (surtout aux endroits où l'utilisateur peut contrôler l'entrée)
  • Cherchez des SSRF renvoyant la page indiquée que vous pouvez contrôler
  • Cherchez des XSS exécutant du JS à l'intérieur d'une image svg
  • Il est possible que le worker interagisse avec d'autres services internes. Par exemple, un worker peut interagir avec un bucket R2 stockant des informations obtenues depuis l'entrée. Dans ce cas, il sera nécessaire de vérifier quelles capacités le worker a sur le bucket R2 et comment cela pourrait être abusé via l'entrée utilisateur.

warning

Notez que par défaut un Worker reçoit une URL telle que <worker-name>.<account>.workers.dev. L'utilisateur peut la définir sur un sous-domaine, mais vous pouvez toujours y accéder avec cette URL originale si vous la connaissez.

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

Cloudflare Workers Pass Through Proxy Ip Rotation

R2

Pour chaque bucket R2, vérifiez :

  • Configurez la CORS Policy.

Stream

TODO

Images

TODO

Security Center

  • Si possible, lancez un Security Insights scan et un Infrastructure scan, car ils mettront en évidence des informations intéressantes d'un point de vue sécurité.
  • Il suffit de vérifier ces informations pour des mauvaises configurations de sécurité et des informations intéressantes

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.

  • Vérifiez que les expressions et les exigences des redirections ont du sens.
  • Vérifiez aussi la présence d'endpoints cachés sensibles qui pourraient contenir des informations intéressantes.

Notifications

  • Vérifiez les notifications. Ces notifications sont recommandées pour la sécurité :
  • 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
  • Vérifiez toutes les destinations, car il pourrait y avoir des informations sensibles (auth HTTP basique) dans les webhook urls. Assurez-vous également que les webhook urls utilisent HTTPS
  • Comme vérification supplémentaire, vous pouvez tenter d'usurper une notification Cloudflare vers un tiers, peut-être pouvez-vous d'une manière ou d'une autre injecter quelque chose de dangereux

Manage Account

  • Il est possible de voir les 4 derniers chiffres de la carte, la date d'expiration et l'adresse de facturation dans Billing -> Payment info.
  • Il est possible de voir le type de plan utilisé dans le compte dans Billing -> Subscriptions.
  • Dans Members, il est possible de voir tous les membres du compte et leur rôle. Notez que si le type de plan n'est pas Enterprise, seuls 2 rôles existent : Administrator et Super Administrator. Mais si le plan est Enterprise, more roles peuvent être utilisés pour appliquer le principe du moindre privilège.
  • Par conséquent, autant que possible il est recommandé d'utiliser le Enterprise plan.
  • Dans Members, il est possible de vérifier quels membres ont la 2FA activée. Tous les utilisateurs devraient l'avoir activée.

note

Notez que, heureusement, le rôle Administrator n'accorde pas les permissions pour gérer les memberships (ne peut pas escalader les privilèges ni inviter de nouveaux membres)

DDoS Investigation

Check this part.

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks