【SEED Labs】TCP Attacks Lab
Lab Overview
实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/TCP_Attacks/
本实验涵盖以下课题:
• TCP SYN flood attack, and SYN cookies
• TCP reset attack
• TCP session hijacking attack
• Reverse shell
LabEnvironment
3台主机在同一内网中
工具:
Netwox:netwox 是由 lauconstantin 开发的一款网络工具集,适用群体为网络管理员和网络黑客,它可以创造任意的 TCP、UDP 和 IP 数据报文,以实现网络欺骗,并且可以在 Linux 和 Windows 系统中运行。Kali Linux 系统自带 netwox 工具。
Scapy:Scapy是一款强大的交互式数据包处理工具、数据包生成器、网络扫描器、网络发现工具和包嗅探工具。Kali Linux 系统自带 Scapy工具。项目地址:https://github.com/secdev/scapy
LabTasks
Task1: SYNFloodingAttack
我们的目标是攻击服务器,阻止它接受来自任何主机的telnet连接。
在攻击之前,我们首先做一个telnet 从用户机器到服务器,之后我们将检查是否SYN洪水攻击影响存在的连接。
同时,我们需要在服务器上关闭SYN cookie,SYN cookie是抵御SYN洪泛攻击的一种防御机制。如果机器检测到它受到了SYN洪泛攻击,该机制就会启动。可以使用sysctl命令打开/关闭SYN cookie机制:
在开始攻击之前,检查一下当前服务器上的半开放连接数:
发现都是listen,并没有SYN_RECV
使用netwox 76 来进行SYN flooding攻击
-s选项选择raw意味着在IP4/IP6级别上进行欺骗,而不是在链接级别上进行欺骗
再看一下服务器网络连接情况:netstat -ant
已经遭受SYN泛洪攻击
用户机器无法telnet到服务器:
SYN flooding攻击成功。
Task2: TCP RST Attacks on telnet and ssh Connections
在这个任务中,我们需要启动TCP RST攻击来中断A和B之间的现有telnet连接。然后,尝试对ssh连接进行相同的攻击。
关闭TCP连接的方式:
(1)当TCP连接的一端(比方说A)没有数据要发送到另一端时,它会向另一端(比方说B)发送一个FIN包,FIN是TCP报头中的六个代码位之一。B收到包后,它用一个ACK包进行应答。这样,连接的A-to-B方向关闭,但另一个方向(B-to-A)仍然打开。如果b想要关闭那个方向,它发送一个FIN包给a, a会回复一个ACK包。此时,整个TCP连接被关闭。这是TCP FIN协议[Postel, 1981)
(2)一方只需向另一方发送一个TCP RST包,立即断开连接。RS T也是TCP报头中的六个代码位之一。这种方法主要用于紧急情况,当没有时间执行FIN协议时。当检测到一些错误时,还会发送RST数据包。例如,在针对TCP服务器的SYN洪泛攻击中,如果欺骗的源IP地址确实属于正在运行的计算机,那么它将从服务器接收SYN + ACK包。但是,由于机器从来没有初始化过连接请求,它知道有什么地方出错了,因此,根据协议,它用一个RST包进行应答,基本上就是告诉服务器关闭半开的连接。因此,RST对于TCP协议非常重要。
Telnet服务:
首先在用户机器上与服务器建立telnet连接: seed dees
使用netwox 78 来进行TCP RST攻击
用户机器无法与服务器建立telnet连接:
攻击成功。
SSH服务:
首先在用户机器上与服务器建立ssh连接: seed dees
使用netwox 78 来进行TCP RST攻击
用户机器无法与服务器建立ssh连接:
攻击成功。
Task4: TCP Session Hijacking
TCP会话劫持攻击的目的是通过向会话注入恶意内容来劫持两个受害者之间的现有TCP连接(会话)。如果该连接是telnet会话,攻击者可以将恶意命令(例如删除重要文件)注入该会话,从而导致受害者执行恶意命令。下图描述了攻击的工作方式。在本任务中,我们需要演示如何在两台计算机之间劫持telnet会话。目标是让telnet服务器运行来自我们的恶意命令
由于TCP协议没有对TCP的数据包验证,所以攻击者只要知道⼀个TCP连接中的seq和ack信息后就可以很容易的伪造数据包冒充受害者进行数据传输,如果攻击者发送正确seq和ack的数据包给TCP连接的对方,TCP会话便被攻击者劫持,受害者再次发送TCP数据包的时候seq和ack都不正确,也就是失去TCP的会话。
开始实验:
先在攻击机上开启wireshark
用户机器连接服务器telnet
找到最后一个数据包的源ip、目标ip、源端口、目的端口、Next sequence number:
使用netwox 40 来进行TCP会话劫持攻击(数据要以16进制形式发送)
发送之后,可以在wireshark中看到我们伪造的数据成功发送:
攻击成功。
Task5: Creating Reverse Shell usingTCP Session Hijacking
前几步和Task4一样。
在攻击机开启监听
将反弹shell命令转换成16进制
使用netwox 40 来进行TCP会话劫持攻击
netcat接受到反弹回来的shell
【SEED Labs】TCP Attacks Lab的更多相关文章
- 【SEED Labs】Public-Key Infrastructure (PKI) Lab
Lab Overview 公钥加密是当今安全通信的基础,但当通信的一方向另一方发送其公钥时,它会受到中间人的攻击.根本的问题是,没有简单的方法来验证公钥的所有权,即,给定公钥及其声明的所有者信息,如何 ...
- 【SEED Labs】DNS Rebinding Attack Lab
Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/DNS_Rebinding/ 在这个实验中模拟的物联网设备 ...
- 【转载】[基础知识]【网络编程】TCP/IP
转自http://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=27043 [基础知识][网络编程]TCP/IP iooops 胖友们楼主我又 ...
- GJM : 【技术干货】给The Lab Renderer for Unity中地形添加阴影
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- 【HTTP协议】---TCP三次握手和四次挥手
TCP三次握手和四次挥手 首先我们知道HTTP协议通常承载于TCP协议之上,HTTPS承载于TLS或SSL协议层之上 通过上面这张图我们能够知道. 在Http工作之前,Web浏览器通过网络和W ...
- 【网络协议】TCP/IP:数据链路层
物理层负责把计算机中的0.1数字信号转换为具体传输媒介的物理信号(电压的高低.电波的强弱.光的闪灭) 数据链路层协议定义了(通过通信介质互连的设备间的)数据传输规范 (常见的通信介质有同轴电缆.双绞线 ...
- 【网络编程】TCP/IP、UDP、网络概…
计算机刚刚发明出来的时候,两台计算机之间是无法通信的,为了使计算机之间能够进行数据的交流,制定了OSI(Open SystemInterconnection)开放系统互联模型,而TCP/IP(我们所使 ...
- 【NS2仿真】TCP与UDP混合
# # ftp # \ # tcp # \ # n0 sink # \ / # \ / # n1---5M 2ms---n3 # / \ # / \ # n2 null # / # udp # / # ...
- 【NS2仿真】TCP协议
# # ftp # \ # tcp sink # \ / # n0--------5M 2ms---------n1 # # set ns [new Simulator] set f [open ou ...
随机推荐
- 论文解读(AGCN)《 Attention-driven Graph Clustering Network》
Paper Information Title:<Attention-driven Graph Clustering Network>Authors:Zhihao Peng, Hui Li ...
- XXE外部实体注入漏洞总结
XXE 漏洞原理 XXE是xml外部实体注入漏洞,应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取,命令执行,内网端口扫描攻击内网网站等危害. 漏洞危害 ...
- VS2019配置eigen
本文讲述如何在VS2019中配置eigen eigen版本:eigen-3.3.9 百度网盘地址:https://pan.baidu.com/s/1Bu5A58qV2n8doDs4NpPfJQ 提取 ...
- 【Java8新特性】Optional类在处理空值判断场景的应用 回避空指针异常 编写健壮的应用程序
一.序言 空值异常是应用运行时常见的异常,传统方式为了编写健壮的应用,常常使用多层嵌套逻辑判断回避空指针异常.Java8新特性之Optional为此类问题提供了优雅的解决方式. 广大程序员朋友对空值异 ...
- 分析HTTP请求以降低HTTP走私攻击HTTP数据接收不同步攻击的风险
写在前面的话 HTTP/1.1自1991年至2014年,已经走过了一段很长的发展历程: HTTP/0.9– 1991 HTTP/1.0– 1996 HTTP/1.1 RFC 2068– 1997 RF ...
- NSSCTF-error
打开网页出现一个输入框,尝试使用127.0.0.1发现只是回显我们输入的内容 尝试进行注入,输入数字1会回显没有提示......,order by进行判断列数,得到有三列 接着就是正常注入的思路,使用 ...
- Spark学习记录
SpringStrongGuo Hadoop与Spark Hadoop主要解决,海量数据的存储和海量数据的分析计算. Spark主要解决海量数据的分析计算. Spark运行模式 1)Local:运行在 ...
- windows痕迹清理的基本思路和思考逻辑
1.痕迹清理的基本概念 在渗透测试的过程结束后清理自己在从开始接触到目标计算机是开始所有操作的痕迹 2.痕迹清理的目的 为下一步的渗透测试拖延时间 提高隐蔽性 所有的痕迹清理都不是绝对的,只要和计算机 ...
- MPEG2网马实验
实验目的 了解MPEG2网马的工作原理. 能分析简单的网马. 实验原理 通常被挂马的目标网站是会插入一段代码.比如: <iframe src="/muma.htm"; width="0" hei ...
- 自助BI工具:Tableau和Smartbi的对比(上)
商业智能(BI)和分析平台长期以来一直是商业的重要组成部分,但由于自助BI工具的兴起,在数据科学家和数据库管理员的支持下,分析的责任已经从IT转移到了商业分析师身上. 因此,BI已经从生成月度报告的记 ...