飞道的博客

协议攻击(一)

451人阅读  评论(0)

1.IP源地址欺骗攻击(dos攻击)

原理

客户端(kali)基于tcp第一次握手,给服务器端(centos)发送了大量标记位为SYN的包。
服务器端收到来自客户端的syn包后,对源ip返回标记位为syn_ack的包,这是第二次握手。
由于源ip是伪造的,所以返回的syn_ack包发送不到正确的地方,更不要说得到回应了。所以服务器端一直是SYN-RCVD阶段。

实验环境

靶机:centos 7 192.168.0.120
攻击机:kali linux 2020 192.168.0.118
网络拓扑环境:攻击机和靶机处于同一内网。

步骤

攻击机 伪造ip,发送包

netwox 52 -E "0:1:2:3:4:5" -I "114.114.114.114" -e "00:0c:29:83:36:d7" -i "192.168.0.120"


Netwox 52 使用netwox 的52号模块进行IP源地址欺骗;
-E伪造的mac地址;
-I伪造的ip地址,这里将ip地址伪装成114.114.114.114;
-e一些资料说是目标mac地址,但是随便输入一个mac地址也可以;
-i目标ip地址。

靶机 开启服务,监听端口
开启apache服务,然后使用tcpdump监听80端口

systemctl start httpd
tcpdump -i ens33 tcp port 80 -n -nn

为了监听80端口,所以这里开启apache服务
ens33 是你要开启监听的网卡,可以用ip a(或ifconfig)查看

这里centos监听到是114.114.114.114在发送数据,而不是攻击机的ip。说明伪装源ip成功

因为靶机一直是syn-rcvd端,占用线程,所以如果伪造ip发送大量的包。影响其他正常用户的访问,就可以造成dos攻击

1.2 dos攻击

攻击机 kali
通过netwox的76模块对IP为192.168.0.120的80端口进行syn泛洪攻击

netwox 76 -i 192.168.0.120 -p 80    

使用ctrl+z停止攻击

靶机 开启监听

tcpdump -i ens33 tcp port 80 -n -nn

2.ARP欺骗中间人攻击

原理

ARP协议在设计时认为局域网内部的所有用户都是可信的,当攻击者渗透进入内网后,通过向局域网内节点缓存中注入伪造的IP/MAC映射关系,从而进行欺骗,成为局域网内的中间人节点,即可以监听并进一步篡改数据包。

简单来说,a广播ARP请求,询问IP地址为192.168.0.122的主机b的MAC地址。c收到广播帧,发出ARP应答,告诉a自己是192.168.0.122,MAC地址是cc:cc:cc:cc:cc:cc。(之后,a发给b的所有流量都会发给c)

再通俗点讲,就是a想与b通信,a就在通讯录(arp缓存表)里找b的联系方式。但是c已经提前把通信录改了,将b的联系方式换成自己的。所以a发给b的消息其实都是发给c。

一般有两种攻击方式:
一种是断网攻击。c只欺骗ab中的某一方,一般是ab另某一方是网关的情况下。比如a是网关,c欺骗了b。b以为是在和网关a在通信,实际上b是在与c通信,于是b联系不上网关,导致断网。

因为只欺骗其中一方,所以也叫单向欺骗。

arpspoof -i wlo1 -t 192.168.0.120         192.168.0.122

攻击机欺骗192.168.0.120这台主机,说我是192.168.0.122

第二种攻击方式是arp嗅探。c把ab双方都欺骗了,ab之间的通信都经过c,于是ab的通信内容被c窃取了

实验环境

靶机:centos 192.168.0.120
靶机:ubuntu 192.168.0.122
攻击机:kali 192.168.0.118
网络拓扑环境:攻击机和靶机处于同一内网。

步骤

首先,靶机查看arp缓存表,这里以centos为例

Arp -a


发现
ubuntu 192.168.0.122 的mac地址是00:0c:29:c2:35:04
kali 192.168.0.118 的mac地址是 00:0c:29:4d:43:00

然后,kali上使用ettercap进行中间人欺骗

ettercap -i eth0 -Tq -M arp:remote /192.168.0.120// /192.168.0.122//

192.168.0.120 、192.168.0.122是要欺骗的两个ip
此时,centos上再查看arp缓存表,发现,kali与ubuntu的mac地址一样了


当然,在ubuntu上面,发现kali与centos的mac地址一样

两个靶机都已经把kali当作了对方
此时kali另开一个终端,开启ip转发功能, 将0改为1

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


Kali 监听本地eth0网卡

ettercap -Tq -i eth0


当centos与ubuntu传输信息的时候,kali就能监听到信息

可供参考的资料

https://www.freebuf.com/articles/network/207238.html

3.ICMP重定向攻击和防御

原理

ICMP路由重定向攻击(ICMPRedirectAttack)是指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。

实验环境

靶机:centos 192.168.0.120
攻击机:kali 192.168.0.118

步骤

查看centos中的路由表:

route –C -n

可以看到正常网关地址是102.168.0.1
linux系统中,默认不接受ICMP重定向报文。所以应该将0设置为1,就可进行ICMP重定向攻击。

echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 > /proc/sys/net/ipv4/conf/ens33/accept_redirects
echo 1 > /proc/sys/net/ipv4/conf/default/accept_redirects

这里要注意网卡是eth0还是ens33

使用netwox中86号模块发起ICMP路由重定向攻击

netwox 86 -g 192.168.0.118 -i 192.168.0.1
-g伪造路由ip(kali ip)  
-i原路由ip


然后用centos去 ping一下百度
可以看到已经重定向了

对照一下这是正常情况下ping百度的场景

4.TCP协议RST攻击

原理

TCPRST攻击中,攻击主机kali可以通过嗅探方式监视通信双方win7和centos7之间的TCP连接,在获得源、目标IP地址及端口,以及序列号之后,就可以结合IP源地址欺骗技术伪装成通信一方,发送TCP重置报文给通信另一方,在确保端口号一致及序列号落入TCP窗口之内的情况下,即可直接关闭这个TCP连接,造成通信双方正常网络通信的中断,达到拒绝服务的效果。

环境

靶机:ubuntu 192.168.0.122
靶机:centos 192.168.0.120
攻击机:kali 192.168.0.118

步骤

ubuntu 使用nc开启一个端口监听(这里监听12345端口)

nc -lp 12345

Centos 使用telnet远程连接ubuntu的12345端口

telnet 192.168.0.122 12345


然后输入12,123(随便输入什么内容都行)

发现ubuntu这里也同步监听输出了12,123。说明tcp连接成功

然后Kali启用netwox 78模块进行tcp rst攻击

netwox 78 -i 192.168.0.120

此时centos再发送一个数据(这里是1)过去,两者就断开了连接

(这里kali伪装成centos 192.168.0.120 给 ubuntu 192.168.0.122发送了一个rst包,然后ubuntu认为centos要终止连接,便断开连接。)

5.SYN Flood攻击

原理

TCPSYNFlood,又称SYN洪泛攻击,是目前最为有效和流行的一种拒绝服务攻击形式。它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。

环境

靶机:centos 192.168.0.120
攻击机:kali 192.168.0.118

步骤

Kali向centos 的22端口发起syn flood攻击
首先,centos7中查看当前22端口连接信息

Netstat -an|grep 22


然后kali对centos的22端口发起syn flood攻击

netwox 76 -i 192.168.0.120 -p 22


此时Centos7查看22端口的tcp流量,发现有大量SYN_RECV状态的包


转载:https://blog.csdn.net/weixin_45663905/article/details/108811904
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场