全球域名,一网打尽——下载全球注册域名清单

元宵节快乐

恭祝大家元宵节快乐!

周五啦不要急着放假回家

今天在VSRC是个知识元宵

duangduangduang~

不要停地往下滑

干货满满!~

致 谢

VSRC感谢业界小伙伴——不如实习投稿精品原创类文章。VSRC欢迎精品原创类文章投稿,优秀文章一旦采纳发布,将有好礼相送,我们已为您准备好了丰富的奖品!(活动最终解释权归VSRC所有)

本文是笔者的域名信息收集实践,具体介绍如何通过正式渠道获取全球注册域名的Zone File,从而解析出域名、注册时间、过期时间和Name Server等信息。以上信息,足以支撑建立一个基础的基于域名的威胁情报收集系统。

1、先看结论

通过TLD(top-level domain) Zone Files收集全球不同顶级域名下的所有注册域名信息,此类信息可用于构建企业自身基于域名的威胁情报系统。

2、背景介绍

毋庸置疑,几乎安全行业所有的企业、组织或个人都对域名注册信息感兴趣,特别是那些刚刚注册、修改或到期等域名活动信息。网络攻击、钓鱼,欺诈等黑客活动常常会和一些新的域名相关。及时掌握全球域名注册信息(包括变更信息),是威胁情报和安全响应工作有效开展的重要基础。

那么如何才能拿到全球注册域名清单呢?今天就给大家介绍获取全球注册域名信息的正确途径,关键字:Zone File。

通常顶级域名TLD都有相应的跟踪和维护机构,称为注册局(registries)。每一个注册机构都会维护一份 Zone File 文件。文件每天都会更新,包含:域名、注册时间、过期时间、Name Server 等信息。

因此如果能够及时获取到这类信息,将有助于提升安全威胁的发现能力。庆幸的是,这样的 Zone File 大多数都是可以免费获取的。(惊喜不惊喜?)

3、下载全球注册域名信息

简单地说,要想获取全量的域名信息,就要向不同的域名注册机构申请 Zone File 访问权限。我已经替你趟过了,直接看结论。

3.1 .com和.name域名

.com和 .name 两个域名由Verisign(http://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml)维护。要想获得以上域名的Zone File 访问权限,需要向Verisign申请权限,基本步骤为:

1)下载并填写 Zone File 访问申请表

2)发送申请表到邮箱:tldzone@verisign-grs.com

3)经过两到三周(慢了?免费的服务你还想咋样?)获得授权,并收到 FTP 账号密码等认证信息

4)登录 FTP,下载 Zone File 文件。

3.2 .net 和 .vip 等CZDS域名

近年来,随着互联网域名的大量使用,早先为数不多的顶级域名早就无法满足人类社会日益增长的域名注册需求,越来越多的 gTLD(generic top-level domain) 域名正在涌现。

根据ICANN下属组织IANA的信息,目前至少有 1000+ 个注册在案的通用顶级域名gTLD。

为了避免用户独立地向不同注册机构申请 Zone File 访问权限,ICANN创建了集中化的区域数据服务CZDS(Centralized Zone Data Service)。通过向 CZDS 发起登记,可以代理请求绝大多数 TLD 包括(gTLD)的 Zone File 文件。我们常见的.vip, .sex 等域名的 Zone File 文件都可以通过CZDS进行获取。

主要流程如下:

1、访问CZDS.ICANN ,注册账号

2、登录系统,进入Dashboard,并提交域名Zone File 访问申请(可以逐个申请,也可以批量)

我不会告诉你,还有很多类似.baidu,.alibaba,.alipay等字符串的 gTLD。

3、等待审核

这要看你提交了哪些域名的申请。笔者2017年圣诞节期间申请了所有 gTLD 的 Zone File 访问权限。到现在快两个月了,一直还能收到陆续审核通过的邮件。

通过 CZDS 的Dashboard 可以随时查看各个 gTLD 的审核进度。

无论您的申请被接受还是被拒绝,都会收到一封来自 CZDS 的回复函。

4、创建密钥(用于通过解密连接Zone File的 FTP 账号密码信息)

如果你计划使用 FTP 下载 Zone File 文件,请在CZDS 后台创建独立的密钥。

5、创建 API Token(用于程序API下载 Zone File)

如果你希望通过官方Python客户端程序的方式下载 Zone File,请创建 API Token。

6、使用FTP 客户端或者 API 客户端下载域名信息

CZDS 的Zone File 文件支持 FTP 方式下载,也支持 API 方式。推荐 API方式,可以程序自动化实现,用于域名信息变更比对。

访问https://github.com/fourkitchens/czdap-tools下载 CZDS API 客户端工具,即可解密 FTP 登录凭据文件或直接下载 Zone File。具体操作步骤后面有附,先看看结果。

