Segurança do Cloudflare

Reading time: 6 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Em uma conta Cloudflare existem algumas configurações gerais e serviços que podem ser configurados. Nesta página vamos analisar as configurações relacionadas à segurança de cada seção:

Websites

Revise cada um com:

Cloudflare Domains

Domain Registration

  • Em Transfer Domains verifique se não é possível transferir nenhum domínio.

Revise cada um com:

Cloudflare Domains

Analytics

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

Pages

Em cada Page do Cloudflare:

  • Verifique por informações sensíveis no Build log.
  • Verifique por informações sensíveis no Github repository atribuído ao pages.
  • Verifique por possível comprometimento do github repo via workflow command injection ou comprometimento pull_request_target. Mais informações na Github Security page.
  • Verifique por funções vulneráveis no diretório /fuctions (se houver), verifique os redirects no arquivo _redirects (se houver) e headers mal configurados no arquivo _headers (se houver).
  • Verifique por vulnerabilidades na web page via blackbox ou whitebox se você conseguir acessar o código.
  • Nos detalhes de cada page /<page_id>/pages/view/blocklist/settings/functions. Verifique por informações sensíveis em Environment variables.
  • Na página de detalhes verifique também o build command e o root directory por potenciais injeções que possam comprometer a page.

Workers

Em cada Worker do Cloudflare verifique:

  • Os triggers: O que faz o worker ser disparado? Um usuário pode enviar dados que serão usados pelo worker?
  • Em Settings, verifique por Variables contendo informações sensíveis
  • Verifique o código do worker e procure por vulnerabilidades (especialmente em locais onde o usuário pode controlar o input)
  • Verifique SSRFs que retornem a página indicada que você consegue controlar
  • Verifique XSSs que executem JS dentro de uma imagem svg
  • É possível que o worker interaja com outros serviços internos. Por exemplo, um worker pode interagir com um bucket R2 armazenando informações nele obtidas a partir do input. Nesse caso, é necessário verificar quais capacidades o worker tem sobre o bucket R2 e como isso poderia ser abusado a partir do input do usuário.

warning

Observe que por padrão um Worker recebe uma URL como <worker-name>.<account>.workers.dev. O usuário pode configurá-la para um subdomínio mas você sempre pode acessá-la com aquela URL original se souber.

Para um abuso prático de Workers como proxies pass-through (IP rotation, estilo FireProx), verifique:

Cloudflare Workers Pass Through Proxy Ip Rotation

R2

Em cada bucket R2 verifique:

  • Configure a política de CORS.

Stream

TODO

Images

TODO

Security Center

  • Se possível, execute um Security Insights scan e um Infrastructure scan, pois eles irão destacar informações interessantes do ponto de vista de segurança.
  • Apenas verifique essa informação em busca de misconfigurações de segurança e informações interessantes

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.

  • Verifique se as expressões e regras para redirects fazem sentido.
  • Verifique também por endpoints ocultos sensíveis que possam conter informações interessantes.

Notifications

  • Verifique as notificações. Estas notificações são recomendadas para segurança:
  • 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
  • Verifique todos os destinos, pois pode haver informações sensíveis (basic http auth) nas webhook urls. Certifique-se também de que as webhook urls usem HTTPS
  • Como verificação extra, você pode tentar personificar uma notificação do Cloudflare para um terceiro — talvez você consiga de alguma forma injetar algo perigoso

Manage Account

  • É possível ver os últimos 4 dígitos do cartão, data de expiração e endereço de cobrança em Billing -> Payment info.
  • É possível ver o tipo de plano utilizado na conta em Billing -> Subscriptions.
  • Em Members é possível ver todos os membros da conta e sua role. Note que se o tipo de plano não for Enterprise, apenas 2 roles existem: Administrator and Super Administrator. Mas se o plano usado for Enterprise, mais roles podem ser usadas para seguir o princípio de menor privilégio.
  • Portanto, sempre que possível é recomendado usar o plano Enterprise.
  • Em Membros é possível verificar quais membros têm 2FA ativado. Todo usuário deve tê-lo ativado.

note

Note que felizmente a role Administrator não dá permissões para gerenciar memberships (não pode escalar privilégios nem convidar novos membros)

DDoS Investigation

Check this part.

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks