TCP/IP攻击实验(ARP,ICMP,SYN,RST,TCP会话劫持)

一、实验背景

由于TCP/IP协议是Internet的基础协议,从开始设计的时候并没有考虑到现在网络上如此多的威胁,由此导致了许多形形色色的攻击方法,一般如果是针对协议原理的攻击,尤其DDOS,我们将无能为力。
TCP/IP攻击的常用原理有:
(1)源地址欺骗,IP欺骗,DNS欺骗
(2)路由选择信息协议攻击 (RIP Attacks)
(3)源路由选择欺骗
(4)TCP序列号欺骗和攻击

二、实验任务

完成以下5个实验:
1. ARP 缓存中毒攻击
2. ICMP 重定向攻击
3. SYN 泛洪攻击
4. TCP RST 在telnet 和ssh 上的攻击
5. TCP 会话劫持攻击

三、具体实验步骤

3.1. 环境搭建
整个实验会使用三台虚拟机做实验,一台攻击者,一台被攻击者,一台观察者,需要把三台主机放在同一个LAN中。
我的真机操作系统windows,虚拟机软件使用的是VMware.
创建好一个虚拟机后,克隆该虚拟机,选择链接克隆。克隆另外两台虚拟机。
设置虚拟机在同一局域网内:
1.修改网络适配器模式为桥接模式
这里写图片描述
2.先查一下真机IP,子网掩码,网关
真机命令行输入ipconfig
3.配置虚拟机的IP,子网掩码,网关,和真机在同一个局域网内。即:虚拟机的子网掩码和网关和真机相同,IP只有最后一个点后的数字不同。
这里写图片描述
先ping一下百度,

ping www.baidu.com

肯定能ping通百度,ping不通,设置有误,检查
其它两台虚拟机也是这样设置,IP有所不同
设置完毕检查三台虚拟机之间能否相互ping通,若ping不通,设置有误,检查。
4.使用wareshark来捕获一些包,作为观察使用,Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.
使用截图
这里写图片描述
右键 ,as a filter可以设置过滤器
这里写图片描述
这里写图片描述

3.2.ARP 缓存中毒攻击

(1)实验原理
ARP缓存是ARP协议的重要组成部分。ARP协议运行的目标就是建立MAC地址和IP地址的映射,然后把这一映射关系保存在ARP缓存中,使得不必重复运行ARP协议。因为ARP缓存中的映射表并不是一直不变的,主机会定期发送ARP请求来更新它的ARP映射表,利用这个机制,攻击者可以伪造ARP应答帧使得主机错误的更新自己的ARP映射表,这个过程就是ARP缓存中毒。
这样的后果即使要么使主机发送MAC帧到错误的MAC地址,导致数据被窃听;要么由于MAC地址不存在,导致数据发送不成功。

(2)清空ARP缓存
因为之前测试几个虚拟机之间是否连接成功的时候进行了ping命令,这个时候在各个虚拟机的时候已经进行了ARP缓存,如果进行实验的话,将不会有ARP协议的数据包,因为会直接在ARP缓存库里面取得相应的MAC地址。
ARP命令使用说明

arp: 显示所有的表项。
arp  -d  address: 删除一个arp表项。
arp  -s address hw_addr: 设置一个arp表项。

(3)攻击机A发动攻击,攻击主机B
利用netwox 80,其中Mac地址随便写一个就行,如图攻击主机B,主机B的IP是121.250.223.61
这里写图片描述
Mac地址和121.250.223.61建立对应关系

(4)ping主机B,发现ping不通就对了
这里写图片描述

3.3.ICMP 重定向攻击

(1)实验原理
ICMP重定向攻击
ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。

(2)安装traceroute

sudo apt-get install traceroute

三台主机都可以traceroute到外网,如traceroute百度的时候,经过的第一个路由器是121.250.223.1
这里写图片描述

(3)为了让主机A能够正常转发数据包,需要对主机A进行如下设置:

sudo sysctlnet.ipv4.ip_forward=1

(4)使用netwox86号工具可以完成这个攻击