3.3 其它域名信息获取方法

对于在 CZDS 中不存在的其他 TLD 域名注册信息,可以通过根域名数据库,https://www.iana.org/domains/root/db 找到对应的注册机构。然后向注册机构官方组织发起Zone File 访问权限的申请。

以.org为例,其注册维护机构为Public Interest Registry (PIR)。

访问 PIR 官方可以找到 Zone File 申请页面,提交一个申请表格即可:)

再比如,你需要访问.gov域名的 Zone File,可以先找到它的注册维护机构General Service Administration Attn。

4、域名Zone File的解析

完整解析 Zone File 文件 结构,请参考RFC1035文档:https://tools.ietf.org/html/rfc1035

通常Zone File 文件的前35行包含Root Name Server 等信息,从36开始是正式域名信息,包括:

Name

TTL

Record Class

Record Type

Record Data

下面是笔者从 CZDS 下载的部分域名Zone File信息:

5、CZDS 客户端工具使用

访问 Github 地址: https://github.com/fourkitchens/czdap-tools,下载手册文档下载和使用即可。

5.1 解密 FTP 登录凭据

将 CZDS 网站获取的密钥文件credentials.json放到python 客户端工具 test-decrypt.py 同一个目录。执行命令python test-decrypt.py,解密后得到 FTP 登录凭据。

5.2 通过 CZDS 客户端工具下载Zone File

直接进入zonedata-download/目录,将 CZDS 后台获取的 API Token 放入 config.json 文件,执行download.py即可下载。

(py) DO-NOT-SLEEP:zonedata-download test$ cat config.json

#{

# "base_url": "https://czdap.icann.org",

# "token": "m7wfkAePFkd7wj65DRJSR2jrgbiauuq3"

#}

(py) DO-NOT-SLEEP:zonedata-download test$ python download.py

6、我就知道你还有问题

看到这里,你一定会提以下问题:

如果 Zone File 访问申请被拒绝了怎么办?

Zone File 里好像看不到那些没有配置 Name Server 的域名信息

Zone File 并不是实时更新,可能是按天更新的,不够及时

拿到 Zone File 并不代表所有域名。二级域名、三级域名怎么获取?

很抱歉我无法一一答复(篇幅有限!),也解决不了这个100%全量的问题(请加稿费!),不过我还是做了些功课:)

6.1 商业公司可以提供更为全面和及时的注册信息

我是在说明问题,不是打广告。

whoisxmlapi提供不同价格的下载套餐。

domainlists.io提供持续更新的域名清单

6.2 开源项目也是不错的补充

Rapid7在 Github 上有个开源项目Sonar - https://github.com/rapid7/sonar/wiki。通过扫描 IPv4网络,并从 SSL 证书、DNS、Web 响应和通用 UDP 响应等层面收集和分析数据,并将结果以公开的方式提供在https://scans.io/。

Sonar 每周会生成一个叫Forward DNS的数据集,主要包括:

1、反向 DNS 记录

2、SSL证书中的通用域名和子域名

3、HTTP 响应数据包的 HTML元素信息

4、COM, INFO, ORG, NET, BIZ, INFO和其它TLDs的 Zone File

5、gTLDs的 Zone File

其中子项目SSL-Certificates 将收集到的信息存在csv文件并按照如下格式打包:

$_certs.gz

$_hosts.gz

$_names.gz

定期下载和更新这些文件,是对公共 Zone File 的重要补充。

7、题外话

什么?你想访问.cn域名的 Zone File?先看看这里吧。http://www.cnnic.net.cn/gjjl/gjyjydt/200405/t20040510_27766.htm

本文作者正在精心准备5月份唯品会安全峰会的 PPT,希望大家届时捧场。VSRC 安全峰会,票有所值,一定不会让您失望!

8、参考文档

https://news.ycombinator.com/item?id=10367342 (10TB, 2600万域名文件下载)

https://jordan-wright.com/blog/2015/09/30/how-to-download-a-list-of-all-registered-domain-names/

https://www.whoisxmlapi.com/whois-database-download.php

https://domainlists.io/gtld-domains/

http://www.cnnic.net.cn/gjjl/gjyjydt/200405/t20040510_27766.htm

http://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml

https://pir.org/resources/file-zone-access/

我们聆听您宝贵建议

不知道,大家都喜欢阅读哪些类型的信息安全文章?

不知道,大家都希望我们更新关于哪些主题的干货?

现在起,只要您有任何想法或建议,欢迎直接回复本公众号留言!

精彩留言互动的热心用户,将有机会获得VSRC赠送的精美奖品一份!

同时,我们也会根据大家反馈的建议,选取热门话题,进行原创发布!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180302G0KBJL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券