华中科技大学2024年网络空间安全学院TCP协议漏洞利用(SYN flood、RST、会话劫持(反向shell)实验)

实验参考

 上面的链接文章对于实验的多种实现方式(netwox工具、scapy脚本以及c语言的攻击实现)都有介绍,本文主要针对实验环境和步骤细节进行补充,所以所有的攻击只使用netwox工具实现。预祝大家实验顺利,顺利AC。

目录

常用命令

实验一:TCP SYN flood攻击实验

实验环境介绍

攻击过程

实验二:TCP RST攻击实验

实验环境介绍

攻击过程

实验三:TCP会话劫持攻击实验

实验环境介绍

攻击过程


常用命令

# 启用docker容器

sudo docker exec -it $username$ /bin/bash

# 重启docker容器

sudo docker restart $username$

# 重启telnet服务

/etc/init.d/openbsd-inetd restart

# 查看TCP SYN队列大小

sysctl -q net.ipv4.tcp_max_syn_backlog

# 查看内核重传次数

sysctl -q net.ipv4.tcp_synack_retries

# 查看syn cookies 开启状态

sysctl -q net.ipv4.tcp_syncookies

# 修改TCP SYN队列大小

sysctl -w net.ipv4.tcp_max_syn_backlog=n

# 修改内核重传次数

sysctl -w net.ipv4.tcp_synack_retries=n

# 修改syn cookies 开启状态

sysctl -w net.ipv4.tcp_syncookies=0||1 # 0 : 关闭 1 : 开启

# 开启wireshark

sudo wireshark # 注意一定要sudo权限开启wireshark,否则看不到docker0接口的流量






实验一:TCP SYN flood攻击实验

实验环境介绍

实验有3个docker容器,分别为user(作为初始连接,IP 172.17.0.2),server(作为服务器和被攻击对象,IP 172.17.0.3),user2(作为攻击成功后的验证连接,IP 172.17.0.4),虚拟机本身(作为攻击者,IP 172.17.0.1),其中虚拟机开启后默认开启所有的docker,server默认开启telnet服务,登录用户名root,密码123456,并且默认开启tcp syn cookies。虚拟机开机密码:123456,串行控制台登录用户名:ubuntu

攻击过程

  • 为了保证攻击成功,建议设置TCP的队列大小为128,重传次数10,并且关闭cookies,重启telnet服务,具体的命令见常用命令。

  • 使用user连接server验证连接有效

  • 在虚拟机上使用netwox发起攻击
sudo netwox 76 -i 172.17.0.3 -p 23
  • 等待一段时间后,使用user2尝试连接server,如果失败则攻击成功,如果连接成功则攻击失败,攻击失败后建议重启所有容器(按照user server  user2 顺序重启,否则IP更改影响自动化测评)重新尝试实验。

  • 攻击成功后,不要关闭netwox或自己的攻击脚本,直接点击提交即可。

实验二:TCP RST攻击实验

实验环境介绍

实验环境中有2个docker容器,分别是user,IP172.17.0.2和server,IP172.17.0.3,其中user作为连接server的正常用户,server作为受害者,虚拟机本身IP172.17.0.1作为攻击者,虚拟机默认开启两个docker,server默认开启telnet服务,登录用户名root,密码123456.这里的攻击不建议使用手动单次攻击,单次攻击行为难以判定,平台没有实现对于单次攻击的自动化评测,所以建议使用netwox进行自动化攻击,或者使用scapy脚本循环发起攻击。

攻击过程

  • 首先使用user连接server验证可以连接成功

  • 在虚拟机上使用netwox发动攻击
sudo netwox 78 -d docker0
  • 原user发起的连接被动断开

  • 保持攻击状态不变,点击提交。
  • 再次在user上尝试进行连接失败

实验三:TCP会话劫持攻击实验

会话劫持实验是反向shell的基础,这里只演示反向shell实验。

实验环境介绍

实验环境中有2个docker容器,分别是user,IP172.17.0.2和server,IP172.17.0.3,其中user作为连接server的正常用户,server作为受害者,虚拟机本身IP172.17.0.1作为攻击者,虚拟机默认开启两个docker,server默认开启telnet服务,登录用户名root,密码123456.这里的攻击需要使用到wireshark,注意使用命令行启动

攻击过程

  • 打开wireshark,选择docker0接口进行流量抓包。参考命令见常用命令。
  • 使用user连接server,并进行任意通信。

  • 在虚拟机(攻击者)中开启反向shell监听
sudo nc -lvp 4567 -s 172.17.0.1
  • 查看wireshark user与server通信的最后一个user发出且没有server回应的报文,获取端口号/seq/ack等关键信息

  • 使用netwox发起攻击

  • 原监听程序能控制server,攻击成功.

  • 保持会话,点击提交。
  • 35
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值