Day5 被动情蒐(2)-dig、fierce、DNSenum、DNSrecon、Sublist3r、dnsdumpster

DNS 工具:dig

Domain Information Groper 一样可以检测 DNS 服务器的工具。

查看参数说明
查看帮助清单:dig -h

指定记录类型
指令:dig -t [Record type] [domain]
范例指令:dig -t mx google.com

指定 DNS 服务器
指令:dig -t [Record type] [domain] @[dnsserver]
范例指令:dig -t any google.com @8.8.8.8

测试 zone transfers 弱点

  1. 确认 NS 纪录
    范例指令:dig -t ns zonetransfer.me

  2. 指定查询到的 NS 服务器
    范例指令:dig -t axfr zonetransfer.me @nsztm2.digi.ninja

    如图所示可列出所有 zonetransfer.me 的 DNS 纪录。

DNS 工具:fierce

fierce 利用Perl 脚本撰写而成的工具,可以使用 DNS 定位一段非连续的 IP 范围与该 IP 的主机名称。

可以透过 fierce 确定企业网路中内部与外部的目标。

查看参数说明
查看帮助清单:fierce -h

定位目标 domain 的 name Server
指令:fierce --domain [domain]
范例指令:fierce --domain google.com
fierce 的扫描流程

  1. 定位目标 domain 的 Name Server
  2. 尝试在 Name Server 查询 zone transfers(会先检查万用字元 * 的 DNS 纪录)
  3. 再利用内建的字典档爆破子域名
  4. 扫描结束会输出找到的子域名

指定字典档

  1. 建立字典档
    范例指令:echo -e "about\ndns\nchat" > subdomains.txt

  2. 指定字典档
    指令:fierce --domain [domain] --subdomain-file [path to wordlist]
    范例指令:fierce --domain google.com --subdomain-file subdomains.txt

万用字元的 DNS 纪录

若 DNS 服务器中有设定万用字元 * 的 DNS 纪录,若有非指定的子域名请求, 则会对应到万用字元的纪录中。

域名 纪录类型 对应 IP
www.feifei.tw A 1.1.1.1
blog.feifei.tw A 1.1.1.2
test.feifei.tw A 1.1.1.3
*.feifei.tw A 1.1.1.1

请求 www.feifei.tw 则会取得 1.1.1.1 的 IP,请求 blog.feifei.tw 则会取得 1.1.1.2 的 IP,以此类推,而请求 share.feifei.tw 因为没有指定的域名,则会适用於万用字元的纪录,得到 1.1.1.1

当我们使用爆破工具爆破子域名时,若没有先确认万用字元的 DNS 纪录,将导致所有结果会导向到万用字元对应到的 IP,导致测试结果会不正确。

因此要先确认万用字元的 DNS 纪录与对应的 IP,再进行爆破子域名,若对应到与万用字元的 IP 相同,则该子域名可先被排除。

DNS 工具:DNSenum

DNSenum 也是利用 Perl 脚本撰写而成的工具,可以枚举 DNS 资讯也可以找出非连续的 IP 范围,也会查询 zone transfers 并蒐集子域名。
查看参数说明
查看帮助清单:fierce -h

进行扫描
指令:dnsenum [domainname]
范例指令:dnsenum google.com
扫描结果:

  1. 针对目标查询 IP、Name Server 纪录、MX 纪录
  2. 尝试查询 Zone transfers 与爆破子域名
  3. 针对目标查询 Class C 的范围,并执行反向寻找

DNS 工具:DNSrecon

DNSrecon 一样可查询 DNS 纪录、检查 zone transfers 与其他 DNS 资讯。

查看参数说明
指令:dnsrecon -h

开始扫描
指令:dnsrecon -d [domain]
范例指令:dnsrecon -d google.com
扫描结果:

  1. 查看 DNS 纪录
  2. 枚举 SRV 纪录

DNS 工具:Sublist3r

利用 Python 撰写而成的工具,透过公开资料搜寻域名,会透过搜寻引擎找到指定域名的子域名,包含 Subbrute 爆破功能暴力破解子域名,内涵字典档可以枚举 DNS 纪录与子域名,若需要查询大量的资料,Subbrute 使用开放式解析器来回避速度被限制的问题。

安装工具
指令sudo apt update && sudo apt -y install sublist3r

查看参数说明
指令:sublist3r -h

开始预设扫描
预设扫描采用公开资料搜寻,以搜寻引擎为主。
指令:sublist3r -d [domain]
范例指令:sublist3r -d google.com

开始爆破扫描
指定 Subbrute 功能进行爆破。
指令:sublist3r -d [domain] -b -t [线程] -e [搜寻引擎] -v
范例指令:sublist3r -d google.com -b -t 100 -e google -v

参数 说明
-d 指定目标域名
-b 进行爆破模式
-t 指令爆破线程数
-e 指定搜寻引擎
-v 列出详细输出

DNS 工具:dnsdumpster.com

线上工具:https://dnsdumpster.com/

以上介绍几个跟 DNS 相关的测试工具,若有读者想推荐工具,可以在以下留言。


<<:  Youtube Data API 教学 - 抓取你的金钥 API key

>>:  成员 8 人:先知预言,公司会爆发绝望病毒

Day 11 ROS Cpp Parameter Server

严格来说 Parameter Server 其实不太可以说是一种通讯方式,而是静态储存变数的一种方法...

[火锅吃到饱-12] 温野菜日本涮涮锅专门店 Taiwan On-Yasai @秀泰-台中站前店

我在这一区出生的(小时候也住在这里),拍这集的时候,不自觉的会想要多介绍一些周遭的环境。 阿公家在这...

找LeetCode上简单的题目来撑过30天啦(DAY21)

不知道要打什麽,直接开始 题号:739 标题:Daily Temperatures 难度:Mediu...

如何用笔电内建镜头制作即时监控网站

想请问用什麽程序可以做即时监控网站? 做完後可以透过搜寻可以观看 ...

[Day_16]回圈与生成式 - (2)

回圈结构 - 使用while while回圈结构与for回圈结构十分类似,while回圈结构常用於不...