freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

OSCP | 第七章 主动信息收集 DNS
2022-04-11 08:46:36
所属地 广东省

OSCP | 第七章 主动信息收集 - DNS

DNS 枚举

域名系统(DNS)是互联网上最关键的系统之一,是一个分布式数据库,负责将用户友好的域名转换为IP地址。

与DNS服务器交互

每个域都可以使用不同类型的DNS记录。一些最常见的DNS记录类型包括:

  • NS-nemeserver:记录包含托管域DNS记录的权威服务器的名称

  • A-也被称为主机记录,“A记录”包含一个主机名(如www.megacorpone.com)的IP地址。

  • MX-邮件交换记录包含负责处理该域的电子邮件的服务器的名称。一个域可以包含多个MX记录。

  • PTR-指针记录用于反向查找区域,并用于查找与IP地址关联的记录。

  • CNAME-规范名称记录用于为其他主机记录创建别名。

  • TXT-Text 记录可以包含任何任意数据,并可用于各种目的,如域所有权验证。

kali@kali:~$ host www.megacorpone.com
www.megacorpone.com has address 38.100.193.76

kali@kali:~$ host -t mx megacorpone.com
megacorpone.com mail is handled by 10 fb.mail.gandi.net.
megacorpone.com mail is handled by 50 mail.megacorpone.com.
megacorpone.com mail is handled by 60 mail2.megacorpone.com.
megacorpone.com mail is handled by 20 spool.mail.gandi.net.
kali@kali:~$ host -t txt megacorpone.com
megacorpone.com descriptive text "Try Harder"

自动查找

现在我们有了来自 megacorpone.com域的一些初始数据,我们可以继续使用额外的DNS查询来发现属于同一域的更多主机名和IP地址。

kali@kali:~$ host www.megacorpone.com
www.megacorpone.com has address 38.100.193.76

现在,让我们看看 megacorpone.com 是否有一个主机名为“ idnotexist ”的服务器。请注意以下查询输出之间的差异:

kali@kali:~$ host idontexist.megacorpone.com
Host idontexist.megacorpone.com not found: 3(NXDOMAIN)

这样是可以枚举一些DNS服务器的,但是还是不够自动化。我们可以通过字典,用bash脚本进行枚举。

kali@kali:~$ cat list.txt
www
ftp
mail
owa
proxy
router

kali@kali:~$ for ip in $(cat list.txt); do host $ip.megacorpone.com; done
www.megacorpone.com has address 38.100.193.76
Host ftp.megacorpone.com not found: 3(NXDOMAIN)
mail.megacorpone.com has address 38.100.193.84
Host owa.megacorpone.com not found: 3(NXDOMAIN)
Host proxy.megacorpone.com not found: 3(NXDOMAIN)
router.megacorpone.com has address 38.100.193.71

这种字典都是自行创建,局限性还是比较大。我们可以下载这个字典

sudo apt isntall seclists # 这个字典里面有很多不同领域范围的字典

当然我们可以通过一个ip来枚举子域名,我们也可以用单个子域名来爆破ip

kali@kali:~$ for ip in $(seq 50 100); do host 38.100.193.$ip; done | grep -v "not fou
nd"
69.193.100.38.in-addr.arpa domain name pointer beta.megacorpone.com.
70.193.100.38.in-addr.arpa domain name pointer ns1.megacorpone.com.
72.193.100.38.in-addr.arpa domain name pointer admin.megacorpone.com.
73.193.100.38.in-addr.arpa domain name pointer mail2.megacorpone.com.
76.193.100.38.in-addr.arpa domain name pointer www.megacorpone.com.
77.193.100.38.in-addr.arpa domain name pointer sjk.megacorpone.com.
...

DNS区域传输

区域传输基本上是在相关DNS服务器之间的数据库复制,其中区域文件从主DNS服务器复制到从服务器。该区域文件包含为该区域配置的所有DNS名称的列表。区域传输应该只允许到授权的从DNS服务器,但许多管理员错误地配置了他们的DNS服务器,在这种情况下,导致任何一台主机都可以跟这台DNS服务器进行数据库同步。

这相当于交给黑客公司网络布局。服务器的所有名称、地址和功能都可以暴露于窥探之下。

我们利用区域传输配置不当,利用进行通过与 NS服务器 进行区域传输。目的就是为了找出更多可以渗透的子域名。比暴力枚举更省时,更节省资源。

一个成功的区域传输并不会直接导致网络入侵,尽管它确实促进了这个过程。

进行区域传输,是为了列出当前域中的所有主机记录,然后可以推断出目标在网络上提供了什么服务。

下面我们就来说一下区域传输技术:

委托

现在我们有一个域 example.com,我们现在想使用一个子域名 test1.example.com。让test.example.com自己有一个域区。

  1. test1.example.comexample.com域委派并在它自己的区域中管理。但是,example.com区域需要包含几个资源记录以提供委派信息,该信息参考了对于委派的 test1.example.com子域具有绝对权威的 DNS 服务器。

  2. 如果 test2.example.comexample.com区域内,则就是 example.com不对该子域使用委派方式。

