armitage攻击没有attack_数据链路层的攻击&防范

dd50f7fd8d68276c623bdeae0b24a34e.png 0x1:介绍

03a86c767cb4cbd1d6df844b3758be99.png

OSI国际组织定义的网络标准是如此,但是不是应用最为广泛的分层

TCP/IP四层是目前世界上应用最为广泛的协议(但也是基于七层进行了简化)

a3b6e4f9b5f894040404431400665c9b.png

下面的攻击&防范主要针对TCP/IP四层模型展开

0x2、数据链路层

一、网络嗅探(也可以叫中间人攻击)

利用计算机网络接口截获其他计算机数据报的手段,属于被动攻击

网络嗅探的工作原理与网卡的工作模式有关:

广播模式:网卡能接收所有的广播数据帧;

多播模式:网卡能接收所有的多播数据帧;

直接模式:网卡只接收目的地址与本机MAC地址匹配的数据帧;

混杂模式:网卡对数据帧中的地址不检查,接收流经网卡的全部数据帧;

常见的工具就是Wireshark(前称Ethereal)kali自带大部分用来分析使用

41c83c8847828323ec08cbb198c98f1e.png

同一局域网(无论是有线还是无线网络)如果要抓取其他设备的数据包,需要满足两个条件:

1、通过端口镜像或者ARP嗅探,成功将数据流引到自己的网卡;

2、嗅探网卡开启了混杂模式;

共享式以太网:

集线器、中继器:目前已经被淘汰

由于不需要MAC地址匹配所以能抓取局域网其他设备数据包

交换式以太网:

交换机中有MAC-PORT(mac地址和物理端口配对表),要进行MAC地址匹配

就算网卡设置成混杂模式,也只能看到发给自己的数据包

二、负载攻击

由于交换机不能阻止广播信息

利用广播信息形成广播风暴

三、MAC协议

介绍:

MAC协议全称Media Access CONtrol(媒体访问控制子层)

该协议位于OSI七层协议中数据链路层的下半部分

主要负责控制与连接物理层的物理介质

1、格式和特点

MAC协议可以实现单播、多播、广播

没有验证和加密的功能,只有FCS帧序列检测的功能

11381656defb578fa7268017a1ad7a35.png

2、MAC的攻击

(1)、基于头部的攻击--协议与标准冲突

目的地址改为广播地址、源地址和目的地址相同、数据字段大小不在46~1500之间

(2)、基于验证的攻击

计算机不会对收到的MAC的源地址进行校验,所以可以假冒别人

(3)、基于网络流量的攻击

会被流量嗅探、也会遭到负载攻击

四、ARP协议

介绍:

地址解析协议,即ARP(Address Resolution Protocol)

是根据IP地址获取物理地址的一个TCP/IP协议

1、格式和特点

广播请求(目的MAC地址全f,目的IP地址全1)单播应答

通信过程没有验证

0f24a0ad98a82f22ccdee970f27aed5f.png

2、ARP广播雪崩攻击

大量肉鸡发送ARP广播请求给目标网络主机

(可以一台主机伪造多个源地址||寻找多台目的地址||控制多台不同的主机)

导致网络设备发送大量的ARP广播请求在网络中寻找主机的MAC地址,消耗网络资源

3、ARP欺骗

主机不会验证自己是否发过ARP请求,也不会验证这个ARP应答是否可靠

ARP扫描攻击:

实际上是ARP攻击的准备,查找网络中存活的主机并获取他们的MAC和IP等信息

但由于要对每一台主机都发送正常的ARP请求,还是会消耗很多的网络资源

ARP中间人攻击:

在扫描获取网络中主机的信息后,攻击者同时向通信双方发送ARP响应

伪造信息告诉对方自己是他们的目标MAC

ARP断网攻击:

当被攻击网络中受害机想连通外网(不同网段)时,攻击机向受害机发送ARP响应

告诉对方一个错误的网关MAC地址导致上不了网

这个“错误的网络MAC地址”是攻击者自己的时候,就是中间人攻击了

不过此时攻击者只能监听到受害机和外网(不同网段)的通信

当攻击者收到受害机发来的信息但不转发出去的话,就也是断网攻击

4、ARP欺骗的防护措施

在交换机上配置静态的ARP表,连接交换机时要进行手动去绑定

也可以使用具有ARP防护功能的路由器

五、MAC泛洪攻击演示

攻击原理:

交换机中存在着一张记录着MAC地址的表,为了完成数据的快速转发,该表具有自动学习机制

