20199323 2019-2020-2 《网络攻防实践》第五周作业

学号 2019-2020-2 《网络攻防实践》第X周作业

1.学习内容

TCP/IP网络协议栈攻击基本的知识

  • 网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性
  • 网络攻击基本模式:
    截获:嗅探、监听
    中断:拒绝服务
    篡改:欺骗
    伪造

网络协议攻击及其原理过程

IP源地址欺骗攻击

  • 原理:只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。
  • 过程:
    对受信任的主机进行拒绝服务攻击
    对目标主机的TCP初始序列号(ISN)进行取样和猜测
    伪造源地址为受信任的主机IP的SYN数据包发送给主机
    等待目标主机将SYN/ACK包发给已经瘫痪的受信任的主机
    再次伪装成被信任的目标主机发送ACK包、建立连接。
  • 工具:netwox;wireshark;nmap
  • 防范措施:使用随机化的初试序列号;使用网络层安全传输协议;避免采用基于IP地址的信任策略;在路由器和网关上实施包过滤

ARP欺骗攻击

  • 原理:攻击者在有线以太网或者无线网上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗
  • 工具:DSniff中的Arpspoof;arpison;Ettercap;netwox
  • 防范措施:静态绑定关键主机的IP地址和MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑、加密是传输数据

ICMP路由重定向攻击

  • 原理:利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听
  • 工具:netwox
  • 防范措施:根据类型过滤一些ICMP数据包,设置防火墙过滤,对ICMP重定向报文判断是不是来自本地路由器的

TCP RST攻击

原理:伪造TCP重置报文,断开TCP会话连接

TCP会话劫持攻击

原理:劫持通信双方已经建立的连接,假冒其中一方的身份与另一方进行进一步通信

TCP SYN Flood

原理:向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务

UDP Flood

原理:向目标主机和网络发送大量的UDP数据包,使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击

2.实践过程

实验一:ARP缓存欺骗攻击

    MAC地址               IP地址

kali 00:0c:29:44:15:20 192.168.200.4
seed 00:0c:29:18:c4:15 192.168.200.3
win2kserver 00:0c:29:a4:bf:da 192.168.200.124
winxpp~ 192.168.200.2



这次实验中我们把seed和win2当作正常通信的主机,kali当作攻击机,首先在攻击机上安装netwox,在kali上输入命令
netwox 33 -b 00:0c:29:a4:bf:da -g 192.168.200.3 -h 00:0c:29:d1:2d:1d -i 192.168.200.124,这个命令是冒充seed欺骗win2。

观察攻击前后win2的arp缓存表发生了变化:

ICMP重定向攻击

查看windows靶机路由:

在kali中中使用使网关重定向为主机A的IP地址netwox 86 -f "host 192.168.200.2" -g 192.168.200.4 -i 192.168.200.1使网关重定向为kali的IP地址
再次查看widows路由表发生了变化:

实验三:TCP SYN Flood攻击

在seed中使用ftp 192.168.200.2,输入用户名administrator,密码mima1234,登陆winxp主机:
然后在kali中输入netwox 76 -i 192.168.200.3 -p 21进行攻击
然后再次在seed登陆发现登陆失败:

实验四:TCP RST攻击

和上一个实验类似,只不过在kali攻击机上的命令是netwox 78 -i 192.168.200.3攻击主机seed
然后再次在seed上远程登陆

连接都已经被关闭。

实验五:TCP会话劫持攻击


实验第一步就失败了,还没找到解决方法,应该是虚拟机的问题,再重装下。
然后换了台虚拟机,winxp和me-linux
在winxp上用telnet远程登陆me-linux,并输入一个命令:

在kali中打开wireshark会发现监听telnet,会监听到命令,命令是一个一个字符发送的:

这是发送包的信息,包括源端口等:

使用另一种方法,伪造包,把Next Seq Num作为下一个包的ACK,采用ACK作为下一个包的Seq。获取到信息之后,攻击机使用netwox工具伪造B给C发一个tcp包。

然后在攻击机上输入netwox 40 --ip4-offsetfrag 0 --ip4-ttl (登录者TTL) --ip4-protocol 6 --ip4-src (攻击者IP) --ip4-dst (服务器IP) --tcp-src (原始端口) --tcp-dst 23 --tcp-seqnum (抓包可以看见raw seqnum) --tcp-acknum (抓包可以看见 ACK number(raw)) --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "7265626f6f740d00"
回头去看wireshark抓到的包。会看到大片的红色错误报文,由两类报文组成:TCP Dup ACK XXXX和TCP Retransmission 。其中TCP Dup ACK XXXX表示序号为XXXX的报文丢失,TCP Retransmission表示请求数据重传。

3.学习中遇到的问题及解决

  • 问题1:虚拟机seed无法telnet登陆
  • 问题1解决方案:在网上找了好多方法,还未解决
  • 问题2:最后一个tcp会话劫持不会做,参考了孙启龙同学的

4.实践总结

动手能力太差还要加油啊。

posted @ 2020-04-01 21:57  20199323王德胜  阅读(283)  评论(0编辑  收藏  举报