Sécurité Cloudflare

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 y a 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

Examinez chacun avec :

Cloudflare Domains

Enregistrement de domaine

  • Dans Transférer des domaines, vérifiez qu'il n'est pas possible de transférer un domaine.

Examinez chacun avec :

Cloudflare Domains

Analytique

Je n'ai rien trouvé à vérifier pour un examen de sécurité de configuration.

Pages

Sur chaque page de Cloudflare :

  • Vérifiez les informations sensibles dans le Journal de construction.
  • Vérifiez les informations sensibles dans le dépôt Github assigné aux pages.
  • Vérifiez le potentiel compromis du dépôt github via injection de commande de workflow ou compromis de pull_request_target. Plus d'infos sur la page de sécurité Github.
  • Vérifiez les fonctions vulnérables dans le répertoire /fuctions (s'il y en a), vérifiez les redirections dans le fichier _redirects (s'il y en a) et les en-têtes mal configurés dans le fichier _headers (s'il y en a).
  • Vérifiez les 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érifiez les informations sensibles dans les Variables d'environnement.
  • Dans la page de détails, vérifiez également la commande de construction et le répertoire racine pour des injections potentielles pouvant compromettre la page.

Workers

Sur chaque worker de Cloudflare, vérifiez :

  • Les déclencheurs : Qu'est-ce qui fait déclencher le worker ? Un utilisateur peut-il envoyer des données qui seront utilisées par le worker ?
  • Dans les Paramètres, vérifiez les Variables contenant des informations sensibles.
  • Vérifiez le code du worker et recherchez des vulnérabilités (surtout dans les endroits où l'utilisateur peut gérer l'entrée).
  • Vérifiez les SSRFs retournant la page indiquée que vous pouvez contrôler.
  • Vérifiez les 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 à partir de l'entrée. Dans ce cas, il serait nécessaire de vérifier quelles capacités le worker a sur le bucket R2 et comment cela pourrait être abusé à partir de l'entrée utilisateur.

warning

Notez qu'en règle générale, un Worker reçoit une URL telle que <worker-name>.<account>.workers.dev. L'utilisateur peut le définir sur un sous-domaine, mais vous pouvez toujours y accéder avec cette URL d'origine si vous la connaissez.

R2

Sur chaque bucket R2, vérifiez :

  • Configurez la politique CORS.

Stream

TODO

Images

TODO

Centre de sécurité

  • Si possible, exécutez un scan Security Insights et un scan Infrastructure, car ils mettront en évidence des informations intéressantes sur la sécurité.
  • Vérifiez simplement ces informations pour des erreurs de configuration de sécurité et des informations intéressantes.

Turnstile

TODO

Zero Trust

Cloudflare Zero Trust Network

Redirections en masse

note

Contrairement aux Redirections dynamiques, les Redirections en masse sont essentiellement statiques — elles ne prennent pas en charge les opérations de remplacement de chaîne ou les expressions régulières. Cependant, vous pouvez configurer des paramètres de redirection d'URL qui affectent leur comportement de correspondance d'URL et leur comportement d'exécution.

  • Vérifiez que les expressions et les exigences pour les redirections ont du sens.
  • Vérifiez également les points de terminaison cachés sensibles qui contiennent des informations intéressantes.

Notifications

  • Vérifiez les notifications. Ces notifications sont recommandées pour la sécurité :
  • Facturation basée sur l'utilisation
  • Alerte d'attaque DDoS HTTP
  • Alerte d'attaque DDoS de couche 3/4
  • Alerte d'attaque DDoS HTTP avancée
  • Alerte d'attaque DDoS de couche 3/4 avancée
  • Surveillance basée sur le flux : attaque volumétrique
  • Alerte de détection de fuite de route
  • Alerte d'expiration de certificat mTLS d'accès
  • Alerte SSL pour les noms d'hôtes personnalisés SaaS
  • Alerte SSL universel
  • Alerte de détection de changement de code nouveau dans le moniteur de script
  • Alerte de nouveau domaine dans le moniteur de script
  • Alerte de nouveau domaine malveillant dans le moniteur de script
  • Alerte de nouveau script malveillant dans le moniteur de script
  • Alerte de nouvelle URL malveillante dans le moniteur de script
  • Alerte de nouveaux scripts dans le moniteur de script
  • Alerte de nouveau script dépassant la longueur maximale de l'URL dans le moniteur de script
  • Alerte d'événements de sécurité avancés
  • Alerte d'événements de sécurité
  • Vérifiez toutes les destinations, car il pourrait y avoir des informations sensibles (authentification http de base) dans les urls de webhook. Assurez-vous également que les urls de webhook utilisent HTTPS.
  • En vérification supplémentaire, vous pourriez essayer de imiter une notification Cloudflare à un tiers, peut-être que vous pouvez d'une manière ou d'une autre injecter quelque chose de dangereux.

Gérer le compte

  • Il est possible de voir les 4 derniers chiffres de la carte de crédit, la date d'expiration et l'adresse de facturation dans Facturation -> Informations de paiement.
  • Il est possible de voir le type de plan utilisé dans le compte dans Facturation -> Abonnements.
  • Dans Membres, il est possible de voir tous les membres du compte et leur rôle. Notez que si le type de plan n'est pas Entreprise, seuls 2 rôles existent : Administrateur et Super Administrateur. Mais si le plan utilisé est Entreprise, plus de rôles peuvent être utilisés pour suivre le principe du moindre privilège.
  • Par conséquent, chaque fois que cela est possible, il est recommandé d'utiliser le plan Entreprise.
  • Dans Membres, il est possible de vérifier quels membres ont 2FA activé. Chaque utilisateur devrait l'avoir activé.

note

Notez qu'il est heureusement que le rôle Administrateur ne donne pas de permissions pour gérer les adhésions (ne peut pas élever les privilèges ou inviter de nouveaux membres).

Enquête DDoS

Consultez cette partie.

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