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

kali [DNS劫持] 实验(详细步骤)

一、描述

介绍

DNS劫持 (Domain Name System hijacking) 是黑客经常使用的一种攻击方式,其原理是通过篡改DNS系统的域名解析结果,将某个域名解析到指定的IP地址,从而使得用户访问该域名所对应的网站时,被重定向到攻击者控制的虚假网站,进而实现种种欺骗行为,如钓鱼、木马下载、恶意软件等。

原理

DNS劫持的核心原理就在于篡改域名解析结果,攻击者通过某种手段获取到通信链路上的DNS信息,然后将目标域名解析到他所想要的IP地址上,从而将用户引导到自己的虚假网站。

DNS攻击方式包括以下方式:

1.本地劫持:将目标域名解析到本机的IP地址上,从而使用户在访问被劫持的域名时被重定向到自己的虚假网站。

2.路由器劫持:攻击者通过攻击用户路由器,修改其DNS服务器配置,从而获得更广泛的攻击范围。

3.中间人攻击:攻击者通过在数据传输过程中拦截DNS查询请求,并将自己的恶意解析结果插入其中,实现目标域名劫持的目的。(本次实验使用方式)

使用的工具

启动工具:ettercap

Ettercap 是 Kali Linux 中一款强大的中间人攻击工具,主要用于网络嗅探ARP 欺骗DNS 劫持等操作。它支持命令行和图形界面两种模式,可对局域网内的流量进行监控和篡改。

主要功能:1)、ARP 欺骗 - 伪造 ARP 响应,使目标主机与网关之间的通信流量流经攻击者主机​2)、DNS 劫持 - 修改 DNS 响应,将目标域名解析到指定 IP​3)、数据包嗅探 - 捕获并分析网络数据包​4)、内容篡改 - 修改传输中的数据(如 HTTP 请求 / 响应)​5)、密码提取 - 从流量中提取明文密码等敏感信息
 #Ettercap 插件主要分为以下几类:##1. 嗅探增强类`p0f_fingerprint`:基于数据包特征进行操作系统识别`http_header`:提取 HTTP 请求 / 响应头信息`irc_passwd`:嗅探 IRC 聊天密码##2. 中间人攻击类`dns_spoof`:DNS 劫持,修改域名解析结果`arpmitm`:ARP 欺骗基础模块`sslstrip`:HTTPS 降级攻击(需配合其他工具)##3. 内容篡改类`html_codeinject`:向 HTML 页面注入自定义代码(如 JavaScript)`replace`:替换传输中的文件(如图片、可执行文件)`url_rewrite`:重写 URL 请求##4. 信息收集类`etterlog`:记录所有嗅探到的流量`macof`:MAC 地址泛洪攻击`sniff_ports`:扫描目标开放端口##5. 自动化攻击类`mitm_ssh`:SSH 中间人攻击(实验性)`mitm_smtp`:SMTP 中间人攻击`flooder`:发起 DoS 攻击

二、环境条件以及配置

靶机:Windows10

攻击机:kali Linux

网络环境:同一个局域网下

1、修改配置文件

进入ettercap目录,修改dns配置文件

 cd /etc/ettercapvim etter.dns

ip a或者ifconfig或nmcli均可查看ip地址

打开文件后,添加数据信息

*(劫持所有网站)   A(记录类型)   IP(跳转到哪一个IP地址)*(劫持所有网站)   PTR(记录类型)   IP(跳转到哪一个IP地址)​# * 表示所有的域名,不使用 * 也可以,具体指定域名也可以,比如:www.baidu.com​# DNS 协议的两种核心记录类型:A 记录和PTR 记录## A 记录:用于将域名映射到IP 地址。当你访问一个网站(如www.example.com)时,浏览器首先会向 DNS 服务器查询该域名对应的 A 记录。#作用:将所有域名(使用通配符*表示)的 A 记录查询都重定向到指定 IP​## PTR记录:反向 DNS 解析记录,与 A 记录相反,用于将IP 地址映射回域名。通常用于邮件服务器验证、网络管理等场景。#作用:将所有 IP 地址的反向查询(PTR 记录)都指向指定 IP 对应的域名

之后保存退出即可

接下来启动kail自带的apache服务

 service apache2 start

重新编辑index.html文件,修改成攻击者想要用户看到的页面。

 cd /var/www/html vim index.html

默认的index.html界面如下:

2、配置ettercap
 #启动ettercap的图形化界面ettercap -G

先扫描一下局域网下活跃的主机

将靶机的ip添加到目标1当中,网关的ip添加到目标2当中,并查看:

Ctrl键+t进行查看:

点击右上角的图标,进行ARP欺诈,测试是否成功:

出现以下信息,说明测试完成

3.DNS劫持

接下来进行劫持

到靶机当中,首先我们正常的去访问网站,访问界面是正常的

发送的ping数据包以及回复数据也正常

然后回到kail当中继续配置,开始DNS劫持

菜单栏当中选择Plugins选项

选择第一项

打开以后,找到dns_spoof,双击

前面出现*表示启动成功,以及观察通知栏的提醒信息

配置完成后,回到靶机当中再次访问

此过程注意:

 #关闭kali Linux的防火墙,不关闭可能网页无法显示systemctl stop firewalld

此时ping百度,发现返回的是kali的ip地址,DNS欺骗成功;

靶机再次访问百度或者其他页面的时候,访问到的则是我们在kali上设置的页面(如果没有出现,可以清除一下浏览器缓存再次访问)

kali当中的ettercap工具界面信息:

DNS劫持防护措施

1.使用HTTPS协议

HTTPS协议是一种加密通信协议,可以保证数据在传输过程中的安全性,防范黑客对数据的窃取和篡改,从而有效地防止DNS劫持的攻击。

2.使用DNSSEC

DNSSEC是一种旨在提高DNS安全性的扩展协议,其主要用于防御DNS欺骗攻击。DNSSEC通过数字签名来防止DNS响应被篡改,从而防范DNS劫持攻击。

3.使用VPN

使用虚拟私人网络(VPN)是防范DNS劫持的有效方法。VPN通过建立安全隧道,加密用户的网络流量,能够有效地阻止黑客对数据的窃取和篡改,并防止DNS劫持攻击导致的信息泄漏。

http://www.xdnf.cn/news/1190323.html

相关文章:

  • python I 本地 html 文件读取方法及编码报错问题详解
  • Android 蓝牙学习
  • 在python3.8和pytorch1.8.1的基础上安装tensorflow
  • 对比JS“上下文”与“作用域”
  • kafka中生产者的数据分发策略
  • RabbitMQ面试精讲 Day 5:Virtual Host与权限控制
  • GMP模型
  • Qt 多线程编程最佳实践
  • 公域流量向私域流量转化策略研究——基于开源AI智能客服、AI智能名片与S2B2C商城小程序的融合应用
  • 数据结构 二叉树(2)---二叉树的实现
  • Spring AI Alibaba Video 示例
  • “三十二应身”架构设计:论高扩展性度化系统的实现原理
  • MyBatis_3
  • 想入门网络编程?——网络通信的基本概念
  • Maven之依赖管理
  • ts-node 深入全面讲解
  • OCR工具集下载与保姆级安装教程!!
  • Spring Boot 实战:用 Apache Commons CSV 优雅解析 CSV 文件
  • MySQL 基本查询
  • Linux随记(二十一)
  • JVM 基础架构全解析:运行时数据区与核心组件
  • 商汤InternLM发布最先进的开源多模态推理模型——Intern-S1
  • 开源智能体框架(Agent Zero)
  • 从稀疏数据(CSV)创建非常大的 GeoTIFF(和 WMS)
  • Linux选择题
  • cacti的命令执行和回显
  • Python应用:三局两胜制石头剪刀布游戏
  • 人工智能发展历程
  • Linux应用开发基础知识——Framebuffer应用编程(六)
  • Linux用户