DHCP DNS 欺骗武器化——实用指南

2024-08-24 02:28

本文主要是介绍DHCP DNS 欺骗武器化——实用指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DHCP 枚举

在我们之前的文章中,我们分享了 DHCP DNS 欺骗背后的理论。实际上,需要几条信息才能有效地执行我们描述的攻击。对于攻击者来说幸运的是,发现DHCP 服务器并了解其配置的能力是 DHCP 协议的一部分,这使得侦察过程变得微不足道。

在以下章节中,我们将描述攻击者可以从未经身份验证的环境中使用来收集这些不同信息的不同方法和技巧。

识别 DHCP 服务器

DHCP DNS 攻击中最重要的部分是目标 DHCP 服务器,因此第一步是识别一个 DHCP 服务器。识别网络中的活跃 DHCP 服务器非常简单。攻击者可以发送 DHCP Discover 广播并检查服务器的 Offer 响应。

要发送 DHCP 消息,我们可以运行dhclient Linux 实用程序 — 一个可配置的 DHCP 客户端,允许与 DHCP 服务器交互。我们可以通过编辑其配置文件来配置dhclient,该文件位于**/etc/dhcp/dhclient.conf**。

当我们运行它时,dhclient将从 DHCP 服务器请求网络配置并将其应用于我们的机器 - 覆盖我们当前的 IP 地址。为了避免这种情况,我们可以使用以下语法在虚拟接口上运行它:

  dhclient <interface_name>:<virtual_interface_name>

复制

运行此命令后,我们可以看到我们的原始IP地址(172.25.14.55)保持不变,而我们的虚拟接口从DHCP服务器接收到了一个新的IP地址(图1)。

如果我们记录流量并检查 DHCP Offer 消息,我们将能够识别所有活动的 DHCP 服务器(图 2)。

图 2:发送 DHCP Discover 来识别网络中的活动 DHCP 服务器

获取 DHCP 服务器的域和 DNS 服务器

在识别网络中的 DHCP 服务器后,我们需要知道哪些记录可以通过每个服务器进行伪造。DHCP 服务器只能在其关联的 ADI 区域内创建记录 - 与“aka.test”域关联的服务器只能写入具有相同后缀的 DNS 记录:.aka.test。要了解我们可以伪造哪些记录,我们需要识别此后缀。

此外,我们想知道哪个 DNS 服务器将托管新记录,这将使我们能够查询它们并验证攻击是否成功。

攻击者可以使用一种技巧来找出这两个参数,即参数请求列表选项,该选项允许查询 DHCP 服务器以获取特定设置。对于我们的目的,我们可以查询服务器关联的域名域名服务器选项。

我们可以再次使用dhclient 。为了将参数请求列表选项添加到我们的发现消息中,我们在**dhclient的配置文件中包含以下行:

  request domain-name, domain-name-servers;

复制

当我们运行dhclient(像以前一样,在虚拟接口上)并检查我们的发现消息时,我们看到它包含带有我们请求的字段的参数请求列表选项(图 3)。

图 3:DHCP Discover 消息中的参数请求列表

监听的 Microsoft DHCP 服务器应向此 Discover 消息发送带有所请求参数的 Offer 响应(图 4)。图 4:DHCP 服务器响应我们请求的设置

推断名称保护状态

尝试滥用 DHCP DNS 动态更新时,另一个重要的设置是名称保护,因为此设置将决定某些

这篇关于DHCP DNS 欺骗武器化——实用指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

JavaScript错误处理避坑指南

《JavaScript错误处理避坑指南》JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题,本文将详细给大家介绍一下JavaScript错误处理的... 目录一、错误类型:三大“杀手”与应对策略1. 语法错误(SyntaxError)2. 运行时错误(R

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域