让狗室友团战的时候断网难道有错吗?Arp攻击笔记

作者:AlcyoneYYXJ

有问题欢迎指正= ̄ω ̄=

ps: 执念于心dalao说 arp欺骗攻击只能局域网
但是我查了下好像可以跨网段ARP攻击 ,就是很麻烦跨网段ARP攻击-CSDN博客
##1. ARP协议简介
ARP是一种解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址

IP间的通信以来MAC地址,在网络上,通信双方在同一局域网(LAN)内的情况是很少的,通常是进过多台计算机和网络设备中转才能链接对方,在中转时会利用下一站中转设备的MAC地址来搜索下一个中转目标,这是会采用ARP协议

在以太网中,两台主机想要通信,就必须要知道目标主机的MAC地址,ARP(地址解析协议)的基本功能就是在主机发送数据之前将目标IP转换为MAC地址,完成网络地址到物理地址的映射,以保证两台主机之间的正常通信

1.1 ARP缓存表

任何一台主机装了TCP/IP协议都会有ARP缓存表,该表保存了这个网络(局域网)中各主机IP对应的MAC地址,ARP缓存表能够有效的保证数据传输的一对一特性

ARP缓存表中的条目类型有静态也有动态,静态ARP缓存条目是永久性的,动态ARP缓存条目如果主机在一段时间内不与此IP通信,将会删除对应条目,Windows默认的ARP缓存项存活时间为两分钟

MAC地址如同身份证号码,具有全球唯一性

1.2 局域网主机通信

主机 主机IP MAC
网关1 192.168.0.1 01-01-01-01-01-01
主机A 192.168.0.2 02-02-02-02-02-02
主机B 192.168.0.3 03-03-03-03-03-03
网关2 192.168.1.1 11-11-11-11-11-11
主机C 192.168.1.2 12-12-12-12-12-12

现在主机A要进行与主机B的通信,主机A使用命令 ping 192.168.0.3,此时A先会通过子网掩码进行对比,看看目标主机是否在同一局域网内

1.2.1 两个主机在同一局域网内

      A先查询本机的ARP缓存表,看看是否存在B的MAC地址,如果存在,直接发送数据,如果不在,主机A将会以广播方式发送一个ARP请求报文,报文中包含本机的IP地址,MAC地址等信息,局域网内的所有主机都会接收到报文,当主机B接收到报文后,就会将自己的MAC地址发送给主机,并且将主机A的MAC地址加入自己的ARP缓存中,而其他主机接收到报文发现不是在叫自己,就不会有任何应答

在局域网内的通信比较简单,不需要经过网关就可以直接通信,但若不在一个局域网内就比较复杂了

1.2.2 两个主机不在同一局域网内(A和C)

      主机A通过网络掩码 进行对比,发现自己和主机C不在同一局域网内,所有需要网关来转发处理。主机A首先将会查询自己的ARP缓存中是否存在自己的网关的MAC地址,如果不存在,使用广播获取,然后直接向网关1发送数据包,由网关1向网关2发送数据包,网关2收到数据包之后发现是发送给主机C的数据,网关2将会查询到自己的ARP缓存中时候存在主机C的MAC地址,若存在直接发送数据,不存在则广播方式获取主机C的MAC地址后发送数据

1.3 ARP欺骗原理

ARP协议主要缺陷:
1.由于主机不知道通信对方的MAC地址,所以才需要ARP广播请求获取,当在广播请求时,攻击者就可以伪装ARP应答,冒充真正要通信的主机,以假乱真
2.ARP协议是无状态的,这就表示主机可以自由的发送ARP应答包,及时主机未收到查询,并且ARP响应都是合法的,许多主机会接受未请求的ARP应答包
3.一台主机的IP被缓存在另一台主机中,他就会被当做一台可信任的主机。而计算机没有提供检验IP到MAC地址是否正确的机制。当主机接收到一个ARP应答后,主机不再考虑IP到MAC地址的真实性和有效性,而是直接将应答包中的MAC地址与对应的IP地址替换掉原有ARP缓存表的 相关信息

入侵者正处在局域网内,利用ARP设计的一些缺陷可以在网络中发送虚假的ARP请求或响应,这就是ARP欺骗

比如说,前面提到的,如果主机A与主机C之间要进行通信,可能被主机B截取

