關于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變量:
- 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;
工具源碼獲取
廣大研究人員可以通過下列命令將該項目源碼克隆至本地:
- 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