http://www.meiguoidc.com

如何使用Domain-Protect保护你的网站抵御子域名接管攻击

关于Domain-Protect

Domain-Protect是一款功能强大的子域名安全保护工具,可以帮助广大研究人员更好地保护自己的网站抵御子域名接管攻击。该工具支持实现以下两个目标:

扫描一个AWS组织中的Amazon Route53,并获取存在安全问题的域名记录,然后尝试执行域名接管检测; 可以通过Domain Protect for GCP检测Google Cloud DNS中存在安全问题的域名; 子域名检测功能

扫描Amazon Route53以识别:

缺少S3源的CloudFront发行版的ALIAS记录; 缺少S3源的CloudFront发行版的CNAME记录; 存在接管漏洞的ElasticBeanstalk的ALIAS记录; 缺少托管区域的已注册域名; 易被接管的子域名; 易被接管的S3ALIAS记录; 易被接管的S3CNAME记录; Azure资源中存在安全问题的CNAME记录; 缺少Google云存储Bucket的CNAME记录; 可选的额外检测

这些额外的检测功能默认是关闭的,因为可能在扫描大型组织时会导致Lambda超时,比如说扫描缺少Google云存储Bucket的A记录。如需启用,请在你的tfvars文件或CI/CD管道中 创建下列Terraform变量:

  1. lambdas = ["alias-cloudfront-s3", "alias-eb", "alias-s3", "cname-cloudfront-s3", "cname-eb", "cname-s3", "ns-domain", "ns-subdomain", "cname-azure", "cname-google", "a-storage"]
通知 针对扫描到的每种漏洞类型通过Slack通知 ,枚举出账号名称和漏洞域名; 订阅SNS主题,发送JSON格式的电子邮件通知,其中包含帐户名、帐户ID和存在安全问题的域名; 工具要求 需要AWS组织内的安全审计账号; 在组织中的每个AWS帐户都具有相同名称的安全审核只读角色; 针对Terraform状态文件的Storage Bucket; Terraform 1.0.x; 工具源码获取

广大研究人员可以通过下列命令将该项目源码克隆至本地:

  1. git clone https://github.com/ovotech/domain-protect.git
工具使用 以下列命令形式替换Terraform状态S3 Bucket字段(TERRAFORM_STATE_BUCKET); 针对本地测试,拷贝项目中的tfvars.example,重命名并去掉.example后缀; 输入你组织相关的详情信息; 在你的CI/CD管道中输出Terraform变量; AWS IAM策略

针对最小特权访问控制,项目提供了AWS IAM策略样例:

domain-protect audit policy domain-protect audit trust relationship domain-protect audit trust relationship with External ID domain-protect deploy policy 工具使用截图

部署至安全审计账号:

扫描整个AWS组织:

通过Slack或电子邮件接收提醒消息:

通过笔记本电脑手动执行扫描任务:

项目地址

Domain-Protect:【GitHub传送门】

原文地址:https://www.freebuf.com/articles/network/305559.html

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。