网络攻防之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和哈希过的密码

相关推荐
叫我龙翔10 分钟前
【计网】实现reactor反应堆模型 --- 框架搭建
linux·运维·网络
不爱学习的YY酱1 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(4)
网络·计算机网络
装睡的小5郎1 小时前
家庭宽带如何开启公网ipv4和ipv6
网络
yfs10241 小时前
压缩Minio桶中的文件为ZIP,并通过 HTTP 响应输出
网络·网络协议·http
有谁看见我的剑了?1 小时前
Ubuntu 22.04.5 配置vlan子接口和网桥
服务器·网络·ubuntu
hgdlip1 小时前
有什么办法换网络ip动态
网络·tcp/ip·智能路由器
超栈2 小时前
HCIP(11)-期中综合实验(BGP、Peer、OSPF、VLAN、IP、Route-Policy)
运维·网络·网络协议·计算机网络·web安全·网络安全·信息与通信
დ旧言~2 小时前
【网络】应用层——HTTP协议
开发语言·网络·网络协议·http·php
不爱学习的YY酱2 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(1)
网络·计算机网络
汪小敏同学2 小时前
【Django进阶】django-rest-framework中文文档——快速入门
网络·windows·oracle