TCP/IP Attack Lab

网络拓扑:

Task 1: SYN Flooding Attack

  1. 收到攻击之前,在Victim主机查看网络连接的状态:

在攻击之前使用User1主机(10.9.0.6)访问Victim(10.9.0.5)主机的

  1. Telnet服务:

Task 1.1: Launching the Attack Using Python

  1. 在Atacker上建立文件attack-1.py,文件内容如图所示:

  1. 添加执行权限:

在Attacker主机上使用该程序进行攻击,在Victim主机上再次使用netstat -nat命令

  1. 查看网络连接状态发现大量SYN_RECV连接:

4.在User2主机上访问Victim(10.9.0.5)的Telnet服务:

刚开始以为访问超时。

但是经过一段时间之后还是建立了连接:

多次尝试,均不成功。

通过上网查阅资料可知,这个过程是不太可能成功的:

因为该过程中Victim发送的SYN+ACK包被网关收到后会发送RST包给Victim,之后Victim会清除队列里的对应项。所以这就导致只有脚本发送数据包的速度足够快该实验才能成功。C语言的速度足够快,是可以成功的,但是Python脚本发送数据包的速度太慢了,所以不足以成功。

Task 1.2: Launch the Attack Using C

  1. 在虚拟机上编译synflood程序:

  1. 在Attacker主机上使用该程序进行攻击:

  1. 在Victim主机上再次使用netstat -nat命令查看网络连接状态发现大量SYN_RECV连接:

在User2主机上访问Victim(10.9.0.5)的

  1. Telnet服务:

发现访问超时。

Please compare the results with the one using the Python program, and explain the reason behind the difference

因为该过程中Victim发送的SYN+ACK包被网关收到后会发送RST包给Victim,之后Victim会清除队列里的对应项。所以这就导致只有脚本发送数据包的速度足够快该实验才能成功。C的速度足够快可以成功,但是Python脚本发送数据包的速度太慢了,所以不足以成功。

Task 1.3: Enable the SYN Cookie Countermeasure

1.启用syncookie保护,将docker-compose.yaml文件中的对应项进行修改,如下所示:

2.在dcup窗口按Ctrl+C停止所有容器:

3.再次dcup就可以重新创建容器

使其生效:

4.在Attacker主机上使用synflood程序进行攻击:

  1. 在User2主机上访问Victim(10.9.0.5)的Telnet服务:

发现在攻击期间,即使使用ip tcp_metrics flush命令清空记忆,User2也可以建立连接。

综上所述,通过执行以上操作,我们完成了SYN Flooding Attack任务。

Task 2: TCP RST Attacks on telnet Connections

攻击脚本:

  1. 开启wireshark监听网卡:

  1. 在User1(10.9.0.6)上发起对Victim(10.9.0.5)的telnet连接:

