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


    作业课程: https://edu.cnblogs.com/campus/besti/19attackdefense
    作业要求: https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553
    课程目标: 学习《网络攻防技术与实践》教材第五章,并完成课后作业
    本次作业实现目标: 学习TCP/IP网络协议攻击技术和实践操作

    作业正文:

    1 知识点梳理

    1.1 网络安全

    网络安全:网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭受破坏、更改、泄露,系统连续可靠正常运行,网络服务不被中断。
    网络安全属性

    • 机密性:网络中的信息不被非授权实体获取和使用,通常基于加密算法进行保障。
    • 完整性:信息未经授权不能进行改变的特性,即信息在存储和传输过程中保持不被修改、不被破坏和丢失的特性。
    • 可用性:被授权实体访问并按需求使用的特性,即当需要时能够正常地存取和访问所需的信息与服务。
    • 真实性:被授权实体访问并按需求使用的特性,即当需要时能够正常地存取和访问所需的信息与服务。
    • 不可抵赖性:在通信中确保任何一方无法抵赖自己曾经做过的操作的安全特性,包括对自己行为的不可抵赖及对行为发生时间的不可抵赖。

    网络攻击基本模式

    • 截获:一种被动攻击模式,其目的是获取网络通信双方的通信信息内容,是对机密性的违反,具体攻击技术为嗅探与监听。
    • 中断:一种主动攻击模式,致使正常的网络通信和会话无法继续,是对可用性的破坏,具体攻击技术为拒绝服务。
    • 篡改:一种主动攻击模式,对网络通信过程的信息内容进行修改,是的通信一方或双方接收到篡改后的虚假信息,是对完整性的违背,具体技术为数据包篡改,一般需要结合身份欺骗进行中间人攻击。
    • 伪造:一种主动攻击模式,假冒网络通信方的身份,欺骗通信对方达到恶意目的,是对真实性属性的背离,具体攻击技术为欺骗。
    • 中间人攻击:一种主动攻击模式,通过各种技术手段与通信双方建立起各自独立的会话连接,并进行消息的双向转发。

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


    2 实验内容

    2.1 网络层协议攻击

    2.1.1 IP地址欺骗

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

    • 1.对受信任主机进行拒绝服务供给,使其丧失工作能力;
    • 2.对目标主机的TCP初始序列号(ISN)进行取样与猜测;
    • 3.伪造源地址为受信任主机IP的SYN数据包,发送给目标主机;
    • 4.等待目标主机将SYN/ACK包发给已瘫痪的受信任主机;
    • 5.再次伪装成被信任主机向目标主机发送ACK包,设置发送数据包的ACK值为预测目标哦主机ISN+1;
    • 6.连接建立,假冒被信任主机与目标主机通信。


      防范措施
    • 使用随机化的初始序列;
    • 使用网络层安全传输协议如IPsec,对传输数据包进行加密;
    • 避免采用基于IP地址的信任策略,以基于加密算法的用户身份认证机制来替代这些访问控制策略;
    • 在路由器和网关上实施包过滤是对抗IP源地址欺骗的一种主要技术。

    2.1.2 ARP欺骗

    ARP欺骗:攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。
    攻击示意图

    • 1.源节点A通过广播的形式在局域网内发送ARP请求包,询问节点B的IP地址所映射的MAC地址;
    • 2.局域网内的攻击节点虽然不是ARP包的目标IP地址,但不断向源节点发送ARP响应包;
    • 3.虽然B节点也向源A发出了ARP响应,但是源节点上会强制以节点C发送的响应包中的信息来更新ARP缓存;
    • 4.源节点A再次发送数据包到目的节点B时,根据错误的映射记录,会直接把数据包发送给节点C;
    • 5.利用相同的方法,攻击节点C也可以对节点B假冒节点A,形成中间人攻击。


      防范措施
    • 静态绑定关键主机IP地址与MAC地址映射;
    • 使用ARP防范工具;
    • 使用VLAN虚拟子网细分网络拓扑;
    • 以加密传输数据以降低ARP欺骗攻击的危害后果。

    2.1.3 ICMP路由重定向

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

    • 差错报告报文:目的站不可达,数据报超时,数据包参数错误。
    • 控制报文:请求/应答报文,通知报文。
      攻击示意图
    • 1)攻击节点利用IP源地址欺骗技术,冒充网关IP地址,向被攻击节点发送ICMP重定向报文,并将指定的新路由器IP地址设置为攻击节点;
    • 2)被攻击节点选择攻击节点作为其新路由器(网关);
    • 3)攻击节点可以开启路由转发,充当中间人;


      防范措施:设置防火墙过滤,对ICMP重定向报文判断是不是来自本地路由器

    2.2 传输层协议攻击

    2.2.1 TCP RST攻击

    TCP重置报文:一种假冒干扰TCP通信连接的技术方法,reset标志位为1时主机将断开这个TCP会话连接。
    攻击示意图

    攻击机可以发送TCP重置报文导致通信双方TCP连接断开,达到拒绝服务的效果。

    2.2.2 TCP会话劫持攻击

    TCP会话劫持:劫持建立TCP通信的会话连接,假冒其中一方与另一方进一步通信,该攻击绕过了应用层的身份认证。
    ACK风暴:在网络中来回发送ACK,构成死循环,直到其中一个ACK由于网络拥塞或其他原因丢失。
    攻击示意图



    防范措施

    • 1)优化初始序列号随机化;
    • 2)禁用主机上的源路由;
    • 3)采用静态绑定IP-MAC映射表以避免ARP欺骗;
    • 4)引用和过滤ICMP重定向报文,采用网络层加密机制。

    2.2.3 TCP SYN Flood拒绝服务攻击

    TCP SYN Flood拒绝服务:使服务器不能够为正常访问的用户提供服务。
    正常的三次握手建立TCP连接

    攻击示意图

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


    防范措施

    • 1)SYN-Cookie技术;
    • 2)防火墙地址状态控制技术。

    3.实践作业

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

    3.1 ARP缓存欺骗攻击

    攻击机SEED:IP为192.168.200.4,MAC地址为00:0c:29:8f:cc:a9

    靶机1Linux Metasploitable:IP为192.168.200.102,MAC地址为00:0c:29:c8:14:8b

    靶机2win2kServer:IP为192.168.200.103,MAC地址为00:0c:29:bb:a0:45

    一开始靶机之间没有ARP映射关系,通过靶机2ping靶机1,让靶机2获得靶机1的ARP映射信息


    使用命令netwox 33 -b 00:0c:29:bb:a0:45 -g 192.168.200.102 -h 00:0c:29:bb:a0:45 -i 192.168.200.103替换ARP缓存,其中两个MAC地址都是靶机2的MAC地址,第一个IP地址为靶机1的IP地址,第二个IP地址为靶机2的IP地址,攻击机截获了靶机2的ARP请求包,向靶机2不断发送ARP响应包,由此修改了原本ARP缓存靶机1的MAC地址。



    在靶机2上通过arp -a命令可以看到靶机1的IP地址没变,但是MAC地址已经被替换为攻击机的MAC地址:


    3.2 ICMP重定向攻击

    首先在windows靶机中用命令route print查询当前默认网关为192.168.200.1:


    然后在攻击机Kali上通过命令netwox 86 -f “host 192.168.200.10” -g 192.168.200.7 -i 192.168.200.1,以原默认网关192.168.200.1的名义向源IP地址192.168.200.10发送一个ICMP重定向数据包,把默认网关的MAC地址改为攻击机192.168.200.7的MAC地址:


    查询靶机的route跳转记录,可以发现经过攻击机192.168.200.7:


    3.3 TCP RST攻击

    使用netwox第78号工具发起攻击,执行命令netwox 78 -i 192.168.200.4,对dees机进行TCP RST攻击,冒充靶机向目的IP发送大量RST标志位1的数据包,导致TCP连接断开,靶机与目标服务器断开通信:



    可以看到靶机已与百度网页断开通信:


    3.4 SYN Flood攻击

    使用netwox中的76号工具进行攻击,执行netwox 76 -i "192.168.200.4" -p 23对靶机的23号端口进行SYN Flood攻击:


    在wireshark上进行抓包,发现攻击机向靶机发送大量虚假SYN连接请求,这些请求没有MAC地址,无法查询攻击者:


    对靶机进行telnet连接,显示连接失败:


    3.5 TCP会话劫持攻击

    安装ettercap命令apt-cache search ettercap,apt-get install -y ettercap-graphical,启动web服务/etc/init.d/apache2 start,/etc/init.d/apaches2 status:


    修改/etc/ettercap/etter.dns配置文件,添加欺骗的A记录和PDR记录:


    输入ettercap -G开启ettercap,选择eth0网卡,点击开启服务,然后选择HostsHosts list,然后点击Scanf for hosts,能显示当前网段内的扫描的主机IP,将windows靶机192.168.200.3添加为Target1,将SEED靶机192.168.200.4添加为Target2:


    然后选择ARP posisoning,勾选Sniff remote connections,开始远程嗅探:


    靶机之间ARP查询,对方MAC地址已经变为攻击机MAC地址:




    靶机之间进行ping操作,嗅探结果如下:


    靶机之间进行telnet连接,嗅探结果如下:


    靶机登录百度,嗅探结果如下:


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

    • 问题1:登录kali机后发现eth0不见了
      问题1解决方案:不知道是什么原因,查询网上的解决方案/etc/network/interfaces文件中添加eht0的自动启动,并重新配置了DNS服务器。

    • 问题2:ICMP路由重定向攻击失败
      问题2解决方案:原来的靶机用的是仅主机模式,将其修改为NAT模式重定向就可以成功

    • 问题3:netwox和ettercap的使用
      问题3解决方案:netwox的使用语法参考主要参考了教材,ettercap的安装和配置稍显复杂,参考了这篇ettercap入门学习博客

    5.学习感悟和思考

    本次学习内容主要包括TCP/IP网络协议中的常见攻击技术,并对其在配置的虚拟机环境中进行了测试实践。感觉netwox还是一个比较全面的网络攻击软件,其中包括的命令不止以上实践所展示的,有时间还可以好好研究下,但是netwox没有很好的交互性,这就需要通过wireshark和其他的操作来对数据包进行嗅探和分析。

    参考资料

  • 相关阅读:
    模型层
    视图层,模板层
    ORM表关系建立
    CMakeList入门
    C++标准模板库
    C++基本语法
    g++应用说明
    Linux快捷键
    Git 操作备忘
    Block的详细介绍
  • 原文地址:https://www.cnblogs.com/louhao-20199310/p/12591670.html
Copyright © 2020-2023  润新知