Cloudflare 安全

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

在 Cloudflare 帐户中,有一些可以配置的 general settings and services。在本页我们将对每个部分的 安全相关设置 进行 分析:

Websites

按以下内容逐项复查:

Cloudflare Domains

Domain Registration

  • Transfer Domains 中检查是否无法转移任何域名。

按以下内容逐项复查:

Cloudflare Domains

Analytics

我找不到用于配置安全审查的具体检查项。

Pages

针对每个 Cloudflare Pages:

  • Build log 中检查是否包含 敏感信息
  • 检查分配给 Pages 的 Github repository 中是否包含 敏感信息
  • 检查通过 workflow command injectionpull_request_target 被利用导致的潜在 github repo 被攻破风险。更多信息见 Github Security page
  • 检查 /fuctions 目录(如果存在)中的潜在 vulnerable functions,检查 _redirects 文件(如果存在)中的 redirects,以及 _headers 文件(如果存在)中的 misconfigured headers
  • 如果可以 访问代码,通过 blackboxwhitebox 检查 web pagevulnerabilities
  • 在每个页面的详细信息 /<page_id>/pages/view/blocklist/settings/functions 中,检查 Environment variables 是否包含 敏感信息
  • 在详情页还要检查 build commandroot directory 是否存在可被注入以攻陷页面的潜在风险。

Workers

针对每个 Cloudflare Workers 检查:

  • 触发机制:是什么触发 worker?用户是否可以发送会被 worker 使用的数据?
  • Settings 中,检查是否有包含 敏感信息Variables
  • 检查 worker 的 code,在用户可控输入处搜索 vulnerabilities(尤其重要)。
  • 检查返回可由你控制的指定页面的 SSRFs
  • 检查在 svg 图片中执行 JS 的 XSSs
  • worker 可能与其他内部服务交互。例如,worker 可能将从输入获取的信息存入某个 R2 bucket。在这种情况下,需要检查 worker 对该 R2 bucket 拥有什么权限,以及这些权限如何能被用户输入滥用。

Warning

注意默认情况下 Worker 会被分配一个 URL,例如 <worker-name>.<account>.workers.dev。用户可以将其设置为 子域名,但如果你知道该 原始 URL,仍然可以通过它访问。

关于将 Workers 作为透传代理(IP rotation、FireProx 风格)实际滥用的示例,请参见:

Cloudflare Workers Pass Through Proxy Ip Rotation

R2

在每个 R2 bucket 上检查:

  • 配置 CORS 策略(CORS Policy)。

Stream

TODO

Images

TODO

Security Center

  • 如果可能,运行一次 Security Insights 扫描和一次 Infrastructure 扫描,它们会突出显示对安全有价值的信息。
  • 检查这些信息以发现安全误配置和有趣的情报。

Turnstile

TODO

Zero Trust

Cloudflare Zero Trust Network

Bulk Redirects

Note

Dynamic Redirects 不同, Bulk Redirects 本质上是静态的——不支持任何字符串替换操作或正则表达式。不过,你可以配置影响其 URL 匹配行为和运行时行为的 URL redirect 参数。

  • 检查重定向的 expressionsrequirements 是否合理。
  • 也检查是否存在包含有价值信息的 敏感隐藏端点

Notifications

  • 检查 notifications。以下通知推荐用于安全监控:
  • 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
  • 检查所有 destinations,因为 webhook urls 中可能包含敏感信息(如 basic http auth)。同时确保 webhook urls 使用 HTTPS
  • 作为额外检查,你可以尝试 冒充一个 cloudflare notification 发给第三方,看看是否能以某种方式 注入危险内容

Manage Account

  • Billing -> Payment info 中可以看到信用卡的 后 4 位到期时间账单地址
  • Billing -> Subscriptions 中可以看到账户使用的 plan type
  • Members 中可以看到账户的所有成员及其 role。注意如果 plan type 不是 Enterprise,只有两个角色:Administrator 和 Super Administrator。但如果使用的是 Enterprise plan,可以使用更多角色以遵循最小权限原则。
  • 因此,尽可能建议使用 Enterprise plan
  • 在 Members 中可以检查哪些 members 启用了 2FA每个用户都应启用 2FA。

Note

注意幸运的是,角色 Administrator 并不授予管理成员的权限(无法提升权限或邀请 新成员)

DDoS Investigation

Check this part.

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks