网络攻防之ARP欺骗和DNS劫持实验

目录

ARP单向欺骗

ARP双向欺骗

DNS劫持


实验环境:

攻击主机:kali2023虚拟机,IP地址为192.168.133.141

靶机:Windows10虚拟机,IP地址为192.168.133.129

网关地址:192.168.133.2

(1)ARP协议介绍

在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。这个目标主机的MAC地址就是通过地址解析协议ARP获得的。

ARP协议中通常有两种数据包:ARP请求包和ARP应答包

ARP请求包:请求主机送出一个含有目的IP地址的以太网广播数据包,表示想与目的IP通信,请告诉我此IP的MAC地址。格式如下:who has 目的主机IP tell 请求的主机IP

ARP应答包:当目标主机收到ARP请求包,如果发现请求解析的IP地址与自己的IP地址相同,就会返回一个ARP应答包。它表示:我的主机就是此IP,我的MAC地址是某某某。

目的主机IP is at目的主机MAC地址

(1)DNS原理

DNS(Domain Names System),域名系统,是互联网一项服务,是进行域名和与之相对应的 IP 地址进行转换的服务器,例如用户需要访问百度网站过程如下:

浏览器从 URL 中抽取出主机名 www.baidu.com ,将主机名传给 DNS 应用客户端。

DNS 客户端向 DNS 服务器发送一个包含该主机名的请求,请求 DNS 服务器解析这个主机名的 IP 地址。

DNS 客户端最终会收到一份回答报文,其中包含该目标主机的 IP 地址。

一旦浏览器收到目标主机的 IP 地址后,它就能够向位于该 IP 地址 80 端口的 HTTP 服务器进程发起一个 TCP 连接,就能成功访问百度

(2)DNS劫持原理

攻击者通过篡改本地DNS缓存或在中间节点欺骗网络中其他设备的DNS请求,将用户的合法DNS查询请求重定向到攻击者控制的恶意网站或服务器上。这样攻击者就可以获取用户的敏感信息,包括账户名、密码等等。例如,当用户在浏览器中输入一个网站的URL时,浏览器会向本地DNS服务器发出DNS查询请求,查询网站的IP地址。如果攻击者劫持了这个请求,返回一个虚假的IP地址,将用户重定向到一个自己设定的假冒网站,从而达到劫持的目的。

ARP单向欺骗

(1)ARP单向欺骗原理

攻击者只向目标主机发送伪造的ARP响应包,将目标主机的IP地址和MAC地址对应关系改为自己的MAC地址。这样,目标主机就会将网络流量发送到攻击者的MAC地址,攻击者就能够获取到网络流量。

(2)实验演示

用nmap命令查看当前网段的活跃主机,发现了靶机192.168.133.129

Win10主机ping百度,发现能ping通,即能上网

先查看一下靶机正常的IP地址和MAC地址对应表,在命令行下输入arp-a

网关192.168.133.2的MAC地址是00-50-56-f1-56-2e

攻击机192.168.133.141的MAC地址是00-0c-29-e1-47-15

更新apt-get

下载安装dsniff工具

使用Arpspoof命令进行arp欺骗,可以看到会发送大量伪造的arp响应报文给靶机,让靶机认为192.168.133.2的MAC地址是00-0c-29-e1-47-15

靶机的wireshark抓包结果如下

目的主机192.168.133.2正常ARP应答包应该是

192.168.133.2 is at 00-50-56-f1-56-2e

但是可以看到数据包多了很多192.168.133.2 is at 00-0c-29-e1-47-15,这是由kali发出来的用于做ARP欺骗的,让被攻击主机认为192.168.133.2的MAC地址是00-0c-29-e1-47-15,与kali看到的结果一致

再次查看arp表,发现192.168.133.2和192.168.133.141的MAC地址都是00-0c-29-e1-47-15,欺骗成功

再次ping百度发现已经ping不通,靶机已经断网

使用ctrl+c停止攻击

靶机恢复正常

通过以上步骤让靶机找不到真正的网关,从而实现了让靶机断网

ARP双向欺骗

(1)ARP双向欺骗原理

攻击者不仅向目标发送伪造的ARP响应包,还向网关发送伪造的ARP请求包,将网关的IP地址和MAC地址对应关系改为攻击者的MAC地址。这样,目标将网络流量发送到攻击者的MAC地址,攻击者将网络流量转发到网关,实现中间人攻击。

(2) 实验演示

首先要开启kali的ip转发功能,在/proc/sys/net/ipv4/ip_forward中自行修改。把ip_forward中的0改为1

对网关和目标主机B的欺骗:

使用arpspoof进行双向欺骗

命令:arpspoof -i eth0 -t 192.168.112.136 -r 192.168.112.2

下载安装driftnet工具

这个时候win10可以进行联网,在win10主机中访问网站http://nm.people.com.cn/(需要使用http协议,信息在http协议中通常以明文形式传输,便于验证)在网站访问图片

使用drifnet来进行图片抓取

在kali上就能实时显示被攻击主机访问的图片

(3)使用ettercap工具进行ARP双向欺骗

输入ettercap -G命令打开Ettercap工具,选择网卡eth0然后点击√进入工具

点击右上角三个点然后点击Hosts然后点击Scan for host,待扫描完成后点击Host list,可以看到四个主机,第二个是网关,第三个是windows10

选择攻击目标,点击windows10的ip地址,然后点击Add to Target 1 ,让其作为目标1,然后选择网关的ip地址,点击Add to Target 2,让其作为目标2

明确目标攻击方式:点击Mitm -> arp poisoning -> Sniff remote connections -> 确定

在win10主机访问批改网网站,并使用账号密码登录

工具就会抓取win10的数据包和网关的数据包,点击View--Connections可以看到所有截获的包,分析http post请求可以判断账号密码信息,在最下面可以看到抓到的用户名和被哈希过的密码

DNS劫持

实验演示

本次实验要劫持的网站为批改网,网站为http://www.pigai.org

靶机ping批改网,能ping通且得到批改网的IP为45.113.201.76

编辑etter.dns文件,输入命令vi /etc/ettercap/etter.dns,在结尾添加

www.pigai.org A 192.168.133.141 80

在Ettercap工具下把win10当做目标1

Ettercap Menu—>Plugins—>Manage Plugins,双击dns_spoof。下方显示框会显示dns_spoof插件已经启动,同时Plugin列表中dns_spoof左边会有一个*,表示插件被激活。

此时靶机再次ping简易网,发现ip已经变成攻击主机的ip:192.168.133.141,劫持成功

在Ettercap的显示框中会有dns消息提示,如下图所示。可以看到靶机实际ping的是攻击者的主机。

此时靶机上访问批改网,因为进行了dns欺骗,所以靶机每次访问www.pigai.org时把该域名的IP地址解析为192.168.133.141,所以靶机访问批改网等于访问192.168.133.141:80,也就是说只要靶机访问批改网都会跳到192.168.133.141:80

为了让靶机相信这是真的批改网,使用kali的setoolkit工具设置192.168.133.141:80网站,可以克隆批改网到192.168.133.141:80

输入命令setoolkit命令,会跳出选择选项,选择1

然后选择2

然后选择3

最后选择2

在set:webattacks输入克隆的网站http://www.pigai.org,即批改网的网站

靶机访问批改网网站,成功访问,但是这个并不是真正的批改网,而是攻击主机创建的钓鱼网站,是攻击主机克隆批改网出来的,所以与批改网页面一样,用户以为是真的,然后输入用户名和密码进行登录

攻击主机上就能得到抓到信息:用户名为121122021007和哈希过的密码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/701832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java多线程——线程安全同步机制同步代码块、同步机制

用多线程实现电影院三个窗口买票机制 ①同步代码块方式实现 public class MyThread extends Thread{static int sum0;//static Object objectnew Object();Overridepublic void run() {while(true){//同步代码块synchronized (MyThread.class){if(sum<100){try {Thread.sl…

唯品会vip.item_get API:第三方开发者的商品信息获取利器

唯品会&#xff08;VIP.com&#xff09;是中国的一家知名折扣电商平台&#xff0c;提供大量品牌商品的打折销售。对于第三方开发者而言&#xff0c;唯品会提供的API接口可以帮助他们集成唯品会的数据和功能&#xff0c;从而开发出自己的应用或服务。 vip.item_get API是唯品会…

maven 打包命令

Maven是基于项目对象模型(POM project object model)&#xff0c;可以通过一小段描述信息&#xff08;配置&#xff09;来管理项目的构建&#xff0c;报告和文档的软件项目管理工具。 Maven的核心功能便是合理叙述项目间的依赖关系&#xff0c;通俗点讲&#xff0c;就是通过po…

Linux 基本组件与性能优化与根目录

目录 Linux基本组件 Linux性能优化 Linux常见根目录 Linux基本组件 内核&#xff1a;操作系统的核心&#xff0c;管理硬件资源和提供基本服务。 Shell&#xff1a; 用户与系统交互的命令行界面&#xff0c;例如 Bash 或 Zsh。 文件系统&#xff1a; 组织和存储数据的方式&…

Mysql的基本SQl语句

1.DDL 数据定义语言&#xff0c;开发 针对库表对象增删改create 创库创表drop 删库删表alter 修改库表属性 案例1&#xff1a;创建一个数据库&#xff0c;需求如下&#xff1a; 1&#xff09;库名为edu 2&#xff09;字符集为utf8 CREATE DATABASE edu DEFAULT CHARAC…

代码随想录刷题笔记-Day22

1. 修剪二叉搜索树 669. 修剪二叉搜索树https://leetcode.cn/problems/trim-a-binary-search-tree/ 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留…

opengles 顶点坐标变换常用的矩阵(九)

文章目录 前言一、opengles 常用的模型矩阵1. 单位矩阵2. 缩放矩阵3. 位移矩阵4. 旋转矩阵二、第三方矩阵数学库1. glm1.1 ubuntu 上安装 glm 库1.2 glm 使用实例1.2.1 生成一个沿Y轴旋转45度的4x4旋转矩阵, 代码实例如下1.2.2 生成一个将物体移到到Z轴正方向坐标为5处的4x4 vi…

万界星空科技商业开源MES

一、万界星空科技商业开源MES系统概述&#xff1a; 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES。 1.万界星空开源MES制造执行系统的Java开源版本。 开源mes系统包括系统管理&#xff0c;车间基础数据管理&#xff0c;计…

深度学习500问——Chapter01:数学基础

文章目录 前言 1.1 向量和矩阵 1.1.1 标量、向量、矩阵、张量之间的联系 1.1.2 张量与矩阵的区别 1.1.3 矩阵和向量相乘结果 1.1.4 向量和矩阵的范数归纳 1.1.5 如何判断一个矩阵为正定 1.2 导数和偏导数 1.2.1 导数偏导计算 1.2.2 导数和偏导数有什么区别 1.3 特征值和特征向量…

什么是边缘案例测试?如何查找并确定优先级

何为边缘情况&#xff1f; 在极端条件下发生的情况被称为边缘情况&#xff0c;有时候也叫边界情况&#xff0c;在功能、回归、单元和性能测试中都会应用。如果质量保证团队知道某项功能的最大和最小负载&#xff0c;他们就能防止这些情况发生。当用户不按照程序的预期工作流程…

gma 2.0.6 (2024.02.21) 更新日志

安装 gma 2.0.6 pip install gma2.0.6网盘下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1P0nmZUPMJaPEmYgixoL2QQ?pwd1pc8 提取码&#xff1a;1pc8 注意&#xff1a;此版本没有Linux版&#xff01; 编译gma的Linux虚拟机没有时间修复&#xff0c;本期Linux版继…

Go Module常用命令

Go Module常用命令TOC Go Module常用命令 go mod init #初始化go.mod go mod tidy #更新依赖文件 go mod download #下载依赖文件 go mod vendor #将依赖转移至本地的vendor文件 go mod edit #手…

ChatGPT需要什么资源?

在ChatGPT走红之后&#xff0c;国内有很多的媒体和人一下子慌了神。特别是自媒体上&#xff0c;铺天盖地的都是说“为什么中国没有诞生ChatGPT”、“美国将要爆发一场新的技术革命”之类的文章。很多的一些研究机构和企业都宣称&#xff0c;我们马上就要推出自己的ChatGPT了。还…

@ 代码随想录算法训练营第8周(C语言)|Day59(动态规划)

代码随想录算法训练营第8周&#xff08;C语言&#xff09;|Day59&#xff08;动态规划&#xff09; Day59、动态规划&#xff08;包含题目 ● 583. 两个字符串的删除操作 ● 72. 编辑距离 &#xff09; 583. 两个字符串的删除操作 题目描述 给定两个单词 word1 和 word2&am…

Spring Cloud Gateway官方文档学习

文章目录 推荐写在前面一、熟悉Gateway基本概念与原理1、三大概念2、工作流程 二、基本使用路由断言的两种写法 三、路由断言工厂1、After路由断言工厂2、Before路由断言工厂3、Between路由断言工厂4、Cookie路由断言工厂5、Header路由断言工厂6、Host路由断言工厂7、Method路由…

如何远离原生家庭并与原生家庭相处

1、绝不主动联系。 2、任何辩理立即停止&#xff0c;即使你是对的。 3、绝不做任何取悦父母、感动父母的事。 4、只负责父母病了给他们送医院&#xff0c;得到应有的治疗。其他的和你无关。 5、遭遇道德绑架立即挂电话&#xff0c;立即离场&#xff0c;立即拉黑&#xff0c;绝不…

静态时序分析:SDC约束命令set_drive详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html 目录 指定电阻值 指定端口列表 简单使用 指定上升、下降沿 指定最大最小、条件 写在最后 本章将讨论使用set_drive命令&#xff0c;它用于对输入端口的驱动能力建模。首先需要说明的…

XXXX系统等级保护定级报告

XXXX系统等级保护定级报告 *标红内容为样例文本&#xff0c;请根据实际填写替换,非重要系统一般级别为一级 一、信息系统描述 对系统功能、运维方式、部署方式进行描述。 二、XX系统安全保护等级确定 &#xff08;一&#xff09;业务信息安全保护等级的确定 1、业务信息描…

130 如何通过vs2017开发linux c++程序

使用VS2017开发linux下的应用程序&#xff08;C/C&#xff09;_vc_linux.exe vs2017-CSDN博客 参考上面这哥们的&#xff0c;写的很详细 前言 本文章记录如何使用VS2017进行linux应用程序的开发&#xff08;针对新手小白&#xff09;&#xff0c;VS2017能较为方便的通过SSH编辑…

基于回归支持向量机svr的确诊人数预测,基于lstm的确诊人数预测,基于bilstm的确诊人数预测,基于ga-lstm-svr的确诊人数预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于lstm的确诊人数预测,基于bilstm的确诊人数预测 完整代码: 基于svr的确诊人数预测,基于lstm的确诊人数预测,基于bilstm的确诊人数预测,基于ga-lstm-svr的确诊人数预资源-CSDN文库 https://download.csdn.net/download/ab…