zoukankan      html  css  js  c++  java
  • 20199315 2019-2020-2 《网络攻防实践》第5周作业

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

    前言

    这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/19attackdefense

    这个作业的要求在哪里:https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553

    我在这个课程的目标是:学习网络攻防相关知识,提升专业技能

    这个作业在哪个具体方面帮助我实现目标:学习了解TCP/IP网络协议攻击

    知识点梳理与总结————《网络攻防技术与实践》教材第五章

    TCP/IP网络协议栈攻击概述

    网络安全属性

    网络安全三个基本属性:机密性、完整性、可用性、(真实性、不可抵赖性)

    机密性:是指网络中的信息不被非授权实体获取和使用,通常基于加密算法进行保障。

    完整性:是指信息未经授权不能进行改变的特性,即信息在存储和传输过程中保持不被修改、不被破坏和丢失的特性。

    可用性:是指被授权实体访问并按需求使用的特性,即当需要时能够正常地存取和访问所需的信息与服务。

    真实性:是指确保通信对方是它所声称的真实实体,而非假冒实体。

    不可抵赖性:是指在通信中确保任何一方无法抵赖自己曾经做过的操作的安全特性,包括对自己行为的不可抵赖及对行为发生时间的不可抵赖,有时也被称为不可否认性和可审查性(Accountability)。

    网络攻击基本模式

    在网络通信中,攻击者可以采取如下四种基本的攻击模式,包括截获、中断、篡改与伪造。

    截获是一种被动攻击模式,其目的是获取网络通信双方的通信信息内容,是对机密性的违反,具体攻击技术为嗅探(Sniffing)与监听(Eavesdropping);

    中断、篡改与伪造都属于主动攻击模式,中断攻击的目标是致使正常的网络通信和会话无法继续,是对可用性的破坏,具体攻击技术为拒绝服务(Denial of Service, DoS);

    而伪造则是假冒网络通信方的身份,欺骗通信对方达到恶意目的,是对真实性属性的背离,具体攻击技术为欺骗(Spoofing);

    篡改则是对网络通信过程的信息内容进行修改,使得通信一方或双方接收到篡改后的虚假信息,是对完整性的违背,具体技术为数据包篡改,一般需要结合身份欺骗进行中间人攻击。

    中间人攻击(Man-in-the-Middle Attack, MITM),攻击者通过各种技术手段与通信双方建立起各自独立的会话连接,并进行消息的双向转发,使他们误以为是通过一个私有通道在直接通信,而实际上整个会话都是由攻击者所截获和控制的。

    要成功实现中间人攻击,攻击者必须能够拦截通信双方的全部通信,注入转发或篡改后的消息,并需要攻击者能够对通信双方都实现身份欺骗。

    中间人攻击也能够产生很大的危害,包括对通信信息的窃取、传递篡改后的虚假信息、假冒身份实施恶意操作等,此外中间人攻击很难被通信双方发现。

    TCP/IP网络协议栈安全缺陷与攻击技术

    网络层协议攻击

    IP源地址欺骗

    IP源地址欺骗(IP Spoofing)是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。

    IP源地址欺骗可以实现的根本原因在于: IP 协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。

    应用场景:拒绝服务攻击、网络扫描、对付一些基于IP地址的身份认证机制。

    防范措施:

    • 使用随机化的初始序列号,使得远程攻击者无法猜测到通过源地址欺P连接所需的序列号,降低被源地址欺骗的风险;

    • 使用网络层安全传输协议如IPsec,对传输数据包进行加密,避免泄露利用的信息及传输内容

    • 避免采用基于IP地址的信任策略,以基于加密算法的用户身份认证机访问控制策略

    • 在路由器和网关上实施包过滤

    ARP欺骗

    ARP欺骗(ARP Spoofing),有时候也被称为ARP下毒(ARP Poisoning),是指攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。

    ARP欺骗攻击的根源在于,ARP协议在设计时认为局域网内部的所有用户都是可信的,是遵循协议设计规范的,但事实上并非如此,局域网内可以存在内部攻击者,或者已渗透进入局域网的外部攻击者或恶意代码。

    应用场景:交互式网络中进行局域网嗅探,通过进一步的协议分析窃取敏感信息;构造中间人攻击,从而实施TCP会话劫持的攻击方法;ARP病毒,信息窃取、报文修改、病毒传播。

    预防ARP欺骗攻击的主要方法有:静态绑定关键主机的IP地址与MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑,并加密传输数据以降低ARP欺骗攻击的危害后果等。

    ICMP路由重定向攻击

    ICMP路由重定向攻击(ICMPRedirectAttack)是指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。

    ICMP重定向攻击就是利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则可以伪装成为路由器,使目标机器的数据报发送至攻击机从而加强监听。

    主要防范措施是,根据类型过滤一些ICMP数据包,设置防火墙过滤,对于ICMP重定向报文判断是不是来自本地路由器。

    传输层协议攻击

    TCP RST攻击

    TCP RST攻击,也被称为伪造TCP重置报文攻击,是指一种假冒干扰TCP通信连接的技术方法。TCP协议头的标志位中拥有一个“reset”比特位,绝大部分数据包中该标志位都置为0,而一旦该标志位置为1,则接收该数据包的主机将立即断开这个TCP会话连接,不再利用该连接进行数据包发送和接收。

    TCP重置报文的设计是为了避免在发生一些特殊情况时TCP会话仍继续传输无效数据,如通信一方的服务进程如果崩溃后重启,丧失掉了已建TCP会话的上下文环境,那么它就可以利用重置报文关闭掉当前的连接,然后重新建立连接进行正常通信。

    一旦恶意攻击者滥用TCP重置报文,就会对正常的网络通信造成严重威胁。

    TCP RST攻击除了在恶意攻击中使用之外,有些网络入侵检测和防御系统也使用了该项技术手段来阻断攻击连接。

    TCP会话劫持攻击

    TCP会话劫持,其目标是劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份,与另一方进行进一步通信。通常一些网络服务会在建立TCP会话之后进行应用层的身份认证,客户端在通过身份认证之后,就可以通过TCP会话连接对服务端进行控制或获取资源,期间不再需要再次进行身份认证。

    TCP会话劫持为攻击者提供了一种绕过应用层身份认证的技术途径。

    防范措施:

    • 在下一代互联网协议设计方面从根本上避免会话劫持攻击

    • 禁用主机上的源路由

    • 采用静态绑定IP-MAC映射表以避免ARP欺骗

    • 引用和过滤ICMP重定向报文

    • 后三个措施能够避免攻击者成为通信双方的中间人,从而轻易地进行会话劫持攻击。

    TCP SYN Flood拒绝服务攻击

    TCP SYN Flood,又称SYN洪泛攻击。利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。

    防范措施:SYN-Cookie技术和防火墙地址状态监控技术

    UDPFlood拒绝服务攻击

    UDPFlood拒绝服务攻击通过向目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升,或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。

    防范措施:

    • 禁用或过滤监控和响应服务

    • 禁用或过滤其他的UDP服务

    • 如果用户必须提供一些UDP服务的外部访问,那么需要在网络关键位置使用防火墙和代理机制来过滤掉一些非预期的网络流量来保护这些服务,使它不会被滥用

    • 遭遇到超出网络带宽资源的分布式拒绝服务攻击流量时,除了网络扩容和转移服务器位置之外,还应汇报给安全应急响应部门,对攻击者进行追溯和处置。

    • 一些ISP会提供流量清洗解决方案,能够为一些关键客户和服务尽可能地在源头上发现针对他们的分布式拒绝服务攻击,从而尽早地过滤掉这些攻击流量,避免它们进入到目标网络中造成危害

    TCP/IP网络协议栈攻击防范措施

    监测、预防与安全加固

    在网络接口层,主要监测和防御的安全威胁是网络嗅探。

    可以利用防范网络嗅探的思路,检测出局域网中的监听点,并在网络设计上尽量细分和优化网络结构,尽量消除数据广播的情况,并对关键路径上的网关、路由器等设备进行严格的安全防护,以减少网络嗅探的危害影响。

    此外,对于无线网络而言,应增强链路层加密的强度,同时对各类网络采用上层的加密通信协议,使得通信即使遭受嗅探也不会破坏数据的机密性属性要求。

    互联层

    虽可以采用多种检测和过滤技术来发现和阻断网络中可能出现的欺骗攻击,此外也应增强防火墙、路由器和网关设备的安全策略,对一些用于欺骗攻击的特殊数据包进行过滤,特别是对外部网络进行欺骗攻击的数据包进行出站过滤,只有如此,才能共同维护整个互联网的安全。对关键服务器使用静态绑定IP-MAC映射表、使用IPsec协议加密通信等预防机制,可以有效地增强网络对欺骗攻击的抵御能力。

    传输层,可以实现基于面向连接和无连接服务的加密传输和安全控制机制

    包括身份认证,访问控制等。

    应用层

    可以采用加密、用户级身份认证、数字签名技术、授权和访问控制技术,以及主机安全计入,如审计、入侵检测等

    网络安全协议

    下一代互联网协议

    以IPv6为代表的下一代互联网协议的设计、标准化与改进,从根本上改善TCP/IP协议栈的安全状况提供了一个绝佳的机会。

    与IPv4相比,IPv6的优势:

    • IPv6具有更大的地址空间。IP地址长度为32→128,庞大的地址空间也能够有效的抵御随机化的网络打描攻击

    • IPv6 使用更小的路由表。IPv6 的地址分配从一开始就遵循聚类原则,这使得路由器能在路由表中用一条记录表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度

    • IPv6增加了增强的组播支持以及对流的支持

    • IPv6 加入了对自动配置的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。此外IPv6去除了安全性极差的ARP协议进行IP地址至MAC地址的查询和变换,而将该功能交由经过安全增强的ICMPv6负责

    • IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大增强了网络安全性,在传输层,也提供了基于TCP/UDP的安全机制

    实践作业(P174)

    请在网络攻防实验环境(以SEED_ VM作为攻击机,Linux Metasploitable/WindowsMetasploitable作为靶机)中完成TCP/IP协议栈重点协议的攻击实验,具体包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击及TCP会话劫持攻击。

    镜像类型 镜像名称 用户名 密码 su/su - 提权密码 IP地址
    linux攻击机 kali kali kali - 192.168.200.2
    windows攻击机 windowsXP Attacker - mima1234 - 192.168.200.3
    linux攻击机/靶机 SEEDUbuntu seed dees dees 192.168.200.4
    Linux靶机 Metasploitable2-Linux msfadmin msfadmin - 192.168.200.125
    windows靶机 win2kServer administrator mima1234 - 192.168.200.124
    蜜罐网关 roo roo honey honey 192.168.200.8

    ARP缓存欺骗攻击

    arp命令 命令详解
    -v 显示详细信息;
    -n 以数字地址形式显示;
    -i If选择界面;
    -H type设置和查询arp缓存时检查 type 类型的地址;
    -a [hostname] 显示指定 hostname 的所有入口;
    -d hostname 删除指定 hostname 的所有入口;
    -D 使用ifa硬件地址界面;
    -s hostname hw_addr 手工加入 hostname 的地址映射;

    -f filename 从指定文件中读入 hostname 和硬件地址信息

    打开蜜网网关,通过su -提权,运行命令tcpdump -i eth0 icmp

    打开靶机A:Metasploitable2-Linux,和靶机B:win2kServer,用 A ping B:ping 192.168.200.124

    发现AB是联通的

    查看一下A的MAC地址ifconfig

    A的MAC地址为00:0c:29:1a:16:9e

    欺骗A,所以在攻击机当中执行以下命令···sudo netwox 33 -b -(A的mac地址) -g -(B的ip地址) -h -(A的mac地址) -i -(A的ip地址)···

    即在SEEDUbuntu中使用命令sudo netwox 33 -b 00:0c:29:1a:16:9e -g 192.168.200.124 -h 00:0c:29:1a:16:9e -i 192.168.200.125

    查看到攻击机地址为00:0c:29:b3:48:4c

    欺骗前后分别用arp -a查看A中arp缓存内容

    对比攻击前后两次内容可发现B的MAC地址已改为攻击机的MAC地址,达到欺骗A的目的。

    ICMP重定向攻击

    镜像名称 用户名 密码 su/su - 提权密码 IP地址 本实验中用途
    kali kali kali - 192.168.200.2 攻击机A
    SEEDUbuntu seed dees dees 192.168.200.4 靶机B
    windowsXP Attacker - mima1234 - 192.168.200.3 靶机C

    查看WinXP的路由表信息netstat -rn

    在kali中输入命令sudo netwox 86 -f "host 192.168.200.3 " -g 192.168.200.2 -i 192.168.200.1-f代表靶机地址,-g代表靶机的下一跳地址,-i代表伪造的身份。意思以路由192.168.200.1的名义向数据包的源地址192.168.200.3发送一个ICMP重定向报文,使其使用192.168.200.2为默认的路由。

    然后我们来看一下wireshark捕到的包

    可以看出被攻击机WinXP一直在被发送icmp路由重定向攻击。

    再次在WinXP中查看路由表,发现kali的IP地址已经出现(若没有出现,则先在WinXP打开随便什么网站,再查看路由表)

    SYN Flood攻击

    镜像名称 用户名 密码 su/su - 提权密码 IP地址 本实验中用途
    kali kali kali - 192.168.200.2 攻击机A
    Metasploitable2-Linux msfadmin msfadmin - 192.168.200.125 靶机B
    windowsXP Attacker - mima1234 - 192.168.200.3 靶机C

    使用WinXP登录靶机B,telnet 192.168.200.125

    输入用户名msfadmin,密码msfadmin,登陆成功

    在攻击机kali上使用Netwox中的76号工具,对靶机的23号端口进行SYN Flood攻击sudo netwox 76 -i 192.168.200.125 -p 23

    打开Wireshark查看,可以看到攻击机向靶机发送了大量的虚假ip发出的SYN连接请求

    再次使用WinXP登录靶机B,telnet 192.168.200.125,发现已失去和主机的联系。

    TCP RST攻击

    镜像名称 用户名 密码 su/su - 提权密码 IP地址 本实验中用途
    kali kali kali - 192.168.200.2 攻击机A
    Metasploitable2-Linux msfadmin msfadmin - 192.168.200.125 靶机B
    windowsXP Attacker - mima1234 - 192.168.200.3 靶机C

    使用WinXP登录靶机B,telnet 192.168.200.125

    输入用户名msfadmin,密码msfadmin,登陆成功

    在攻击机kali上使用Netwox的78号工具“Reset every TCP packet”来实现TCP RST攻击sudo netwox 78 -i 192.168.200.125

    打开攻击机中的Wireshark查看抓包情况,可以看到第16号数据Metasploitable2-Linux向windowsXP发送了RST

    此时再次使用WinXP,发现已失去和主机的联系

    TCP会话劫持攻击

    镜像名称 用户名 密码 su/su - 提权密码 IP地址 本实验中用途
    kali kali kali - 192.168.200.2 攻击机A
    Metasploitable2-Linux msfadmin msfadmin - 192.168.200.125 靶机B
    windowsXP Attacker - mima1234 - 192.168.200.3 靶机C

    结合ARP欺骗来进行TCP会话劫持攻击。这里使用的ettercap是执行ARP欺骗嗅探的工具,通常用它来施行中间人攻击。

    在kali中打开节点的IP转发功能:

    sudo su
    
    cat /proc/sys/net/ipv4/ip_forward
    
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    cat /proc/sys/net/ipv4/ip_forward
    

    kali中,执行命令ettercap -G打开Ettercap工具,选择“eth0”作为嗅探监听接口

    点击左上角第三个图标,进入···Host List···

    点击左上角第二个按钮,Scan for hosts扫描局域网内攻击目标

    分别添加windowsXP的IP192.168.200.3和Metasploitable2-Linux的IP地址192.168.200.125为target1和target2

    选择菜单右上角第一个图标MITM menu中的 ARP poisoning 进行ARP欺骗

    并选择Sniff remote connections

    分别在两靶机中执行arp -a查看MAC地址缓存,发现ARP欺骗攻击已经成功。

    回到kali的Ettercap,选择菜单右上角第三个图标Ettercap Menu菜单栏上选择【View】-【Connections】

    在WinXP上执行telnet 192.168.200.125,发现失去联系

    回到kali可以看到Ettercap已经截获了telnet登录的两个主机的信息

    双击上方的会话连接,可进一步显示截获的数据,此时WinXP那边没有登录,没有截获到账号密码

    又重新telnet了一次,登录,返回可看到截获的账号密码

    查看kali中wireshark的抓包,发现了很多Tcp Dup ACK XXX#XTcp Retransmission,劫持成功!其中TCP Dup ACK XXX#X是重复应答#前的表示报文到哪个序号丢失,#后面的是表示第几次丢失,TCP Retransmission是超时引发的数据重传。也就是书上说的ACK风暴。

    遇到的问题

    • 问题1:ARP欺骗时弄混AB两机IP地址位置导致欺骗前后arp -a缓存内容无变化

    • 解决:更正即可。

    • 问题2:看别的同学遇到的问题时,一位同学表示:

      但我实验时候没有用打开任何网页,就出现攻击机IP地址了。但我又去试了试打开网页后的路由表,发现多了一些内容。

      猜测可能我的WinXP本来就在后台运行着别的东西??

    • 问题3:TCP会话劫持攻击时,输入命令echo 1 > /proc/sys/net/ipv4/ip_forward拒绝访问

    • 解决:sudo提权。

    思考感悟

    总的来说这次实验不算棘手,因为牵扯到的虚拟机比较多,所以要细心理清楚谁是谁。
    还有虚拟机老是卡死太烦躁了,点也没反应,关机还半天卡那里关不上。尤其是你!kali!

    参考资料


    此为本人网络攻防学习第五周的内容,如有不足,还请批评指正,不胜感激。

    以上

  • 相关阅读:
    【需求征集系统】打卡(五)
    【需求征集系统】打卡(五)
    《需求分析与系统设计》阅读笔记(一)
    每周总结【2020/10/24】————Redis与Mongodb初学
    【需求征集系统】打卡(四)
    【需求征集系统】打卡(三)
    初步自学Java小结
    关于“教室派”APP的使用报告和相关建议
    冲刺第一天
    结对开发之求环形数组的最大值
  • 原文地址:https://www.cnblogs.com/qianxiaoxu/p/12591132.html
Copyright © 2011-2022 走看看