首先主机B向主机A发送一个ARP响应,192.168.0.1的MAC地址是03-03-03-03-03-03-03(伪装成网关1)
主机A接收到响应后不会去验证数据的真实性,而是直接替换本机ARP缓存表中192.168.0.1的MAC地址
同时,主机B向主机网关1发送一个arp响应,192.168.0.3 的MAC地址是03-03-03-03-03-03 同样网关不会去验证,直接放到自己的ARP缓存中
主机A和主机C通信时,主机A首先先检查自己的ARP缓存表中是否有网关的MAC地址,发现有缓存的MAC地址 03-03-03-03-03-03,直接向MAC地址发送数据
但这个MAC其实是主机B的,主机B接收到数据后再转发到真正的网关1,再由网关1转发给主机C

同理,当C返回给A数据时,网关一被ARP欺骗,数据发给了主机B,主机B再转发给A
数据都进过了主机B,就没有了什么秘密可言,这就是ARP欺骗

1.4 中间人攻击

ARP欺骗就是最常见的中间人攻击手段,常见的还有会话劫持DNS欺骗等,当然Burp Suite这样作为一个代理拦截并编辑HTTP请求也算是一个中间人攻击软件

2.ARP攻击

在攻击者入侵目标站点时,由于安全措施很到位,并不能获取权限,恰好服务器也只放了一个网站,无法旁注,这时攻击者就可能通过C段ARP嗅探攻击,C段攻击也可以看做是另类的”旁注”

所谓的C段攻击,就是指在同一网关下的主机ARP嗅探,在嗅探出敏感数据后,继续实施对目标网站的渗透。比如攻击者的目标网站服务器IP地址为192.168.1.8,无法直接渗透目标服务器时,攻击者就可能去入侵与192.168.1.8同一网关下的服务器,一般是192.168.1.xxx,也就是C段IP,在得到服务器权限后,对目标主机实施ARP嗅探攻击,一般嗅探敏感数据为FTP密码,Admin Pass等

2.1 通过arpspoof进行ARP欺骗

kali自带的arpspoof工具可以进行arp欺骗攻击,如果想要让狗室友上不了网而已,仅仅需要arpspoof -i eth0 -t 狗室友的ip 狗室友的网关,这样操作狗室友会断网,但是如果要进行arp欺骗,那么我们还需要在使用arpspoof之前开启网卡转发模式,在终端输入echo 1 > /proc/sys/net/ipv4/ip_forward 如此操作,狗室友的电脑依然可以上网,不过所有的数据都会进过我们的电脑进行转发

想要查看同一局域网内有几台设备可以使用fping,比如这台主机的IP为192.168.0.102,我们要查看局域网下还有哪些主机就要fping -g 192.168.0.0/24
这里写图片描述
在图中可以看到,在局域网中,不仅仅存在我的主机 192.168.0.102和网关 192.168.0.1 ,而且还存在另一台主机192.168.0.105 那么我们就可以对这台主机进行arp欺骗攻击

Linux里查询本机ip使用ifconfig, Win下使用ipconfig

下面实际操作一下:

让狗室友团战的时候断网难道有错吗?Arp攻击笔记_第1张图片
先查看一下靶机的arp列表
在kali上进行操作
让狗室友团战的时候断网难道有错吗?Arp攻击笔记_第2张图片
检查Win的ARP列表,我们发现ARP欺骗后,多了一条动态的地址,这个地址就是我们的Kali的地址,所以ARP欺骗成功,那么靶机的所有数据都会经过我们的攻击者主机
让狗室友团战的时候断网难道有错吗?Arp攻击笔记_第3张图片

我们对主机ARP欺骗成功后可以做很多事情,比如使用driftnet从别人的数据流量中截取图片

2.1.1 使用driftnet从别人的数据流量中截取图片

使用命令driftnet -i eth0
让狗室友团战的时候断网难道有错吗?Arp攻击笔记_第4张图片

2.1.2 使用ettercap进行密码抓取

在命令行模式下使用ettercap
ettercap -Tq -i eth0

然后我们对4399进行账号和密码的抓取
让狗室友团战的时候断网难道有错吗?Arp攻击笔记_第5张图片
但是这只是因为4399是http并非http
那么我们想要抓取HTTPS下的网页敏感数据,我们就要用到新工具sslstrip

SSLstrip 也叫 https 降级攻击,攻击者拦截用户流量后,欺骗用户与攻击者进行 http 通信,攻击者与服务器保持正常通信 (http 或 https),从而获取用户信息。

攻击原理
通过中间人攻击监听 http 流量(自己试验可以通过设置 http 代理)
更改重定向链接中的 location,替换 https 为 http,并记录
更改响应内容中的超链接,替换 https 为 http,并记录
与用户进行 http 通信,与服务器进行 https 通信(记录中本应是 https 的请求),从而明文获取用户信息

占坑

你可能感兴趣的:(Web安全知识点)