近期工作中遇到不少运维将内部域名发布到外部的case,导致被外部白帽子检测发现,现在问题的根源是安全团队甚至运维团队不知道公司有多少域名资产。所以急需自动化收集公司的所有域名资产。
一、怎么做?
-
和运维确认公司域名托管方式和托管平台
-
comlaude
-
aws
-
cloudflare
-
申请各个托管平台的access key或者凭证
-
https://api.comlaude.com/docs#/Domains
-
https://docs.aws.amazon.com/zh_cn/Route53/latest/APIReference/API_domains_ListDomains.html
-
https://developers.cloudflare.com/api/operations/worker-domain-list-domains
-
另外还额外通过fofa平台来查询公司域名信息
-
编写脚本自动化获取相关资产信息
-
通过脚本将处理后数据吐到splunk等soc中心
-
制作定时任务以及优化bug
调研了三个平台的api接口文档:
二、编写脚本
还是使用python吧,使用起来简单,并且可以充分利用chatgpt帮忙写代码。最终项目结构如下:
crontab定时任务,每天零点拉去一次:
0 0 * * * truncate -s 0 /root/DomainScan/log/scanner.log && cd /root/DomainScan && python3 -u main.py >> /root/DomainScan/crontab.log 2>&1
三、完整代码
domainScanner
https://github.com/bansh2eBreak/zonesScanner.git
代码可能还有一些bug或者其他问题,但是紧急有同样需求的可以用一下。
接下来会考虑再收集的域名资产的基础上,自动化进行外网扫描来识别哪些域名对外和相应的告警。
原文始发于微信公众号(安全随笔):企业如何自动化收集域名资产
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论