前言
DNSLog是一种基于DNS协议的信息收集技术,它可以用于网络安全领域的渗透测试、漏洞挖掘等方面。DNSLog的原理是利用DNS协议的特性,将需要收集的信息编码成DNS查询请求,然后将请求发送到DNS服务器,最后通过DNS服务器的响应来获取信息。DNSLog的实现方式有很多种,其中最常见的是使用第三方DNS服务。DNSLog的优点是隐蔽性高,缺点是响应时间较慢和存在一定的误报率。
DNSLog介绍
DNSLog是一种用于收集和分析DNS(Domain Name System)请求和响应的工具,它可以帮助安全研究人员或渗透测试人员在进行网络安全测试时追踪网络行为。DNSLog可以捕获DNS请求和响应,并记录该信息,同时可以对该信息进行分析和可视化。DNSLog通常用于检测恶意域名或IP地址,发现网络攻击行为以及监测员工的访问行为。此外,DNSLog还可以与其他安全工具集成使用,如IDS、IPS、SIEM等,提高网络安全的可视化和监测能力。
域名和IP的关系
域名和IP之间存在着一种映射关系,也就是域名解析。域名是用来方便人们记忆和使用的,而IP是计算机网络中用来定位和标识网络设备的地址。当我们在浏览器中输入一个域名时,计算机会通过域名解析的过程,将域名转换为对应的IP地址,然后才能访问到该网站。在这个转换的过程中,主要是通过DNS服务器来完成的。DNS服务器会根据域名查询对应的IP地址,并将结果返回给用户的计算机,使其能够建立连接和进行数据传输。因此,域名和IP地址之间存在着紧密的关系。
DNS服务器
DNS(Domain Name System)服务器是一种网络设备或服务,用于将域名转换为IP地址。在互联网上,每个设备都需要一个唯一的IP地址才能进行通信。但是,IP地址很难记忆,因此人们更愿意使用易于记忆的域名来访问网站和其他在线服务。DNS服务器充当一个翻译,将域名转换为与之关联的IP地址,使设备能够进行通信。每个Internet服务提供商(ISP)都会提供自己的DNS服务器,但用户也可以选择使用其他公共DNS服务器,如Google的8.8.8.8和8.8.4.4。
DNS的作用
DNS(Domain Name System)的作用是将人类可读的域名(如www.example.com)转换为相应的IP地址(如192.0.2.1),以便计算机能够准确地找到所需的网络资源。 在互联网中,每个设备都有一个唯一的IP地址,这个地址用于在网络中寻找与之通信的设备。然而,IP地址不易记忆。因此,DNS服务起到了一个映射的作用,用户可以通过域名访问网络资源,而无需知道相应的IP地址。通过DNS,用户可以更方便、更快捷地访问互联网资源。
什么是无回显
在我们日常去做漏洞探测的时候,我们发送的payload,比如SQL注入,XSS注入的一个payload,发送到了服务器之后,服务器执行了我们的语句或者代码,服务器会返回给我们一个HTTP的响应。
这个返回的响应里面就包含了我们想要的结果。比如,我们在执行SQL注入语句时,返回界面会给我们爆出一些信息来让我们判断是否有SQL注入漏洞
但是在某一些情况下,这个网站本身是存在漏洞的,但是它并不会在响应里面返回信息,导致我们无法判断当前页面是否存在漏洞,这种就是没有回显,在这种情况下我们要怎幺去获得我们执行的结果呢?
什么是DNSLog
DNSLog是一个DNS请求记录平台,可以记录和分析DNS请求的详细信息,包括请求来源、目标域名、请求时间和响应状态等。它主要用于安全研究、网络监控和恶意活动追踪等领域。DNSLog可以帮助安全团队快速识别恶意域名、恶意软件和网络攻击,提高安全性能和响应能力。
比如我们的浏览器要访问 baidu.com 这个域名,那么这个域名会先经过DNS的服务器解析,返回给我们一个IP地址,然后我们的浏览器再根据这个IP地址找到真正的服务器,发送请求,然后这个服务器返回给我们一个响应。但是,其实DNS服务器在解析的过程中其实会记录日志,这个日志我们便把它称为DNSLog的日志,会记录以下信息:
- 查询时间:DNS查询的时间戳。
- 客户端IP地址:发出DNS查询请求的客户端的IP地址。
- 域名:查询的域名。
- DNS类型:查询使用的DNS记录类型,如A、MX、CNAME、NS等。
- DNS服务器IP地址:用于解析DNS记录的DNS服务器的IP地址。
- 响应结果:DNS查询的响应结果,包括对应的IP地址、CNAME记录等信息。
- DNS查询是否成功:记录DNS查询成功或失败的状态。
通过记录这些信息,DNSLog可以帮助网络管理员分析和监控DNS查询活动,识别潜在的网络安全问题和性能问题。
DNSLog解决无回显
那么我们是如何通过DNSLog平台解决无回显的问题呢?
比如我们的浏览器向存在漏洞的网站发送了一个请求,这个请求包含了SQL注入的语句的同时又包含了对DNSLog服务器的请求,那么存在漏洞的网站便会将这个SQL注入语句执行了,然后它会将响应的结果拼接在DNSlog的子域名里面,通过DNSLog平台将结果回显给我们。
带外攻击(OOB=Out of Bind)
这种攻击方式我们也可以称为带外攻击(OOB=Out of Bind),带外攻击是一种网络攻击方式,攻击者通过操作目标系统的管理接口,绕过操作系统和网络安全设备的安全控制,直接对硬件进行攻击。这种攻击方式也被称为基于管理接口的攻击,可用于攻击服务器、网络设备和一些智能设备。
带外攻击可以利用目标系统的硬件漏洞和弱点,以获得高权限的访问,如超级用户权限。攻击者可以利用此权限访问和窃取目标系统上的敏感信息、操纵目标系统的设置和配置,或者在目标系统上植入恶意软件。
DNS解析流程
DNS解析流程如下:
-
用户在浏览器输入网址,比如www.example.com。
-
操作系统会先检查本地缓存,如果有该网址的解析记录,则直接返回对应的IP地址。如果没有,则进行下一步。
-
操作系统将请求发送给本地域名服务器,本地域名服务器一般由网络服务提供商提供。本地域名服务器会先检查自己的缓存,如果有该网址的解析记录,则直接返回对应的IP地址。如果没有,则进行下一步。
-
本地域名服务器会向根域名服务器发起请求,根域名服务器有13个,分布在全球不同地方。根域名服务器会返回包含顶级域名服务器信息的响应,比如.com、.org等。
-
本地域名服务器根据顶级域名服务器的信息,向对应的顶级域名服务器发起请求,比如向.com域名服务器发起请求。顶级域名服务器会返回包含下一级域名服务器信息的响应,比如example.com的域名服务器。
-
本地域名服务器根据下一级域名服务器的信息,向对应的域名服务器发起请求,比如向example.com的域名服务器发起请求。域名服务器会返回对应的IP地址。
-
本地域名服务器将获取到的IP地址缓存起来,并将该IP地址返回给操作系统。
-
操作系统将获取到的IP地址返回给浏览器。
-
浏览器根据IP地址向对应的web服务器发起请求,获取网页内容。
现在我们打开一个DNSLog的平台,DNSLog的平台地址
点击 Get SubDomain获取一个子域名,比如我们这里得到的子域名就是 6rvp56.dnslog.cn
然后我们打开 cmd 去 ping 这个子域名,这里我们在子域名前面随便加上一点前缀
这时,我们回到DNSLog的平台,点击 Refresh Record刷新,会发现已经产生了DNSLog的记录