##本文描述了网络安全渗透测试方面关于的侦查几种方式、下载网站,Google 搜索,Hacking数据库,dig tools 。{alertInfo}
本文由人工编写审核,非AI生成内容,请放心观看!
{getToc} $title={文章目录}
该阶段始于测试团队对目标了解有限的情况下。团队得到信息的详细程度可以有很大不同,可以是仅仅知道组织的名称或网址,到详细而具体的系统信息包括IP地址空间和在授权合同ROE中声明采用的技术(主要用于限制测试活动)。授权合同ROE也可能限定了测试团队可以进行的测试活动,包括禁止社会工程和类似拒绝服务( DOS)分布式拒绝服务攻击等的破坏性行为。
本阶段的目标是如何找出关于组织机构尽可能多的信息。
必须明确的一-些组织信息包括:
组织架构,包括详细的组织结构图、部门架构图、团队组织结构图
组织的基础设施信息,包括IP地址空间和网络拓扑使用技术,包括硬件平台和软件包
员工电子邮件地址组织的合作伙伴
组织设施的物理位置手机号码
可信联络人
可信联络人是组织中指定的专人,他雇佣渗透测试团队或人员,能够解答服务合同中的疑问,并且不会大规模传播组织机构正在进行渗透测试的事实。
下载整个站点作为镜像
有时复制组织的整个网站进行离线评估更有效。这可以使用自动化工具设定搜索条件,或仅对当前站点改变的敏感信息进行镜像。当离线时,拥有网站的一份镜像进行持续侦察很有效。像wget之类的命令行工具从网站复制所有html文件,并存储在本地硬盘。
使用wget 命令
wget -m-p-E-k-K-np -V http://foo.com
m镜像,打开该选项,适用于镜像Web站点
P页面或先决条件,该选项确保包含了请求的图片和css脚本的文件被下载
E适应扩展,该选项使所有页面能够在本地另存为一 个html文件
k转换链接,该选项确保文件被转换,用于本地浏览
K转换备份文件,将会以a.orig为后缀备份原始文件
组织的Web服务器传送的文件将会存储在以复制的网站名称命名的文件夹中。复制网站时,可能发生错误,尤其是页面以 PHP脚本创建或包含PHP 脚本时。这是因为生成页面的大部分代码是由运行在 Web页面后端的服务器端脚本创建的,大部分站点复制应用程序不能访问到
使用wget复制网站:
下面是使用wget来复制整个网站的基本命令:
wget --mirror -p --convert-links -P ./目标目录 网站URL
--mirror
:递归地下载整个网站。
-p
:下载页面所需的所有元素,包括图像、样式表等。
--convert-links
:将下载的页面链接转换为本地链接,以便在本地浏览时正确工作。
-P ./目标目录
:将下载内容保存在指定的目标目录中。
网站URL`:要复制的网站的URL。
使用HTTrack 工具
HTTrack(又称为WebHTTrack)是一个免费的开源命令行和图形用户界面(GUI)工具,用于复制整个网站或特定网站页面的工具。它可用于创建网站的本地副本,以便离线浏览,或者用于备份和归档网站内容。以下是HTTrack的一些主要特点和用法:
离线浏览: HTTrack可用于下载整个网站,包括网站的HTML、图像、样式表、脚本和其他相关文件。这使用户能够在没有互联网连接的情况下浏览和访问网站内容。
递归下载: HTTrack支持递归下载,它会自动跟随网站内部链接,以确保下载整个网站的深度和广度。这意味着它将下载链接页面上链接的其他页面,以创建一个完整的本地副本。
更新功能: HTTrack还具有更新功能,可以仅下载自上次下载以来已更改的内容,以减少带宽和存储空间的使用。
图形用户界面(GUI): HTTrack提供了一个用户友好的图形用户界面,使用户可以轻松配置和启动下载任务。GUI版本通常称为WebHTTrack。
自定义选项: 用户可以配置各种选项,例如排除特定文件或目录、设置下载速度限制、设置用户代理等。
多平台支持: HTTrack可在多个操作系统上运行,包括Windows、Linux和macOS。
免费开源: HTTrack是自由软件,根据GNU通用公共许可证(GPL)发布,可以自由使用和分发。
使用HTTrack需要注意:
遵守网站所有者的使用条款和法律,不要滥用该工具用于未经授权的复制。
复制大型网站可能会占用大量的存储空间和带宽,因此请谨慎使用,特别是在受限制的网络环境中。
HTTrack的命令行版本提供了更高级的配置选项,可以用于自动化下载任务。
总之,HTTrack是一个强大的工具,可用于创建网站的本地副本,以便离线浏览或进行备份和归档。它特别适合研究、教育和测试等用途。
Google 搜索
术语 Google hacking、Google hacks 或 Google dorking 是指使用 Google 或其他搜索引擎查找易受攻击的网络服务器和网站的攻击。
谷歌黑客(Google Hacking)是一种利用谷歌搜索引擎高级搜索技巧来发现安全漏洞、敏感信息和潜在攻击目标的方法。请注意,谷歌黑客可能涉及法律和道德问题,只应在合法和授权的情况下使用。以下是一些常见的谷歌黑客技巧:
基本搜索:
使用双引号搜索:将搜索词或短语放在双引号内,以获取完全匹配的结果。例如:"admin login"。
排除词搜索:使用减号(-)排除特定词语,以过滤不相关的结果。例如:wordpress -site:wordpress.org 可以搜索除了WordPress官方网站之外的WordPress站点。
搜索特定文件类型:
使用“filetype”关键字,可以搜索特定类型的文件,如PDF、DOC、XLS等。例如:filetype:pdf confidential报告。
查找敏感信息:
使用敏感信息的关键词,如密码、用户名、信用卡号等,来查找可能泄露的敏感信息。但请注意,这种搜索可能会涉及违法行为。
例如:intitle:"Index of" password.txt 或者 filetype:log inurl:"password.log"。
搜索开放的摄像头和设备:
使用搜索词如“inurl:view/index.shtml”或“intitle:”Live View / - AXIS”可以找到可能未受密码保护的网络摄像头。
查找漏洞网站:
使用关键词如“inurl:/phpinfo.php”或“intitle:"Index of" .git”来查找可能暴露配置或版本信息的漏洞网站。
查找登录页面:
使用关键词如“intitle:"Login Page"”来查找可能的登录页面。
查找目录列表:
使用关键词如“intitle:"Index of"”来查找目录列表,有时会显示网站的目录结构。
查找特定域名或网站:
使用“site”关键字,可以限制搜索结果仅包含特定域名或网站。例如:site:example.com。
使用搜索引擎的高级搜索:来查找特定的信息
https://search.chongbuluo.com/advanced_search.html
使用方式
在搜索包含密码的文件时很有帮助。如下所示是这些搜索字符串的一一个例子,用于尝试找出Cisco密码。
enable password | secret "current conf iguration" -intext:the
执行这个搜索会返回成千上万个站点,或许返回的一些文件不会包含真实的密码,大量的结果实际,上包含密码列表。
这个搜索,通过增加额外的操作符,例如如下网站或域名操作符,可以改进为满足个性化渗透测试需求
enable password | secret "current configuration" -intext:the site:foo.com
Google Hacking 数据库(GHDB)
Google Hacking 数据库(Google Hacking Database,简称 GHDB)是一个维护着各种 Google Hacking 技巧和搜索字符串的在线资源库。它旨在帮助安全专业人员、渗透测试人员和网络管理员利用 Google 搜索引擎来发现潜在的安全漏洞和敏感信息。GHDB 包含各种搜索字符串示例,用于查找可能不安全的网站配置、漏洞、敏感文件和其他潜在威胁。
以下是 GHDB 的一些关键特点和信息:
搜索字符串示例: GHDB 包含了大量的搜索字符串示例,这些示例可用于在 Google 中查找各种目标,如未经授权的文件、配置错误、默认凭据等。这些示例通常以注释和说明的形式提供,以帮助用户理解其用途。
分类和标签: GHDB 的搜索字符串被分类和标签化,以帮助用户轻松地找到特定类型的搜索。一些常见的分类包括 "Footholds"(潜在的入口点)、"Files containing passwords"(包含密码的文件)和 "Vulnerable Files"(易受攻击的文件)等。
更新和社区参与: GHDB 是一个社区驱动的项目,定期更新并受到安全社区的贡献。用户可以提交新的搜索字符串示例以丰富数据库,以及提供有关搜索字符串的反馈和建议。
教育和安全研究: GHDB 是一个有益的教育资源,它可用于培训和安全研究,以帮助专业人员了解如何使用 Google 搜索引擎来识别潜在的安全问题。
Exploit Database 是 Offensive Security 为渗透测试人员和安全专家提供的免费资源。但它也是恶意黑客的首选资源。该数据库在一个易于搜索的数据库中拥有大量的漏洞利用和 Google Dorks 存储库。
GHDB 类型 | 说明 |
---|---|
Footholds | 找寻突破口(立足点) |
Files Containing Usernames | 包含使用者帐号的档案 |
Sensitive Directories | 敏感资料夹 |
Web Server Detection | 网站伺服器侦测 |
Vulnerable Files | 有弱点的档案 |
Vulnerable Servers | 有弱点的伺服器 |
Error Messages | 错误信息 |
Files Containing Juicy Info | 敏感档案内包含有用的资料 |
Files Containing Passwords | 敏感档案内包含密码 |
Sensitive Online Shopping Info | 敏感的网路购物资讯如卡号 |
Network or Vulnerability Data | 网路中可能含有弱点的页面如log |
Pages Containing Login Portals | 包含登入资讯的页面 |
Various Online Devices | 正在网路的设备如印表机或摄影机 |
Advisories and Vulnerabilities | 有漏洞和警告讯息的页面 |
Offensive Security是一家从事、和的美国国际公司。从 2007 年左右开始运营,[该公司创建了项目、高级安全课程、ExploitDB()和。该公司由 Mati Aharoni [立,并聘请具有安全和系统安全评估经验的安全专业人员。公司已为多家科技公司提供安全咨询和培训。
参考:https://feifei.tw/google-hacking/
利用社交媒体
社交媒体已经成为大众日常生活的一部分。 这实际上使社交媒体成为渗透测试生命周期一中侦察阶段信息收集的珍贵宝库。现实世界中得到严格保护的个人信息和个人简历,由同样一类人, 免费发布在例如Facebook. Instagram. Titter. LinkedIn 和其他的社交媒体网站上。 在社会工程阶段,这非常有用。
Linkedln在其网站上公布的职业机会,借助这些列表获得目标组织使用的技术是可能的。
创建虚拟身份
开始在社交媒体世界进行侦察前,创建一个人物是通常的做法。站在安全专家或渗透测试人员的角度对目标进行研究通常不会有效。
如果渗透测试人员通过社交媒体。能够与组织中的个人建立社会关系;或有一个人物声称曾经在目标组织工作过或与目标组织的CEO.上过同一所大学,并尝试在LinkedIn上与其建立联系,这将会更有效率。当然,渗透测试人员冒用一个现实中人的全部身份,这种行为必须谨慎,因为这可能导致某些人认为身份已经被盗用。任何情况下,请确保虚构人物不会与身份盗窃或伪造相关。这意味着,在其他事情上,不要填写与虚名字相关的信用卡申请之类的表格或用该人物签订具有法律效力的合约。 在渗透中,使用虚构的身份应该被早早地确定。如果社会工程可以使用,那么虚构的身份应该被创建,当社会工程起作用时将更有效。当在社交媒体网站用虚构身份角色填写注册信息时,渗透测试人员应注意使用协议,以遵守政策、规则,或即使最坏的情况下使用虚构的人物也不会违法。
搜索招聘网站
例如Monster. Career Builder和Dice,有时会有令人兴奋的收获。例如目标网站自身,这些站点能透露目标站点使用的技术。搜索目标组织的页面通常会得到需要补充的岗位,有助于渗透测试人员加深对目标的理解。近年来,许多公司开始意识到这个问题,并在岗位列表中填入“公司机密”或在公司区域的招聘启事中用其他陈述。
DNS 查询过程
或许理解域名服务器基本功能的最容易方法是,模拟计算机和Web浏览器是如何与整个域名服务器系统交互工作的。
从本地域名服务器到根服务器,或者到顶级域名服务器之上的域名服务器,每个域名服务器都能向它上一层级的下一台域名服务器提交查询请求,或为它下一层级的域名服务器提供信息。如果计算机用户在一个Web浏览器的地址栏中键人Google的地址,一系列的事件将会被触发,以保证将人类可读的名字转换到对计算机更有用的数字。这始于用户计算机,向本地域名服务器查询,是否该服务器知道与 对应的IP地址,如果在最近这台域名服务器发出过这样的请求并且缓存了该应答或Google在这台域名服务器注册,对应的IP地址将会被立即返回。如果这台域名服务器没有信息缓存或存储,它就会向下一台域名服务器发出请求。如果上一层级域名服务器知道信息,它就会立即回应;否则将继续这个过程,直到请求到达顶级域名服务器。
域名服务器拥有大量有用信息,远远超过了Web页面。例如,域名服务器拥有邮件服务器,简写为MX记录,本域中的命名计算机也叫做A记录,以及其他有用信息。
DNS(域名系统)记录类型是指不同类型的DNS记录,用于存储不同种类的信息,例如IP地址、邮件服务器信息、文本记录等。每种记录类型都有特定的用途和格式。以下是一些常见的DNS记录类型及其简要说明:
A记录(Address Record): 将主机名(域名)映射到IPv4地址。用于将域名解析为IPv4地址。
AAAA记录: 类似于A记录,但用于将主机名映射到IPv6地址,支持IPv6网络。
CNAME记录(Canonical Name Record): 用于创建域名别名,将一个域名指向另一个规范(官方)域名。
MX记录(Mail Exchanger Record): 指定邮件服务器的信息,用于路由电子邮件到目标邮件服务器。
TXT记录(Text Record): 存储任意文本信息,通常用于存储验证、说明或其他文本数据。
NS记录(Name Server Record): 指定域名的DNS服务器,用于解析该域名的记录。
SOA记录(Start of Authority Record): 包含有关域名的授权信息,如域名的管理者、刷新频率等。
PTR记录(Pointer Record): 用于将IP地址映射回主机名,通常用于反向DNS查找。
SRV记录(Service Record): 指定提供特定服务的主机名和端口号,通常用于VoIP、IM和其他网络服务。
CAA记录(Certification Authority Authorization Record): 用于指定哪些证书颁发机构(CA)有权为该域名颁发SSL证书。
NAPTR记录(Name Authority Pointer Record): 用于规范电话号码或URI的转换,通常与ENUM(电话号码与互联网标识的映射)有关。
这些是一些常见的DNS记录类型,每种类型都用于存储特定类型的信息,以便在互联网上定位和通信。DNS记录的正确配置对于正确的网络通信和服务运行非常重要。不同的DNS记录类型由域名的管理员在DNS服务器上进行配置和管理。
实例
nslookup
> www.google.com
Server: 192.168.80.2
Address: 192.168.80.2#53
Non-authoritative answer:
Name: www.google.com
Address: 198.18.0.80
The nslookup
command you provided is used to query DNS (Domain Name System) information for a specific domain name. In your example, you queried the DNS information for "www.google.com." Here's what the output means:
Server
: This line shows the DNS server that your computer used to perform the DNS query. In this case, your computer used the DNS server at IP address 192.168.80.2 and port 53 to perform the lookup.
Address
: This line displays the IP address of the DNS server that responded to your query (in this case, 192.168.80.2).
Non-authoritative answer
: This line indicates that the DNS server that responded is not the authoritative DNS server for "www.google.com." Instead, it is providing a cached or forwarded response.
Name
: This line displays the domain name you queried, which is "www.google.com."
Address
: Finally, this line displays the IP address associated with the domain name "www.google.com." In your example, it shows that "www.google.com" is mapped to the IP address 198.18.0.80.
Please note that the IP address displayed in the output (198.18.0.80) may vary depending on the location of your DNS server and the DNS resolution process. Google uses multiple IP addresses for load balancing and redundancy, so the IP address you receive may change over time or based on your geographical location.
nslookup
是一个强大的命令行工具,用于执行 DNS(Domain Name System)查询和解析域名相关的信息。除了基本用法,它还提供了一些高级用法,用于更详细和复杂的 DNS 查询和故障排除。以下是一些 nslookup
的高级用法:
查询不同类型的 DNS 记录: 使用 -q
参数,你可以查询不同类型的 DNS 记录。例如,要查询 MX 记录,可以执行 nslookup -q=mx example.com
。
查询特定 DNS 服务器: 使用 server
命令,你可以指定要查询的特定 DNS 服务器的 IP 地址。例如,执行 nslookup
后输入 server 8.8.8.8
将设置 DNS 服务器为 Google 的公共 DNS 服务器。
设置递归查询: 默认情况下,nslookup
执行递归查询,如果本地 DNS 服务器无法提供答案,它会继续查询其他 DNS 服务器。你可以使用 set recurse
命令关闭递归查询,强制仅从本地 DNS 服务器获取答案。
反向 DNS 查询: 通过输入 IP 地址而不是域名,你可以执行反向 DNS 查询,查找给定 IP 地址的域名。例如,执行 nslookup 8.8.8.8
将尝试查找 IP 地址 "8.8.8.8" 对应的域名。
查找所有 DNS 记录: 使用 -type=all
参数,你可以查找一个域名的所有 DNS 记录,包括 A、AAAA、MX、TXT、CNAME 等。例如,nslookup -type=all example.com
。
设置调试模式: 使用 set debug
命令,你可以启用调试模式,这将显示更详细的 DNS 查询信息,包括查询和响应的详细信息。
保存查询结果: 使用 > filename
将查询结果保存到文件中。例如,nslookup example.com > result.txt
将查询结果保存到名为 "result.txt" 的文件中。
设置超时时间: 使用 set timeout
命令,你可以设置 DNS 查询的超时时间,以控制查询的等待时间。
查询特定 DNS 记录的 TTL: 使用 -querytype=TXT
参数,你可以查询特定 DNS 记录类型的 TTL(Time to Live)值,以查看记录在 DNS 缓存中存储的时间。
退出 nslookup
: 在 nslookup
中,输入 exit
或 quit
可以退出程序。
这些是一些 nslookup
的高级用法,它们允许你更精确地执行各种 DNS 查询和定制查询参数,以满足你的需求。这对于网络管理员和开发人员来说是有用的工具,用于排查 DNS 相关的问题以及执行更高级的 DNS 操作。
DNS 详细解析查询过程
DNS 解析过程中通常会访问本地计算机上的 hosts
文件。hosts
文件是一个本地的文本文件,用于将域名与 IP 地址关联起来,以进行本地主机名解析。在 DNS 查询过程中,计算机会首先检查本地 hosts
文件,以查看是否存在与查询域名相关的记录。
具体的 DNS 解析流程如下:
计算机首先检查本地 DNS 缓存,以查看是否有与查询域名相关的记录。如果在缓存中找到了匹配的记录,解析过程将结束,域名将被映射到相应的 IP 地址。
如果在本地 DNS 缓存中没有找到相应的记录,计算机将继续查询本地的 hosts
文件。如果 hosts
文件包含与查询域名相关的记录,解析过程将结束,并将域名映射到 hosts
文件中指定的 IP 地址。
如果在本地 hosts
文件中也没有找到匹配的记录,计算机将继续执行标准的 DNS 查询流程,向本地 DNS 服务器发送查询请求,然后依次向上游 DNS 服务器发送请求,直到找到与查询域名相关的 IP 地址或者达到最终的 DNS 服务器。
总之,hosts
文件在 DNS 解析过程中是一个本地的、静态的解析源,它通常用于配置本地主机名解析。如果 hosts
文件中包含与查询域名相关的记录,那么计算机将不再继续向外部 DNS 服务器发出查询请求,而直接使用 hosts
文件中的信息进行解析。这对于一些特定的用例或网络配置非常有用。但需要注意,如果 hosts
文件中没有包含所需的域名解析信息,解析过程将继续查询外部 DNS 服务器以获取答案。
标准的解析过程
DNS(Domain Name System)解析是将人类可读的域名转换为计算机可以理解的 IP 地址的过程。DNS 解析流程涉及多个步骤,通常包括以下几个关键步骤:
本地 DNS 缓存查询: 当你的计算机首次访问一个域名时,它会首先查看本地 DNS 缓存中是否有与该域名相关的记录。如果在缓存中找到了匹配的记录,解析过程将结束,域名将被映射到相应的 IP 地址。
本地 DNS 服务器查询: 如果在本地 DNS 缓存中没有找到相应的记录,计算机将发送 DNS 查询请求到本地 DNS 服务器。本地 DNS 服务器通常由你的互联网服务提供商(ISP)或组织内部维护。
根域名服务器查询: 如果本地 DNS 服务器也没有与该域名相关的记录,它将向根域名服务器发送查询请求。根域名服务器是全球 DNS 层次结构的顶级服务器,它们存储了顶级域名(如.com、.org、.net)的信息。
顶级域名服务器查询: 根域名服务器会将请求转发给相应的顶级域名服务器,这些服务器负责管理各自顶级域名的 DNS 记录。例如,如果你正在查询 "example.com",则根域名服务器将将请求转发给.com 顶级域名服务器。
权威域名服务器查询: 顶级域名服务器将请求转发给相应的权威域名服务器,这些服务器是负责管理特定域名的 DNS 记录的机构。权威域名服务器将返回请求的域名的 IP 地址,如果有的话。注意多级域名服务器只有这里包含了域名和IP对应信息。
查询域名所在的权威域名服务器
dig +authority baidu.com
可能会查询不到
;; AUTHORITY SECTION:
baidu.com. 172800 IN NS ns1.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
;; ADDITIONAL SECTION:
ns1.baidu.com. 172800 IN A 220.181.38.149
ns2.baidu.com. 172800 IN A 220.181.38.150
在示例输出中:
AUTHORITY SECTION
部分列出了 "baidu.com" 域名的权威域名服务器,即ns1.baidu.com
和ns2.baidu.com
。
本地 DNS 服务器缓存: 一旦本地 DNS 服务器获得了域名的 IP 地址,它将在本地进行缓存,以便将来的查询不再需要向上游服务器发出请求。这样,如果其他计算机在相同的本地 DNS 服务器上进行相同的查询,它可以直接从缓存中获取答案,而不需要再次向上游服务器发送请求。
响应返回给计算机: 本地 DNS 服务器将获取的 IP 地址返回给计算机,使其能够建立到目标服务器的连接。
总的来说,DNS 解析是一个层次结构的查询过程,涉及多个层级的 DNS 服务器,从根域名服务器到顶级域名服务器再到权威域名服务器,最终找到所需域名的 IP 地址。通过在本地 DNS 缓存中保存结果,可以加快将来对相同域名的查询速度,减轻 DNS 服务器的负载。这个过程是互联网中使域名和 IP 地址之间的映射成为可能的关键组成部分。
区域传输
尽管使用类似nslookup之类的程序手动获得大量信息是可行的,不过使用区域传输可以在短时间内获得更多的信息。区域传输完全镜像了一台域名服务器的所有信息。这个方法对于授权域名服务器的更新非常有用。配置不当的域名服务器不仅允许授权客户端更新的区域传输,而且准许任意用户的传输请求。 Domain Internet Gopher ( DIG)程序可用于区域传输。
区域传输(Zone Transfer)是 DNS(Domain Name System)中的一种机制,它允许一个 DNS 服务器从另一个 DNS 服务器请求完整的域名区域信息。这个机制通常用于将域名区域信息从主 DNS 服务器复制到备用 DNS 服务器,以提高可用性和冗余性。
以下是有关区域传输的一些关键概念和信息:
主 DNS 服务器和从 DNS 服务器: 区域传输涉及两种类型的 DNS 服务器。主 DNS 服务器(也称为授权 DNS 服务器)是一个拥有特定域名区域的权威服务器,它包含了该域名区域的完整信息。从 DNS 服务器(也称为辅助 DNS 服务器)是一个在需要时从主 DNS 服务器获取域名区域信息的服务器。
域名区域: 域名区域是 DNS 中的一个分区,包含一组域名和与这些域名相关的 DNS 记录。例如,"example.com" 是一个域名区域,它包含了所有以 "example.com" 结尾的域名和相应的 DNS 记录。
区域传输类型: 区域传输可以分为两种类型:全量传输和增量传输。
全量传输(AXFR): 在全量传输中,主 DNS 服务器将完整的域名区域信息一次性传输给从 DNS 服务器。这是一种将整个区域复制到从服务器的方式,通常在初始化从服务器时使用。
增量传输(IXFR): 在增量传输中,只传输自上次传输以来发生变化的区域数据。这种方式比全量传输更高效,因为它只传输了区域中实际发生更改的部分。
区域传输配置: 区域传输的配置通常在 DNS 服务器的设置中完成。主 DNS 服务器需要允许从 DNS 服务器执行区域传输,并指定哪些从 DNS 服务器可以进行传输。同时,从 DNS 服务器需要配置以指定从哪个主 DNS 服务器获取区域数据。
安全性和授权: 区域传输是一项敏感操作,因为它涉及到域名区域的完整数据。为了确保安全性,DNS 管理员通常会限制谁可以执行区域传输操作,并通过授权来确保只有合法的从 DNS 服务器可以获取数据。
DNSSEC 和 TSIG: 为了提高区域传输的安全性,可以使用 DNSSEC(DNS Security Extensions)来签名 DNS 数据,并使用 TSIG(Transaction SIGnature)来加密和验证传输中的数据。
总之,区域传输是 DNS 中用于复制域名区域数据的重要机制,可用于确保 DNS 服务器之间的数据同步和冗余。但需要小心配置和管理,以确保安全性和数据的完整性。
可使用如下命令尝试区域传输操作:
dig @[name server] [domain] axfr
大部分的传输将会失败,不过如果目标域名服务器配置不当,完整的域名服务器记录集将会被传输到本地Kali Linux计算机。
举例子
dig @198.18.1.215 baidu.com axfr
;; communications error to 198.18.1.215#53: connection reset
当使用这个命令时,域应该是最小主机域名,例如是foo.com而不是www.foo.com。命令的axfir参数表示dig应该请求一个区域传输操作。 如果传输成功,显示的信息可以添加到目标的描述文件中。这会为将来的渗透测试阶段提供有价值的信息。
Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。
dig tools
推荐使用dig 命令,因为nslookup 相对来说,比较老的命令了。
sudo apt install dnsutils
查看特定DNS 服务器上的域名信息
dig @xx.x.x.x example.com
基本的查詢方式
dig example.com
反向DNS查詢
dig -x x.x.x.x
查詢特定记录
dig -t MX baidu.com
权威域名服务器的地址
dig +authority baidu.com