20212935 2021-2022-2 实践四

1 实验目的

基于TCP/IP协议进行攻击实验,了解TCP/IP协议的具体机制。

2 实验环境

Kali、Seed、Ubuntu、Win2k。

3 实验内容及原理

3.1 实验内容:

在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。

3.2 实验原理:

3.2.1 ARP欺骗

ARP缓存是ARP协议的重要组成部分。ARP协议运行的目标就是建立MAC地址和IP地址的映射,然后把这一映射关系保存在ARP缓存中,使得不必重复运行ARP 协议。但是ARP缓存不是一成不变的,我们可以伪造ARP应答帧纂改ARP映射表,这就是ARP欺骗。这样的后果会使主机发送信息到错误的MAC地址,导致数据被窃听;要么由于MAC地址不存在,导致数据发送不成功。

3.2.2 ICMP重定向攻击

ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。因此,我们可以发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。

3.2.3 SYN洪流攻击

SYN攻击是一种DoS (Denial of Service)攻击,在这种攻击中黑客向被攻击者的TCP端口发送很多SYN请求,但是黑客并不是想完成三次握手协议,而是使用伪造的IP地址或者只进行三次握手协议中的第一次握手。因为SYN数据包用来打开一个TCP链接,所以受害者的机器会向伪造的地址发送一个SYN/ACK数据包作为回应,并等待预期的ACK 响应。每个处于等待状态,半开的链接队列都讲进入空间有限的待处理队列。由于伪造的源地址实际上并不存在,所以将那些等待队列中的记录删除并完成建立TCP连接所需的ACK响应用于不会到来,相反每个半开的连接一定会超时,这将花费一段比较长的时间。只要攻击者使用伪造的SYN数据包继续泛洪受害者的系统,受害者的待处理队列将一直处于满员,这使得真正的SYN 数据包几乎不可能到达系统并打开有效的TCP连接。

3.2.4 RST攻击

这种攻击只能针对tcp、对udp无效。RST( Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。

3.2.5 会话劫持(Session Hijack)

会话劫持就是结合了嗅探以及欺骗技术在内的攻击手段。例如,在一次正常的会话过程当中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行监听,甚至可以是代替某一方主机接管会话。

4 实验过程

4.1 ARP缓存欺骗攻击:

4.1.1 实验环境:

(1)kali-linux IP地址:192.168.200.4  MAC地址:00:0c:29:77:3a:9c

(2)Metasploitable_ubuntu IP地址:192.168.200.5  MAC地址:00:0c:29:bb:f4:cc

(3)Win2kServer_SP0_target IP地址:192.168.200.124  MAC地址:00:0c:29:ba:cb:a3

互相检查是否ping通:

Kali ping win2k和ubuntu:

wps7240.tmp

Ubuntu ping win2k和kali:

wps7241.tmp

Win2k ping Ubuntu和kali:

wps7252.tmp

4.1.1 实验过程

(1)Ubuntu ping win2k后输入arp -a命令并记录。

wps7262.tmp

(2)使用kali进行攻击:先安装netwox,然后输入命令netwox 80 -e 00:0c:29:8f:db:91 1 -i 192.168.200.124,再返回Ubuntu输入arp -a命令查看,会发现发生了变化。

wps7263.tmp

wps7264.tmp

wps7275.tmp

4.2 ICMP重定向攻击:

4.2.1 实验环境

SeedUbuntu的IP地址为192.168.200.6  MAC地址:00:0c:29:5a:75:6d

wps7276.tmp

4.2.2 实验过程:

(1)kali中输入命令netwox 86 -f "host 192.168.200.6" -g 192.168.200.4 -i 192.168.200.1 进行攻击。

wps7287.tmp

(2)ping baidu.com发现IP地址发生改变:

wps7288.tmp

4.3 SYN Flood攻击

4.3.1 实验环境:

Kali:192.168.200.4

seedUbuntu:192.168.200.6

Me-Ubuntu: 192.168.200.5

4.3.2 实验过程:

(1)seedubuntu中输入命令telnet 192.168.200.5后提示账号登陆,登陆后输入命令ls,显示成功。即可正常使用me-ubuntu。

wps7298.tmp

(2)打开kali,输入命令netwox 76 -i 192.168.200.5 -p 23对靶机进行攻击。

wps7299.tmp

(3)进入seedubuntu,重新telnet,可以发现卡顿了很长时间。

(4)打开wireshark进行抓包检测,可以发现很多未知IP对其进行攻击

wps72AA.tmp

4.4 SYN Rst攻击:

4.4.1 实验环境:

Kali:192.168.200.4

seedUbuntu:192.168.200.6

Me-Ubuntu: 192.168.200.5

4.4.2实验过程:

(1)检验是否可以登录:打开ubuntu输入命令telnet 192.168。200.5查看,发现可以登录正常使用。

wps72AB.tmp

(2)打开kali对其进行攻击:输入命令netwox 78 -i 192.168.200.5.

(3)重新在ubuntu telnet192.168.200.5,发现无法telnet,攻击成功。

wps72AC.tmp

4.5 TCP会话劫持攻击:

4.5.1 实验环境:

Kali:192.168.200.4

seedUbuntu:192.168.200.6

Me-Ubuntu: 192.168.200.5

4.5.2实验过程:

(1)打开kali,输入命令ettercap -G,打开Ettercap:

wps72BD.tmp

(2)选择wps72BE.tmp→Hosts→Scan for hosts→Hosts lists后出现如下:

wps72CE.tmp

(3)选择ubuntu的IP192.168.200.5添加到目标1,选择seed的IP地址192.168.200.6添加到目标2。

wps72CF.tmp

(4)选择开端→ARP poisoning进行ARP实验,然后view →connections。

(5)用seed对unbuntu telnet

wps72D0.tmp

(6)回到kali,可以发现已经获取到此数据,也可以看到账号和密码信息。

wps72E1.tmp

5 实验中遇到的问题及解决方法

(1)开始实验时,攻击机和靶机相互ping不通。后来检查发现,因为上个实验把kali的网络设备器调成了桥接模式,四个设备没有在同一环境下。重新调回刚开始设定的网络适配器后,各个靶机和攻击机间可以相互ping通了,从而实验可以继续进行下去。

(2)在第二个实验需要ping baidu时发现怎么也ping不同,尝试用网络打开baidu.com,显示没有网络。从网络中查到,虚拟机接外网可以用如下方法:执行以下命令编辑interfaces文件,修改文件内容:sudo vim /etc/network/interfaces,其中dns-nameserver需要配置成主机的默认网关,否则虚拟机无法连接外网。

6 实验感想

通过这一次内容丰富的实验,我对基于TCP/IP的攻击有了更加深刻甚至可以说是比较新的认识,对它们各自的机制、攻击特点、相互之间可能存在的联系以及它们差别所在等等细节问题有了新的看法、认识。TCP/IP协议在设计之初仅考虑了成本和实现功能,并没有过多考虑安全因素。因此TCP/IP协议栈中提供了大量的起关键作用的信息和指令,但是这些信息和指令的执行缺乏认证机制,能够方便地伪造,这也就为如此之多的TCP/IP攻击提供了可能。

posted @ 2022-04-03 20:12  dou嘚嘚嘚  阅读(103)  评论(0编辑  收藏  举报