netwox 86 -f "host 121.250.223.62" -g "121.250.223.60" -i "121.250.223.1"

顺序第一个IP是被攻击者IP,第二个是攻击者IP,第三个是路由器IP
这里写图片描述

(5)主机C再次traceroute,经过的第一个路由是主机A
这里写图片描述

3.4.SYN 泛洪攻击

(1)实验原理
SYN洪流攻击是Dos攻击的一种形式,攻击者发送许多SYN请求给受害者的TCP端口,但是攻击者没有完成三次握手的意向。攻击者或者使用虚假的IP地址,或者不继续过程。在这个攻击中,攻击者可以使受害者的用于半开连接的队列溢出,例如,一个完成SYN,SYN-ACK但没有收到最后的ACK回复的连接。当这个队列满了的时候,受害者不能够在进行更多的连接。
SYN 缓存策略:SYN缓存是是对抗SYN洪流攻击的一种防御机制。如果机器检测到它正在被SYN洪流攻击,这种机制将会kick in,
如果一个TCP连接没有完成三次握手,它将被放入半开连接队列,而半开连接队列有最大长度,如果连接数量达到最大容量时,新的连接就不能够被建立。SYN洪泛攻击就是通过未完成的TCP请求来试图充满半开连接队列,使得正常的连接不能够被建立,达到攻击的效果。 在这个实验中,使用telnet服务作为攻击目标,在23号端口发起SYN洪泛攻击。 首先,尝试在主机B和C之间建立telnet连接,说明网络联通。主机B远程登录主机C的账户

(2)B登录C
这里写图片描述

(3)在主机C上,通过命令netstat –na | grep tcp 命令查看当前的TCP相关端口的状态,发现23号端口处于联通状态
这里写图片描述

(4)在主机B中使用exit命令断开与C的telnet连接。之后在主机A中使用netwox76号工具发动针对主机C23号端口的SYN攻击。
这里写图片描述

(5)C中充斥着的大量连接:
这里写图片描述

3.5.TCP RST 在telnet 和ssh 上的攻击

(1)实验原理
TCP RST攻击可以终止一个在两个受害者之间已经建立的TCP连接。例如,如果这里有一个在A和B之间已经建立的telnet连接,攻击者可以伪造一个A发向B的RST包,打破这个存在的连接。

(2)首先完成主机B与主机C的telnet连接
这里写图片描述

(3)C中发现23端口占用,说明已经建立连接
这里写图片描述

(4)这时,在主机A中通过netwox78号工具发起针对B主机的RST攻击。
这里写图片描述

(5)回到B主机中,发现没有什么变化,但是当回车之后,出现连接已经被其他主机断开,并退回到主机B的账户下
这里写图片描述

(6)回到C中发现端口已经不被占用
这里写图片描述

(7)B再次尝试连接已经连接不上,注意,此时主机A的攻击并没有停止。回到主机B中,再次尝试连接主机C,发现最开始是连接上了,但是还没来得及显示后续内容,连接就被中断。
这里写图片描述

3.6.TCP 会话劫持攻击

(1)实验原理
会话劫持利用了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)B登录C,A中可以看到B给C 的报文,说明A劫持到了B发给C 的报文
这里写图片描述

(3)安装hunt

sudo apt-get install hunt

(4)主机B telnet到主机C 上,A使用hunt进行攻击
这里写图片描述
命令l可以捕获局域网内已经建立的连接
我因为hunt一直捕获不到建立的链接,卡在这里了。。。

四、实验参考资料

博客:
http://blog.csdn.net/sinat_26599509/article/details/51442527
百度文库
http://wenku.baidu.com/link?url=GitKyR6fqxyo-f_1DBOZzrLFJV6pCutV1K159m95xzTpcvlpRMKZV_3aOada9jKizg3b3DbnC_-e03Ql-AtQbDalxB-zJgPMq0H3alcA_dS
老师建议资料(英文)
http://www.cis.syr.edu/~wedu/seed/Labs_12.04/Networking/TCPIP/

  • 13
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值