泛洪攻击即是攻击者利用这种学习机制不断发送不同的MAC地址给交换机

充满整个MAC表,此时交换机只能进行数据广播,攻击者凭此获得信息

实验环境:

kali+PC1+FTPserver

使用工具:

macof(kali2020不自带需安装)+Wireshark(kali2020自带)

攻击思路:

使用kali攻击使MAC地址表被填满,之后所有的流量就会以广播,再进行嗅探

1

#安装(macof是Dsniff套装工具集的成员)

2

sudo apt install dsniff

3

#使用

4

macof [-i interface] [-s src] [-d dst] [-e tha] [-x sport] [-y dport] [-n times]

5

-i interface指定要发送的接口。

6

-s src指定源IP地址。

7

-d dst指定目标IP地址。

8

-e 指定目标硬件地址。

9

-x sport指定TCP源端口。

10

-y dport指定TCP目标端口。

11

-n times指定要发送的数据包数。

第一步:kali中开启Wireshark抓包准备

65163eea569e3f77409ef5abde2a6cb0.png

第二部:PC1登陆FTP准备

1c670860a467340abc610a31f2b00f7b.png

第二步:kali中使用macof发送大量数据包

1

sudo macof -i ech0

888aa757da39c677e6c6e3d1832a6533.png

第三步:开启wireshark监听

9e66ee7aa8632b776079c2f78c5773c8.png

第四步:PC1登陆FTPserver,停止抓包查看明文数据

f5f0876d598d57c22f6a2e39e444e6f6.png

总结:

实际中很难实现,因为主机的MAC地址和对应端口已经记录在交换机的MAC表中

而交换机的MAC表是在内存中记载着

由于交换机的机制(一个端口可以对应多个MAC地址)限制

很难去覆盖原来的MAC表,这里仅供原理参考(基本不去利用)

六、ARP欺骗攻击演示

攻击原理:

主机A广播ARP请求,询问IP地址为192.168.239.x的主机的MAC地址

192.168.239.x的主机收到广播帧,发出ARP应答

告诉主机A自己是192.168.239.x,MAC地址是aa:aa:aa:aa:aa:aa

单向ARP欺骗多用于恶意断网,而双向的ARP欺骗就能达到隐蔽的中间人的效果

实验环境:

1

kali(attack)IP(192.168.239.128)MAC(00:0c:29:c3:02:fa)

2

 

3

kali的克隆(client)IP(192.168.239.136)MAC(00:0c:29:12:11:eb)

4

 

5

window 10(client)IP(192.168.239.1)MAC(00-50-56-C0-00-08)

攻击思路:

kali(attack)向kali的克隆(client)发送一条ARP 数据包,window 10(client)为:的地址是AA:BB:CC:DD:EE:FF  其实MAC地址是kali(attack)自己的地址。也就是说,kali(attack) 对 kali的克隆(client)说:我才是window 10(client),于是kali的克隆(client) 把向c发送的数据都发给kali(attack)了,kali(attack)得到数据后就可以为所欲为了,可以直接丢弃,那么通讯中断,如果同时也欺骗window 10(client),kali(attack)进行转发给window 10(client),那么形成回路,kali(attack)当了个中间人,监视kali的克隆(client)和window 10(client)的通信

1

#arpspoof也是dsniff的一个组件

2

#使用

3

arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

4

-i 用来指定网卡名称,可以使用ifconfig命令来查看网卡名称。

5

-c 用来恢复受害者主机的ARP缓存表。

6

-t 用来指定目标主机即受害者IP。

7

host:将要伪装的主机IP。

8

-r 使用该选项代表双向欺骗。

9

#这里也可以使用科来数据包生成器来进行欺骗攻击下载地址:

10

http://www.colasoft.com.cn/download/packet-builder.php

第一步:查看arp缓存表

kali(attack)

766b0aa7b313658847ea268a464687bf.png

kali的克隆(client)

a5a989ab690f05c93ca0265cb76fe807.png

window 10(client)

c2cdf526089b66c3a2ed4bc7fd09ab27.png

第二步:kali(attack)开启wireshark

f6b113e79a49895fe51367a65c88d81b.png

第三步:kali(attack)实施双向欺骗

先在kali(attack)中开启端口转发功能

1

echo 1 >/proc/sys/net/ipv4/ip_forward

2

cat /proc/sys/net/ipv4/ip_forward

3

#这里只是临时生效,重启即失效

