当前位置: 首页 > news >正文

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 动态更新时,另一个重要的设置是名称保护,因为此设置将决定某些

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 蓝队技能-应急响应篇钓鱼攻击邮件与文件EML还原蠕虫分析线索定性
  • k8s教程
  • 【C语言】进程和线程详解
  • 日志组件导致的内存溢出问题分析
  • Java 4.2 - MySQL
  • Swift 中的影像魔术:Core Video 的高级应用
  • Swift模块化:构建高效可维护代码的秘诀
  • ArcGIS空间自相关 (Global Moran‘s I)——探究人口空间格局的20年变迁
  • 数据恢复技术-手动修复MBR-/NTFS分区
  • Linux静态库和动态链接库的制作和使用
  • How to stream video in a loop via RTP using ffmpeg?
  • 打造redis缓存组件
  • CAN总线/CAN应用层协议设计,理解并实践仲裁段位域定义
  • vue vite创建项目步骤
  • 推荐系统实战(四)精排-交叉结构
  • 【mysql】环境安装、服务启动、密码设置
  • 【React系列】如何构建React应用程序
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 230. Kth Smallest Element in a BST
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • avalon2.2的VM生成过程
  • Java的Interrupt与线程中断
  • Java精华积累:初学者都应该搞懂的问题
  • Java应用性能调优
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Laravel5.4 Queues队列学习
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • node入门
  • PV统计优化设计
  • Vim Clutch | 面向脚踏板编程……
  • vue学习系列(二)vue-cli
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 机器学习中为什么要做归一化normalization
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 一个项目push到多个远程Git仓库
  • HanLP分词命名实体提取详解
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (003)SlickEdit Unity的补全
  • (3)llvm ir转换过程
  • (31)对象的克隆
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (苍穹外卖)day03菜品管理
  • (纯JS)图片裁剪
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计高校学生选课系统
  • (七)Java对象在Hibernate持久化层的状态
  • (区间dp) (经典例题) 石子合并
  • (四)JPA - JQPL 实现增删改查
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (转)nsfocus-绿盟科技笔试题目
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转)为C# Windows服务添加安装程序