3.在wireshark上方输入过滤条件:

 `tcp.dstport==23&&ip.dst==10.9.0.5.:

4.找到User1发送的最后一个包的ACK,可以发现源端口号、seq、ack:

5.然后将端口号和seq以及ack号填入脚本:

之后在Atacker主机上发起攻击,

  1. 此时在User1主机上发现连接已经断开了:

7.Wireshark显示如下:

综上所述,通过执行以上操作,我们完成了TCP RST Attacks on telnet Connections任务。

Task 3: TCP Session Hijacking

攻击脚本:

  1. 在用户机上telnet Victim:

  1. wireshark监听查看srcport、seq、ack:

填写攻击脚本,

  1. 如下所示:

  1. Attacker 开始攻击:

  1. 在Victim(10.9.0.5)上查看效果:

Wireshark

  1. 捕获结果:

综上所述,通过执行以上操作,我们完成了Task 3: TCP Session Hijacking任务。

Task 4: Creating Reverse Shell using TCP Session Hijacking

  1. 开启wireshark监听telnet连接 (其余步骤和task3相同,不再赘述)

  1. 填写攻击脚本:

  1. 在Attacker主机上攻击:

  1. 可以看到在Attacker主机(10.9.0.1)上有了和Victim的连接,成功拿到shell:

重复上述过程,

  1. 只是这次将配置文件修改如下:

  1. 可以看到在User2主机(10.9.0.7)上有了和Victim的连接,成功拿到shell:

综上所述,通过执行以上操作,我们完成了Creating Reverse Shell using TCP Session Hijacking 任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VictoriaMetrics 中文教程(10)集群版介绍

VictoriaMetrics 中文教程系列文章: VictoriaMetrics 中文教程(01)简介VictoriaMetrics 中文教程(02)安装VictoriaMetrics 中文教程(03)如何配置 Prometheus 使其把数据远程写入 VictoriaMetri…

深度学习(五):语音处理领域的创新引擎(5/10)

一、深度学习在语音处理中的崛起 在语音处理领域,传统方法如谱减法、维纳滤波等在处理复杂语音信号时存在诸多局限性。这些方法通常假设噪声是平稳的,但实际噪声往往是非平稳的,导致噪声估计不准确。同时,为了去除噪声&#xff0…

https和http的区别,及HTTPS的工作流程

HTTP(HyperText Transfer Protocol)和HTTPS(HyperText Transfer Protocol Secure)都是超文本传输协议,但它们之间的关键区别在于安全性。 安全性: HTTP:数据以明文传输,没有加密&…

阿里云 SAE 应用引擎可观测性最佳实践

SAE 简介 Serverless 应用引擎 SAE(Serverless App Engine)是一款零代码改造、极简易用、自适应弹性的应用全托管平台。SAE 能够让用户免运维 IaaS 和 Kubernetes,秒级完成从源代码、代码包、Docker 镜像部署任意语言的在线应用(…

Windows环境 ffmpeg 命令使用介绍

记录一下纯命令操作ffmpeg的用法! 目录 一、FFmpeg查询命令帮助文档 1.ffmpeg、ffplay、ffprobe的区别 2.ffmpeg命令查看帮助文档 3.ffplay命令查看帮助文档 4.ffprobe命令查看帮助文档 二、FFmpeg音视频处理流程 三、FFmpeg命令分类查询 1.命令参数 2.查看…

深入理解Java虚拟机(五)

介绍垃圾收集器的算法及引用详解 1、引用计数器 引用计数器在对象中添加一个引用计数器,当一个地方引用的时候,计数器1,当引用失效时,计数器值就-1。 但是在Java里面存在对象循环引用:objA 和 objB都有字段instance…

Linux系统操作篇 one -文件指令及文件知识铺垫

Linux操作系统入门-系统篇 前言 Linux操作系统与Windows和MacOS这些系统不同,Linux是黑屏的操作系统,操作方式使用的是指令和代码行来进行,因此相对于Windows和MacOS这些带有图形化界面的系统,Linux的入门门槛和上手程度要更高&…

PostgreSQL的奥秘:表结构、TOAST与大对象

PostgreSQL(以下简称PSQL)因其灵活性和强大的功能深受欢迎。本文将详细介绍PSQL的内部结构,特别是页面缓冲机制,包括表结构、TOAST技术、大对象(BLOB/CLOB),以及页面缓冲表的工作原理。同时&…

SQL Server 可观测最佳实践

SQL Server 简介 SQL Server 是微软公司开发的一款关系数据库管理系统,支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。它支持多种操作系统平台,而无论是物理还是虚拟形式,自建部署环境还是在云环境中,运行的操作系…

MySQL8 安装配置及卸载教程

MySQL8 安装配置及卸载教程 0 卸载 MySQL 如果之前没安过 MySQL ,或者卸载干净了不用看这个。 如果安装中出现以下问题,有可能是为之前安装 MySQL 不成功,有残留的安装程序等文件程序或者是卸载 MySQL 不成功。 0.1 停止服务 首先进入服务…

大数据-194 数据挖掘 机器学习理论 有监督、无监督、半监督、强化学习

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

Java最全面试题->数据库/中间件->KafKa面试题

文章目录 KafKaKafka中的ISR、AR代表什么?ISR的伸缩指什么?kafka中的broker 是干什么的?kafka中的 zookeeper 起到什么作用?kafka follower如何与leader同步数据?kafka 为什么那么快?kafka producer如何优化打入速度?kafka producer发送数据,ack为0,1,-1分别是什么意…

兼容Lodash的真正替代者

大家好,我是农村程序员,独立开发者,前端之虎陈随易。 这是我的个人网站:https://chensuiyi.me,欢迎一起交朋友~ 今天给大家分享一个前端工具库 Lodash 的替代品 es-toolkit。 仓库地址:https://github.com…

鼠标增强工具 MousePlus v5.3.9.0 中文绿色版

MousePlus 是一款功能强大的鼠标增强工具,它可以帮助用户提高鼠标操作效率和精准度。该软件可以自定义鼠标的各种功能和行为,让用户根据自己的习惯和需求来调整鼠标的表现。 详细功能 自定义鼠标按钮功能:可以为鼠标的各个按钮设置不同的功能…

基于SpringBoot+Vue+MySQL的中药材进存销管理系统

系统展示 系统背景 中药材在医疗保健领域具有重要地位,随着中药材市场的不断发展,对中药材的进存销管理提出了更高的要求。传统的管理方式效率低下,容易出现错误和漏洞,无法满足快速发展的市场需求。因此,开发一套集成…

Nginx+Tomcat 动静分离

1. NginxTomcat 环境 Nginx 处理静态资源的优势同样可以应用在 Tomcat 环境中 。从实现方法上来说,NginxTomcat 环境的搭建思路与前面完成的 NginxApache 环境是完全相同的,只需要将 Nginx 与 Tomcat 的站点文档目录配置到同一目录下,利用 N…

npm安装过程的问题

报错信息C:\Users\lyyds>npm list -global npm error code ENOENT npm error syscall lstat npm error path D:\nodejs\node_global npm error errno -4058 npm error enoent ENOENT: no such file or directory, lstat D:\nodejs\node_global npm error enoent This is rel…

数通自学——VLAN虚拟局域网,eNSP实验讲解

VLAN虚拟局域网,eNSP实验讲解 一、概念二、eNSP仿真实验1、实验一:vlan演示(交换机端口access模式)2、实验二:vlan演示(交换机端口trunk模式) 一、概念 VLAN(Virtual Local Area Ne…

SQL-lab靶场less1-4

说明:部分内容来源于网络,如有侵权联系删除 前情提要:搭建sql-lab本地靶场的时候发现一些致命的报错: 这个程序只能在php 5.x上运行,在php 7及更高版本上,函数“mysql_query”和一些相关函数被删除&#xf…

java中的二叉树

二叉树 树型结构概念相关概念树的表示形式树的应用 二叉树概念两种特殊的二叉树二叉树的性质二叉树的存储二叉树的基本操作前置说明二叉树的遍历二叉树的基本操作 二叉树相关OJ题 树型结构 概念 树是一种非线性的的数据结构,它是由n(n>0)个有限结点组成一个具有…