TCPIP攻击实验实验报告.docx
- 文档编号:30404202
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:15
- 大小:4.77MB
TCPIP攻击实验实验报告.docx
《TCPIP攻击实验实验报告.docx》由会员分享,可在线阅读,更多相关《TCPIP攻击实验实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
TCPIP攻击实验实验报告
中南大学
TCP/IP攻击实验
实验报告
学生姓名
学院信息科学与工程学院
专业班级
完成时间2015年11月29日
目录
1.实验描述3
2.实验步骤3
2.1环境搭建3
2.2实验1:
ARP缓存中毒4
2.3实验2:
ICMP重定向攻击6
2.4实验3:
SYN洪流攻击7
2.5实验4:
在telnet和ssh连接上的TCPRST攻击10
2.6实验5:
对视频流应用程序的TCPRST攻击12
2.7实验6:
ICMP盲目连接重置和源端关闭攻击12
2.8实验7:
TCP报文劫持13
3.总结14
TCP/IP攻击实验
1.实验描述
【实验背景】
由于TCP/IP协议是Internet的基础协议,所以对TCP/IP协议的完善和改进是非常必要的。
TCP/IP协议从开始设计时候并没有考虑到现在网络上如此多的威胁,由此导致了许多形形色色的攻击方法,一般如果是针对协议原理的攻击(尤其DDOS),我们将无能为力。
TCP/IP攻击的常用原理有:
(1)源地址欺骗(SourceAddressSpoofing)、IP欺骗(IPSpoofing)和DNS欺骗(DNSSpoofing);
(2)路由选择信息协议攻击(RIPAttacks);
(3)源路由选择欺骗(SourceRoutingSpoofing);
(4)TCP序列号欺骗和攻击(TCPSequenceNumberSpoofingandAttack)。
【实验目的】
基于TCP/IP协议进行攻击实验,了解TCP/IP协议的具体机制。
2.实验步骤
2.1环境搭建
这里我使用三台虚拟机做实验,其中一个用于攻击;另一个用于被攻击;第三个作为观察者使用;把三台主机放在同一个LAN中,其配置信息参照如下所示(实际在实验过程中有所改动):
这里我使用的是SEED实验室已经搭建好,并且已经安装好相关的netwox工具箱和Wireshark工具箱的Ubuntu系统,与此同时三台虚拟机都需要打开FTP和Telnet服务:
使用如下命令来完成上述任务
Starttheftpserver
#servicevsftpdstart
Startthetelnetserver
#serviceopenbsd-inetdstart
2.2实验1:
ARP缓存中毒
【实验背景】
ARP缓存是ARP协议的重要的一部分。
作为一个ARP协议执行结果,一旦一个在MAC地址和IP地址之间的映射被决定,这个映射就被缓存。
因此,如果影射已经存在在缓存中,就没有必要再重复ARP协议。
然而,因为ARP协议是无状态的,缓存可以被轻易的通过恶意的ARP信息修改。
这样的一种攻击叫做ARP欺骗。
在这样一个攻击中,攻击者使用欺骗ARP信息来哄骗受害者接受一个无效的MAC-IP映射,并且在缓存中保存这个映射。
取决于攻击者的目的不同,这里可能出现各种类型的后果。
例如,攻击者将一个不存在的MAC地址关联受害者的默认网关的IP地址,通过此来启动一个Dos攻击。
【实验内容】
当发送方B需要向接收方C发送一个数据时,B会从自己的ARP表中通过C的IP地址来查找相应的C的MAC地址。
如果C的MAC地址不在B的ARP表中,B就向全网发广播包,要求C主机返回它的MAC地址。
当B接收到C返回的MAC地址时,B就将更新它的ARP表。
同时,C主机也将B主机和它对应的MAC地址记录到C的ARP表中。
ARP表的更新采用牛奶原则,也就是说,ARP表将无条件接受最后一次收到的ARP包作为ARP更新的数据。
鉴于此,攻击者A可以利用一些工具伪造一个ARP包,将C的IP对应的MAC地址修改为自己的MAC地址,并将这个数据包发送给B。
B在更新了ARP表之后,新的发往C的数据包就会被发送到B。
查询netwox说明后得知,33号工具用于伪造ARP包。
使用命令查看该工具的详细使用方法。
netwox33--help2
在进行攻击之前,先在三台主机上互相ping。
然后使用arp–a命令查看ARP表
之后,在三台主机全部开启的情况下,攻击机A发动攻击
Netwox80-e“mac地址”-i“ip地址”
之后,使用同样的方法,给C主机发送ARP欺骗包。
2.3实验2:
ICMP重定向攻击
【实验背景】
ICMP重定向被路由器用来向更新主机的路由信息,最开始只有最少的路由信息。
当一台主机接收到一个ICMP重定向信息,他将会根据接收到的信息来修改路由表。
因为缺少确认,如果攻击者希望受害者设置它的路由信息为一个特别形式,他们可以发送欺骗ICMP重定向信息给受害者,并且欺骗受害者修改它的路由表。
【实验内容】
ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。
由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。
在三台机器上搭建的路由指令
A的路由配置指令
sudoifconfigeth0*.*.220.128netmask225.225.225.0
sudoifconfigeth1*.*.205.129netmask255.255.255.0
sudorouteadd-net*.*.220.0/24gw*.*.220.128
sudorouteadd-net*.*.205.0/24gw*.*.205.129
sudosysctl-wnet.ipv4,ip_forward=1
B的路由配置指令
sudoifconfigeth0*.*.205.128netmask255.255.255.0
sudorouteadddefaultgw*.*.220.128
sudosysctl-wnet.ipv4.ip_forward=1
C的路由配置指令
sudoifconfigeth0*.*.205.128netmask255.255.255.0
sudorouteadddefaultgw*.*.205.129
sudosysctl-wnet.ipv4.ip_forward=1
使用netwox86号工具可以完成这个攻击。
攻击机A指令
sudonetwox86-f"host*.*.220.129"-g*.*.220.130-c1-i*.*.220.131
-f“host被攻击机的IP”–g希望对方网关修改后的IP–c类型–i源IP
这个指令只有在按下ctrl+c时才会结束,否则一直发送ICMP包。
此时,在被攻击机B中使用WIRESHRK监听eth0,发现不断收到ICMP包,
2.4实验3:
SYN洪流攻击
【实验背景】
SYN洪流攻击是Dos攻击的一种形式,攻击者发送许多SYN请求给受害者的TCP端口,但是攻击者没有完成三次握手的意向。
攻击者或者使用虚假的IP地址,或者不继续过程。
在这个攻击中,攻击者可以使受害者的用于半开连接的队列溢出,例如,一个完成SYN,SYN-ACK但没有收到最后的ACK回复的连接。
当这个队列满了的时候,受害者不能够在进行更多的连接。
SYN缓存策略:
SYN缓存是是对抗SYN洪流攻击的一种防御机制。
如果机器检测到它正在被SYN洪流攻击,这种机制将会kickin。
【实验内容】
如果一个TCP连接没有完成三次握手,它将被放入半开连接队列,而半开连接队列有最大长度,如果连接数量达到最大容量时,新的连接就不能够被建立。
SYN洪泛攻击就是通过未完成的TCP请求来试图充满半开连接队列,使得正常的连接不能够被建立,达到攻击的效果。
在这个实验中,使用telnet服务作为攻击目标,在23号端口发起SYN洪泛攻击。
首先,尝试在主机B和C之间建立telnet连接,说明网络联通。
主机B远程登录主机C的账户
在主机C上,通过命令netstat–na|greptcp命令查看当前的TCP相关端口的状态,发现23号端口处于联通状态
在主机C上查看C的半开连接队列的最大长度为128,缓冲保护开启。
在主机B中使用exit命令断开与C的telnet连接。
之后在主机A中使用netwox76号工具发动针对主机C23号端口的SYN攻击。
回到主机B中,尝试与主机C进行telnet远程连接,
从上图及实验过程可以看出,虽然连接的速度很慢,但是是可以连接上的。
我在主机B上开启了两个终端,同时试图进行telnet连接。
到主机C中查看端口连接情况,如图4.3.5和图4.3.6。
发现,队列中充斥着大量半开连接,目的端口号都是C机的23号端口,但是源主机IP和端口却不一致,而且端口号都是不常用端口,可以判断出,这极有可能是一次SYN攻击。
2.5实验4:
在telnet和ssh连接上的TCPRST攻击
【实验背景】
TCPRST攻击可以终止一个在两个受害者之间已经建立的TCP连接。
例如,如果这里有一个在A和B之间已经建立的telnet连接,攻击者可以伪造一个A发向B的RST包,打破这个存在的连接。
【实验内容】
首先完成主机B与主机C的telnet连接,
在C上查看端口连接情况,如图4.4.2,已经完成主机B与主机C23端口的连接。
这时,在主机A中通过netwox78号工具发起针对B主机的RST攻击。
回到B主机中,发现没有什么变化,但是当回车之后,出现连接已经被其他主机断开,并退回到主机B的账户下
在主机C中查看此时的连接情况,如图4.4.4。
可以看出BC主机的23端口的连接已经被断开,处于监听状态。
注意,此时主机A的攻击并没有停止。
回到主机B中,再次尝试连接主机C,发现最开始是连接上了,但是还没来得及显示后续内容,连接就被中断。
2.6实验5:
对视频流应用程序的TCPRST攻击
【实验背景】
同实验4。
【实验内容】
由于SEED实验室中配置的Ubuntu没有视频流应用,故此没有完成此实验,但其实与实验4是相同的原理。
2.7实验6:
ICMP盲目连接重置和源端关闭攻击
【实验背景】
ICMP信息同样可以被用于达成连接重置攻击。
为了达到这个目的,攻击者发送一条显示“硬错误”的ICMP的错误信息给TCP连接两端的任意一方。
连接将会被立即中断,因为在RFC1122中主机在接收到这样一个TCMP错误包时,应当立即中断相关的连接。
RFC1122定义“硬错误”为一个目的不可达且协议无效、端口无效、标志位缺失和DF位设置的ICMP错误信息
ICMP源端关闭信息被拥塞路由器用于告知TCP发送者减缓发送包的速度。
攻击者可以制定这样的信息来实施对TCP发送者的拒绝服务攻击。
【实验内容】
实验中使用的是实验2中的拓扑结构及IP地址。
首先在B和C见建立telnet连接:
A是攻击机,A试图伪造一个ICMP错误信息的包,发送给B或C(实验中发送给了B),来终止BC见的连接。
接下来,在C主机中查看端口连接信息,如图4.5.1,发现连接并没有终止
在B机中查看wireshark抓取的eth0的流量,如图4.5.2,发现ICMP错误信息包B收到了。
出现这种情况的原因可能是在高版本的ubuntu中已经制订了一些策略来防止这些攻击。
2.8实验7:
TCP报文劫持
【实验背景】
会话劫持利用了TCP/IP工作原理来设计攻击。
TCP使用端到端的连接,即TCP用(源IP,源TCP端口号,目的IP,目的TCP端号)来唯一标识每一条已经建立连接的TCP链路。
另外,TCP在进行数据传输时,TCP报文首部的两个字段序号(seq)和确认序号(ackseq)非常重要。
序号(seq)和确认序号(ackseq)是与所携带TCP数据净荷(payload)的多少有数值上的关系:
序号字段(seq)指出了本报文中传送的数据在发送主机所要传送的整个数据流中的顺序号,而确认序号字段(ackseq)指出了发送本报文的主机希望接收的对方主机中下一个八位组的顺序号。
因此,对于一台主机来说,其收发的两个相临TCP报文之间的序号和确认序号的关系为:
它所要发出的报文中的seq值应等于它所刚收到的报文中的ackseq的值,而它所要发送报文中ackseq的值应为它所收到报文中seq的值加上该报文中所发送的TCP净荷的长度。
【实验内容】
2号机Telnet到3号机,实验在1号机上劫持2号机到3号机上的Telnet报文。
3.总结
通过这一次内容丰富并且工作量巨大的实验,我对基于TCP/IP的攻击有了更加深刻甚至可以说是比较新的认识,对它们各自的机制、攻击特点、相互之间可能存在的联系以及它们差别所在等等细节问题有了新的看法、认识,也有了一些专属于我们小组自己的解决方案。
这次实验,让我至少意识到了以下这样一个事实:
TCP/IP协议在设计之初仅考虑了成本和实现功能,并没有过多考虑安全因素。
因此TCP/IP协议栈中提供了大量的起关键作用的信息和指令,但是这些信息和指令的执行缺乏认证机制,能够方便地伪造。
这也就为如此之多的TCP/IP攻击提供了可能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCPIP 攻击 实验 报告