区域复制和区域传输

DNS主从复制,就是将主DNS服务器的解析库复制传送至从DNS服务器,进而从服务器就可以进行正向、反向解析了。

从服务器向主服务器查询更新数据,保证数据一致性,此为区域传送

DNS区域传送有两种方式

axfr:完全区域传送

ixfr:增量区域传送

  • 当一个新的DNS服务器添加到区域中并配置为从DNS服务器时,它则会执行完全区域传送,在主DNS服务器上获取完整的资源记录副本;(复制)

  • 同时,为了保证数据同步,主域名服务器有更新时也会及时通知辅助域名服务器从而进行更新(增量区域传送)。(更新)

通常来讲,DNS的查询用的是UDP53,区域传输使用的TCP53

先查看一下 sina.com 的 NS (托管域DNS记录的权威服务器的名称)

image-20220410162950799

尝试一下区域传输 但是被拒绝了

ps9ID5v1eCounQT.png

@ns2.sina.com:提供数据的服务器

sina.com:第二个sina.com 是想要传输的数据的关键字。

axfr:区域传输的选项

这条命令就是:从ns2.sina.com 传输关于sina.com的DNS记录

有需要的师傅可以在这些网站补一下基础知识:

DNS服务器 搭建

用host命令语法来展示区域传输

host -l <domain name> <dns server address>

如果是成功的区域传输 会展现出子域名

kali@kali:~$ host -l megacorpone.com ns2.megacorpone.com
Using domain server:
Name: ns2.megacorpone.com
Address: 38.100.193.80#53
Aliases:
megacorpone.com name server ns1.megacorpone.com.
megacorpone.com name server ns2.megacorpone.com.
megacorpone.com name server ns3.megacorpone.com.
admin.megacorpone.com has address 38.100.193.83
beta.megacorpone.com has address 38.100.193.88
fs1.megacorpone.com has address 38.100.193.82
intranet.megacorpone.com has address 38.100.193.87
mail.megacorpone.com has address 38.100.193.84
mail2.megacorpone.com has address 38.100.193.73
ns1.megacorpone.com has address 38.100.193.70

Kali相关的工具

在KaliLinux中有几个工具可以自动进行DNS枚举。两个值得注意的例子是DNSRecon和DNSenum,它们有一些有用的选项,我们将在下面的章节中探讨。

DNSRecon

DNSRecon是一个用Python编写的高级的现代DNS枚举脚本。

使用 -d 参数去指定一个域名,-t参数去指定枚举的类型

成功的话会出现这样的输出

kali@kali:~$ dnsrecon -d megacorpone.com -t axfr
[*] Testing NS Servers for Zone Transfer
[*] Checking for Zone Transfer for megacorpone.com name servers
[*] Resolving SOA Record
[+] SOA ns1.megacorpone.com 38.100.193.70
[*] Resolving NS Records
[*] NS Servers found:
[*] NS ns1.megacorpone.com 38.100.193.70
[*] NS ns2.megacorpone.com 38.100.193.80
[*] NS ns3.megacorpone.com 38.100.193.90
[*] Removing any duplicate NS server IP Addresses...
[*]
[*] Trying NS server 38.100.193.80
[+] 38.100.193.80 Has port 53 TCP Open
[+] Zone Transfer was successful!!
[*] NS ns1.megacorpone.com 38.100.193.70
[*] NS ns2.megacorpone.com 38.100.193.80
[*] NS ns3.megacorpone.com 38.100.193.90
[*] MX @.megacorpone.com spool.mail.gandi.net 217.70.178.1
[*] A admin.megacorpone.com 38.100.193.83
[*] A fs1.megacorpone.com 38.100.193.82
[*] A www2.megacorpone.com 38.100.193.79
[*] A test.megacorpone.com 38.100.193.67
[*] A ns3.megacorpone.com 38.100.193.90
...
[*]
[*] Trying NS server 38.100.193.70
[+] 38.100.193.70 Has port 53 TCP Open
[-] Zone Transfer Failed!
[-] No answer or RRset not for qname
[*]
[*] Trying NS server 38.100.193.90
[+] 38.100.193.90 Has port 53 TCP Open
[-] Zone Transfer Failed!
[-] No answer or RRset not for qname

可以通过字典来枚举 就是用 -D 参数来指定字典

kali@kali:~$ dnsrecon -d megacorpone.com -D ~/list.txt -t brt
[*] Performing host and subdomain brute force against megacorpone.com
[*] A router.megacorpone.com 38.100.193.71
[*] A www.megacorpone.com 38.100.193.76
[*] A mail.megacorpone.com 38.100.193.84
[+] 3 Records Found

DNSenum

DNSEnum是另一个流行的DNS枚举工具

DNSenum <Domain-name>
# 渗透测试 # 网络安全 # web安全 # 网络安全技术 # OSCP
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录