参考文章:
事情的起因是某黑奴实习生要被调到规则组做协议攻击的流量包,所以菜鸡被迫周末疯狂加班学习T_T
IP协议:IP源地址欺骗攻击
原理
客户端(kali)基于tcp第一次握手,给服务器端(centos)发送了大量标记位为SYN的包。 服务器端收到来自客户端的syn包后,对源ip返回标记位为syn_ack的包,这是第二次握手。 由于源ip是伪造的,所以返回的syn_ack包发送不到正确的地方,更不要说得到回应了。所以服务器端一直是SYN-RCVD阶段。
实验环境
靶机:centos 7 192.168.23.131
攻击机:kali linux 2021.4a 192.168.23.130
网络拓扑环境:攻击机和靶机处于同一内网。
步骤
攻击机伪造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.23.131"
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
可以看到这里监听到的是114.114.114.114一直在发送数据,而不是正确的攻击机ip,说明伪装源ip成功。
因为靶机一直是syn-rcvd
端,占用线程,所以如果伪造ip发送大量的包。影响其他正常用户的访问,就可以造成dos攻击
ARP协议: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。
因为只欺骗其中一方,所以也叫单向欺骗。
arpspoof -i wlo1 -t 192.168.23.131 192.168.23.134
攻击机欺骗192.168.23.131这台主机,说我是192.168.23.134
第二种攻击方式是arp嗅探。c把ab双方都欺骗了,ab之间的通信都经过c,于是ab的通信内容被c窃取了
实验环境
靶机A:centos7 192.168.23.131
靶机:ubuntu 192.168.23.134
攻击机:kali 192.168.23.130
网络拓扑环境:攻击机和靶机处于同一内网。
步骤
首先centos7靶机看一下arp缓存表
arp -a
发现Ubuntu 192.168.23.134的mac地址是00:0c:29:86:5e:0b,kali 192.168.23.130的mac地址是00:0c:29:c5:36:a8
然后,kali上使用ettercap
进行中间人欺骗
ettercap -i eth0 -Tq -M arp:remote /192.168.23.131// /192.168.23.134//
后面跟的是要攻击的两个IP,伪装成后者去攻击前者
此时我们去看centos7的缓存表
发现kali的mac地址变成了和Ubuntu一样的地址,Ubuntu看一下同样也是变成了centos7的
两个靶机都已经把kali当作了对方
此时kali另开一个终端,开启ip转发功能, 将0改为1
echo 1 > /proc/sys/net/ipv4/ip_forward
kali本地监听eth0网卡
ettercap -Tq -i eth0
这样当两台靶机之间通信时,kali就可以监听到信息。比如centos7 ping一下Ubuntu
就可以在kali看到。
ICMP协议:ICMP重定向攻击
原理
ICMP路由重定向攻击(ICMPRedirectAttack)是指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。
实验环境
靶机:centos 192.168.23.131
攻击机:kali 192.168.23.130
步骤
查看centos7的路由表
route -n
可以看到正常的网关地址是192.168.23.2
inux系统中,默认不接受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
这里注意下是哪个网卡,改好以后kali使用netwox中86号模块发起ICMP路由重定向攻击
netwox 86 -g 192.168.23.130 -i 192.168.23.2
-g伪造路由ip(kali ip)
-i原路由ip
然后用centos去 ping一下百度,可以看到已经重定向了
正常的ping百度是这样的
TCP协议:SYN Flood攻击
原理
TCPSYNFlood,又称SYN洪泛攻击,是目前最为有效和流行的一种拒绝服务攻击形式。它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。
环境
靶机:centos 192.168.23.131
攻击机:kali 192.168.23.130
步骤
Kali向centos 的22端口发起syn flood攻击 首先,centos7中查看当前22端口连接信息
netstat -ant|grep 22
然后kali对centos的22端口发起syn flood攻击
netwox 76 -i 192.168.23.131 -p 22
此时Centos7查看22端口的tcp流量,发现有大量SYN_RECV
状态的包
UDP协议:UDP Flood攻击
原理
由于UDP协议的无状态不可靠的天然特性,UDP Flood拒绝服务攻击的原理非常简单,即通过向目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升,或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。
环境
靶机:centos 192.168.23.131
攻击机:kali 192.168.23.130
步骤
Kali向centos7发起udp flood攻击,并使用tcpdump进行分析
1.Centos开启对udp 22端口的监听
tcpdump -i ens33 udp port 22
2.kali向centos的22端口发起udp flood攻击
hping3 --udp -p 22 192.168.23.131
此时centos7监听到大量UDP包
进一步升级攻击,使用工具自带的随机源地址参数进行源地址欺骗udp flood攻击
hping3 --udp -p 22 192.168.23.131 --flood --rand-source
此时centos7上可以监听到大量来自随机地址的udp流量
DNS协议:DNS劫持攻击
原理
DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用记住IP地址。DNS协议运行在UDP协议之上,使用端口号53,DNS并不包含任何认证机制,因此第三方可以对DNS数据包进行伪造。
DNS缓存攻击是通过欺骗域名服务器的缓存条目(即:域名到ip地址的映射)。当目标计算机访问被欺骗的域名时,会把域名转发到一个被我们伪装的站点下。而访问者却并不知道访问的是一个假网站。
当计算机要访问本地或者Internet上的站点时,操作系统首先需要知道该站点的确切IP。但是记住ip是一件困难的事情,所以基本上每个站点都有一个域名。而计算机去访问站点的时候如果拿到的是域名,那么去寻找网络中的一台DNS 服务器,通过该域名服务器提供的域名解析服务将域名转换为真实的ip地址再进行访问大概的流程如下:
可以看到nslookup将github.com翻译为20.205.243.166。如果本地DNS服务器缓存中具有这个地址的条目,它便把正确的ip地址返回给查询终端。如果它的缓存条目里没有这条记录,它将联系Iternet上的DNS服务器寻找相应的地址信息。最终目的在用户不需要知道ip地址的情况下正确的通过URL地址来访问github.com
环境
靶机:centos7 192.168.23.131
攻击机:kali 192.168.23.130
步骤
DNS攻击:就是发送一堆DNS域名指向错误的服务器地址。
首先我们在kali启动一个httpd服务,我们稍后会将靶机的访问解析到这个页面
/etc/init.d/apache2 start
攻击机做一个ip转发
echo 1 > /proc/sys/net/ipv4/ip_forward
然后再开个终端做靶机和网关之间的流量劫持
arpspoof -i eth0 -t 192.168.23.131 192.168.23.2
arpspoof -i eth0 -t 192.168.23.2 192.168.23.131
接下来我们将github.com指向这个页面的地址
dnsspoof -i eth0 -f hosts.txt
靶机去ping github.com
可以看到这个域名已经被解析到了我们的攻击机上,我们再访问下试试
ok,劫持成功。
周末太懒了随便整了俩就收工了(黑奴实习生の休息日)