6.6 KiB
Segurança do Cloudflare
{{#include ../../banners/hacktricks-training.md}}
Em uma conta Cloudflare existem algumas configurações e serviços gerais que podem ser configurados. Nesta página vamos analisar as configurações relacionadas à segurança de cada seção:

Sites
Revisar cada um com:
{{#ref}} cloudflare-domains.md {{#endref}}
Registro de Domínio
- Em
Transfer Domainsverifique que não é possível transferir nenhum domínio.
Revisar cada um com:
{{#ref}} cloudflare-domains.md {{#endref}}
Analytics
Não encontrei nada para verificar em uma revisão de configuração de segurança.
Pages
Em cada Page do Cloudflare:
- Verifique por informação sensível no
Build log. - Verifique por informação sensível no repositório Github atribuído às Pages.
- Verifique possível comprometimento do repositório Github via workflow command injection ou comprometimento por
pull_request_target. Mais info 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 vulnerabilidades na página web via blackbox ou whitebox se você puder acessar o código.
- Nos detalhes de cada Page
/<page_id>/pages/view/blocklist/settings/functions. Verifique por informação sensível nasEnvironment variables. - Na página de detalhes verifique também o build command e o root directory por potenciais injections para comprometer a Page.
Workers
Em cada Worker do Cloudflare, verifique:
- Os triggers: O que faz o Worker disparar? Um usuário pode enviar dados que serão usados pelo Worker?
- Em
Settings, verifique porVariablesque contenham informação sensível - Verifique o código do worker e procure por vulnerabilidades (especialmente em locais onde o usuário pode controlar a entrada)
- Verifique por SSRFs que retornem a página indicada que você pode controlar
- Verifique por XSSs executando 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ção nele obtida da entrada. Nesse caso, é necessário verificar quais capacidades o worker tem sobre o bucket R2 e como isso pode ser abusado a partir da entrada do usuário.
Warning
Note que por padrão um Worker recebe uma URL como
<worker-name>.<account>.workers.dev. O usuário pode configurá-la para um subdomain, mas você sempre pode acessá-la com essa URL original se souber dela.
Para um abuso prático de Workers como pass-through proxies (IP rotation, FireProx-style), veja:
{{#ref}} cloudflare-workers-pass-through-proxy-ip-rotation.md {{#endref}}
R2
Em cada bucket R2 verifique:
- Configure a CORS Policy.
Stream
TODO
Images
TODO
Security Center
- Se possível, execute um
Security Insightsscan e umInfrastructurescan, pois eles irão destacar informações interessantes do ponto de vista de segurança. - Apenas verifique estas informações em busca de misconfigurações de segurança e informações interessantes
Turnstile
TODO
Zero Trust
{{#ref}} cloudflare-zero-trust-network.md {{#endref}}
Bulk Redirects
Note
Ao contrário dos Dynamic Redirects, Bulk Redirects são essencialmente estáticas — elas não suportam nenhuma operação de substituição de string ou expressões regulares. Entretanto, você pode configurar parâmetros de redirect de URL que afetam seu comportamento de correspondência de URL e seu comportamento em runtime.
- Verifique se as expressões e regras para redirects fazem sentido.
- Verifique também por endpoints ocultos sensíveis que contenham informações interessantes.
Notifications
- Verifique as notifications. Estas notificações são recomendadas para segurança:
Usage Based BillingHTTP DDoS Attack AlertLayer 3/4 DDoS Attack AlertAdvanced HTTP DDoS Attack AlertAdvanced Layer 3/4 DDoS Attack AlertFlow-based Monitoring: Volumetric AttackRoute Leak Detection AlertAccess mTLS Certificate Expiration AlertSSL for SaaS Custom Hostnames AlertUniversal SSL AlertScript Monitor New Code Change Detection AlertScript Monitor New Domain AlertScript Monitor New Malicious Domain AlertScript Monitor New Malicious Script AlertScript Monitor New Malicious URL AlertScript Monitor New Scripts AlertScript Monitor New Script Exceeds Max URL Length AlertAdvanced Security Events AlertSecurity Events Alert- Verifique todos os destinos, pois pode haver informação sensível (basic http auth) em webhook urls. Certifique-se também que webhook urls usem HTTPS
- Como verificação extra, você pode tentar imitar uma notificação do Cloudflare para um terceiro; talvez consiga de alguma forma injetar algo perigoso
Manage Account
- É possível ver os últimos 4 dígitos do cartão de crédito, a data de expiração e o endereço de cobrança em
Billing->Payment info. - É possível ver o tipo de plano usado na conta em
Billing->Subscriptions. - Em
Membersé possível ver todos os membros da conta e seu role. Note que se o tipo de plano não for Enterprise, existem apenas 2 roles: Administrator e Super Administrator. Mas se o plano for Enterprise, more roles podem ser usados para seguir o princípio do menor privilégio. - Portanto, sempre que possível é recomendado usar o Enterprise plan.
- Em Members é possível verificar quais membros têm 2FA ativado. Todo usuário deve tê-lo ativado.
Note
Note que felizmente o role
Administratornão dá permissões para gerenciar membros (não pode escalar privilégios nem convidar novos membros)
DDoS Investigation
{{#include ../../banners/hacktricks-training.md}}