4

#开启IP转发后 流量会经过kali(attack)的主机而后再去到目标所以这时开启arpspoof

5

#那么目标就不会断网,因为流量通过了kali(attack)主机那么我们就可以拦截相关数据

6

sudo arpspoof -t 192.168.239.136 192.168.239.1 -i eth0 -c own

7

#如果-c参数为own,在退出时使用本机MAC地址作为以太网头部的SRC

8

#发送给受害者主机以恢复其ARP缓存表,即告诉受害者主机正确的网关MAC地址

87b91239d5d5faf3995128cd1718980c.png

查看window 10(client)和kali的克隆(client)的ARP缓存表

0c42dc15e646ae48460e8ae5e7ccbc24.png

window ARP缓存更新有点慢(可以使用arp -d清理一下缓存表)

118ce94563af1455ccefa1493d323bb8.png

第四步:数据包查看分析

cd2403064dfaa19a26172bf29ceb4857.png

第五步:密码嗅探和窃取图片

1

#密码嗅探

2

sudo ettercap -Tq -i eth0

bf036e328ab2761fa0f017c90fa60934.png   

4ebb67b61b09640d13a90e16dd59ef5b.png

1

#窃取图片

2

#kali 2020不自带需要安装

3

sudo apt-get install driftnet -y

4

sudo driftnet -i eth0

ae440f355c2f0bde621cc241683fd794.png

总结:

arp欺骗攻击由于利用简单,实现较为容易

此种攻击方式有一定的历史和发展演变

虽然对arp欺骗的欺骗原理有着清晰的认识

但是对于当前多种多样的关于arp攻击的防御方案的研究却是任重而道远

七、ARP欺骗防御

1、设置静态的arp缓存

  • 使用arp -s命令添加静态arp缓存记录

  • 若攻击者向主机发送arp应答报文,目标机接收报文后并不会刷新arp缓存表

但存在着以下局限性:

  • a:需要网络管理员手动设定静态arp缓存,这无疑增加了网管员的工作量,而且不够灵活较为刻板。当主机自动获取到另一个ip地址或者更换新的网卡后,网络管理员不得不重新设定ip-mac绑定

  • b:攻击者可以对arp病毒进行优化,通过相应的代码,破坏网络管理员在各种终端设备上所做的ip-mac绑定

  • c:arp静态缓存的主要作用是使相关的主机与路由对于有关的arp数据包不予理会,但攻击者仍然可以通过泛洪的方式发出数据包,这样就会造成内网拥塞,影响数据的正常传输

2、使用arp服务器

  • 在arp服务器中保存局域网服务器中各主机的ip地址和mac地址的映射信息

  • 同时禁用各主机的arp应答,保留服务器对arp请求的应答

  • 它的致命缺点就是一定要保证arp服务器的安全

  • 不然arp服务器一旦被攻陷,后果不堪设想

3、划分虚拟局域网(vlan)和端口绑定

  • 根据arp欺骗不会发生跨网段攻击的特点,可以将网络划分为多个网段

  • 优点就是能缩小arp欺骗的攻击范围,缺点是不够灵活,不能避免网关遭受攻击

  • 如果网关沦陷,同样会造成大面积的掉线和网络瘫痪

  • 这种方法也会大幅度增加网络设备的成本

4、删除windows系统中的npptools.dll动态连接库

  • 主要原因是因为它容易受到arp欺骗病毒的攻击

  • 方法是在安全模式下,删除windows\system32\npptools.dll文件

  • 然后新建一个零字节的文件,保存模式为只读模式,以免被覆盖

5、采用arp防火墙

  • 现在很多杀毒软件制造商都设计出了个人主机端的arp防火墙模块

  • 该模块也是通过绑定主机和网关等其他方式,来避免遭受攻击者所冒充的家网关攻击

  • 在一定程度上可以防御arp欺骗攻击

6、对数据包进行加密处理

  • 在arp攻击中,攻击者可以截获两台主机之间的数据包

  • 里面可能包含了我们的用户名密码等一些隐私的信息

  • 那么我们可以通过对这些数据进行加密处理

  • 这样即便是攻击者拿到数据,也难以阅读,修改其内容

近期持续更新,网络协议的攻击文章,欢迎关注

声明: 如需转载,请联系作者 请勿利用文章内的相关技术从事非法测试 如因此产生一切不良后果与文章作者和本公众号无关

4b7e25ea2dc76f78196ba8c621ccfb93.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值