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

(:」∠)_

一、实践内容

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

1.1 网络安全属性与攻击模式

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

  • 网络安全属性:机密性,完整性,可用性,真实性,不可抵赖性。
  • 网络攻击基本模式:截获(嗅探与监听),中断(拒绝服务),篡改(数据包篡改),伪造(欺骗)。
  • 中间人攻击:数据包篡改和身份欺骗相结合,攻击者通过各种技术手段与通信双方建立起各自独立的会话连接,并进行消息的双向转发,使他们误以为是通过一个私有通道在直接通信,而实际上整个会话都是由攻击者所截获和控制的。

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

  • TCP/IP网络协议栈,设计之初的目标是,使用一个共用互联网络协议,将不同类型的孤立网络与计算机连接在一起。后来获得了巨大的成功并促成了互联网全球互联时代的到来,TCP/IP网络协议栈中存在的安全缺陷开始浮出水面,被安全社区所关注。

  • TCP/IP网络协议栈在设计时采用了分层模型,分为了网络接口层、互连层、传输层与应用层。每一层负责不同的功能,各自具有相应的网络协议。在每个层次上的网络协议都存在着一定的安全问题或设计缺陷,目前也已经出现相应的攻击技术。

1.3 原始报文伪造技术及工具

  • 实现欺骗技术需要攻击者伪造出特制的网络数据报文发送给目标主机,使其在接受处理这些伪造报文时遭受攻击。

  • 在类UNIX平台和windows平台上,攻击者都可以通过使用原始套接字,绕过TCP/IP协议栈的报文封装处理和验证,构造出任意的数据报文。

2.网络层协议攻击

2.1 IP源地址欺骗

  • 原理:IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。

    • 大多数情况下,IP数据包的源地址会被正确地设置为数据包所发出的IP地址,但怀有恶意目的的攻击者则会修改IP协议包头,使其包含一个不同的虚假IP地址,使其看起来像是从另外一个地址发出的,这样就达到了欺骗目标和隐藏发送源的目的。
    • 在特定环境中,攻击者也可能嗅探到响应包,或者能够将相应包重定向到受控主机上,最常见的情况是攻击者与假冒IP地址处在同一局域网内,可以实施ARP欺骗或路由重定向攻击劫持响应包,这时攻击者就能够完全假冒这些主机进行网络交互了。
  • 利用IP源地址欺骗进行IP假冒的攻击过程:

    • 1、对受信任主机进行拒绝服务攻击,使其丧失工作能力,避免其在接收到响应包后影响欺骗过程;
    • 2、对目标主机的TCP初始序列号(ISN)进行取样与猜测;
    • 3、伪造源地址为受信任主机IP的SYN数据包,发送给目标主机;
    • 4、等待目标主机将SYN/ACK包发给已瘫痪的受信任主机;
    • 5、再次伪装成被信任主机向目标主机发送ACK包,设置发送数据包的ACK值为预测目标主机ISN+1,可以通过发送大量不同ACK值得数据包以提高命中得可能性;
    • 6、连接建立,假冒被信任主机与目标主机通信。

2.2 ARP欺骗

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

  • ARP协议工作原理:ARP协议用于将网络主机的IP地址解析成其MAC地址,然后在局域网内通过MAC地址进行通信。

  • ARP协议的基本功能就是对目标IP地址查询它的MAC地址,以便把数据包发送到目标主机。

  • ARP协议完成IP地址到MAC地址映射的过程的步骤:

    • 1、每台主机设备上都拥有一个ARP缓存,根据以往在网络中与其他主机的通信,在ARP缓存中维护着已访问网络主机的IP地址和MAC地址的映射关系;
    • 2、当一台主机需要将数据包发送到目标主机是,首先会检查自己的ARP缓存中是否存在目标主机IP地址所对应的MAC地址。如果有,则直接将数据包发送到这个MAC地址;如果没有,就向本地局域网发送一个ARP请求广播包,查询目标主机IP地址所对应的MAC地址;
    • 3、本地局域网段中所有主机在收到这个ARP请求包之后,会检查数据包中的目标IP地址时候与自己的IP地址一致,如果不相同就忽略此数据包;如果相同,该节点首先将源端IP地址和MAC地址的映射关系添加到自己的ARP缓存中。如果发现ARP缓存中已经存在该IP地址的记录项,则将其覆盖,然后给源节点发送一个ARP响应数据包,告诉对方自己是它所查找的MAC地址节点;
    • 4、源节点在收到这个ARP响应数据包后,将得到的目标主机IP地址和MAC地址对的映射表项添加到自己的ARP缓存中,并利用此信息开始数据包的传输,如果源节点一直没有收到ARP响应数据包,则表示ARP查询失败。
  • ARP欺骗攻击技术原理:攻击的根源在于ARP协议在设计时认为局域网内部的所有用户都是可信的,时遵循协议设计规范的,但事实上并非如此,局域网内可以存在内部攻击者,或者已渗透进入局域网的外部攻击者恶意代码。ARP协议在进行IP地址到MAC地址映射查询时存在安全缺陷,一方面采用了广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证的技术流程与方法,而另一方面ARP协议为提高效率,设计了ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。

  • ARP欺骗的实施过程:假设源节点A的IP地址为IP(A),MAC地址为MAC(A),它正在与目的节点B进行通信,节点B的IP地址为IP(B),MAC地址为MAC(B),而同一局域网内攻击者为节点C,其IP地址为IP(C),MAC地址为MAC(C)。

2.3 ICMP路由重定向攻击

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

  • ICMP路由重定向机制原理:
    • IP协议虽然十分简洁,但是也有其缺点:缺少差错控制和查询机制。而数据报通过互联网传输的过程中可能碰到各种传输错误,比如数据报生存时间超过而被丢弃,路由器找不到最终目的节点的路由器,路由器处理不了短时间到达的大量IP数据报等等。而IP协议本身是不处理这些问题,于是为了解决这些问题,设计了ICMP协议。
    • ICMP报文类型(两类):
      • 差错报文:目的站不可达、数据报超时、数据报参数错误;
      • 控制类报文:
        • 请求/应答类(成对出现):回送请求/应答、地址掩码请求/应答、路由器恳求/通告、时间戳请求/应答;
        • 通知类:源站抑制、重路由定向。
  • 攻击过程步骤:
    利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则 可以伪装成路由器,使目标机器的数据报发送至攻击机从而加强监听。

3.传输层协议攻击

3.1 TCP RSP攻击

伪造TCP重置报文攻击,是指一种假冒干扰TCP通信连接的技术方法。

3.2 TCP会话劫持攻击

TCP会话劫持是一项更为复杂的TCP协议攻击技术方法,其目标是劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份,与另一方进行进一步通信。

3.3 TCP SYN Flood拒绝服务攻击

  • 拒绝服务攻击(Dos)是比较有效而又非常难于防御的一种网络攻击方式,其目的就是服务器不能够为正常访问的用户提供服务。
  • TCP SYN Flood,又称SYN洪泛攻击,是目前最有效和流行的一种拒绝服务攻击形式。它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。

3.4 UDP Flood拒绝服务攻击

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

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

  • 监测、预防与安全加固
    • 在网络接口层,主要的安全威胁是网络嗅探。主要任务是利用防范网络嗅探的思想检测监听点,并在设计上细分和优化网络结构。
    • 在互连层上。采用多种检测和过滤技术进行检测和预防,并通过静态绑定IP-MAC映射表、使用IPsec进行安全加固
    • 在应用层上。采用审计、入侵检测等方法进行检测和预防,通过加密、用户及身份认证、数字签名技术和授权及访问控制等进行安全加固。
  • 网络安全协议
    • 网络接口层:IEEE 802.11下属的相关协议,如WEP和WPA/WPA2,还有IEEE8002.11X协议
    • 网络互连层:IPsec协议簇。IPsec协议包含AH协议和ESP协议, AH协议提供无连接的完整性、数据源认证和抗重放保护服务;ESP提供IP协议的机密性、数据源验证、抗重放以及数据完整性保护服务。
    • 传输层的安全协议:传输层上的安全协议是TLS。基本特性是:加密和可靠。
    • 应用层安全协议:针对不同的安全机制可以使用HTTPS代替HTTP、S/MIME代替POP3/SMP,SSH代替telnet等等。
  • 下一代互联网协议

二、实践过程

实践作业

在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。

实验环境

假设 虚拟机 IP地址 MAC地址
A Metasploitable_Linux 192.168.200.125 00:0c:29:c1:1e:0c
B SEEDubuntu 192.168.200.9 00:0c:29:d0:f8:42
C Kali Linux 192.168.200.2 00:0c:29:35:15:21

IP源地址欺骗

  • 先给安装两个工具:netwox和netwag

  • 打开wireshark开始抓包,kali终端中输入命令

netwox 41 -l 192.168.200.180 -m 192.168.200.2

netwox 41表示netwox第41号工具构造ICMP数据包并且需要设定IP地址;-l 表示显示与审计相关的模块;192.168.200.180为伪造的源地址;-m表示显示与暴力破解相关的模块;192.168.200.2表示目标IP地址。

  • 此命令的原理与Ping命令类似,都是需要ARP协议转换IP到MAC才能进行数据传输,因此可以看到下图的蓝色的框就是kali主机192.168.1.100先向网关192.168.1.1(由于不在一个局域网中所以需要通过网关)发送数据然后得到kali的MAC地址,再进行IP数据的传输,则就是下面红色的框进行广播询问是否有源IP地址发出的数据告诉kali,至此完成了IP源地址的欺骗。

ARP欺骗

  • 打开kali的IP转发功能:使用命令:netwox 33 -b A_MAC -g B_IP -h A_MAC -i A_IP其中-b: 显示网络协议下相关的模块;-g:显示与客户端相关的模块;-h:显示与服务器相关的模块;-i:显示与检测主机连通性相关的模块;从图中可以看到已经实现IP(B)/MAC(C)的ARP欺骗

  • 使用命令netwox 33 -b B_MAC -g A_IP -h B_MAC -i B_IP实现IP(A)/MAC(C)的ARP欺骗

  • B->A通信:在B中执行命令ftp 192.168.200.125输入A主机账号和密码登录成功,在B机的wireshark中捕获:

ICMP重定向攻击

  • 先产看SEED的路由表信息,在执行netwox 86 -f "host B_IP" -g A_IP -i 路由IP,并查看wireshark:

SYN Flood攻击

  • 利用B向靶机A发起telnet服务访问,用C攻击机攻击靶机的telnet服务端口,并用Wireshark查看。
  • 使用B向A发起登陆telnet A_IP,输入用户名密码(MetaSploitable登陆的用户名密码)。
  • 在C上利用netwox的76号工具对靶机的23号端口进行SYN Flood攻击netwox 76 -i A_IP -p 23,打开Wireshark查看,可以看到攻击机向靶机发送了大量的虚假ip发出的SYN连接请求,这些虚假的连接请求没有MAC地址,无法溯源攻击者的真实身份。同时我们在SEED Ubuntu上进行访问也发现无法访问了。

TCP RST攻击

  • 利用B向靶机A发起telnet服务访问,用C攻击机对靶机发起TCP RST攻击。
  • 在Kali上利用netwox的78号工具对靶机进行TCP RST攻击netwox 78 -i 192.168.200.125

TCP会话劫持攻击

假设 虚拟机 IP地址 MAC地址
A xpattacker 192.168.200.4 00:0c:29:d5:70:53
B Metasploitable_Linux 192.168.200.125 00:0c:29:c1:1e:0c
C Kali Linux 192.168.200.2 00:0c:29:35:15:21
  • kali中打开Ettercap工具,选择“eth0”作为嗅探监听接口

  • Hosts 菜单中选择 Scan for hosts 扫描局域网内攻击目标,并随后在菜单 Hosts list 中,选择192.168.200.4 和 192.168.200.125 分别为target1和target2,如下图所示:

  • 在主机A和B中执行 arp -a 查看MAC地址缓存,发现ARP欺骗攻击已经成功。00:0c:29:35:15:21均可以被查找到

  • 在主机A-WinXP上执行 telnet 192.168.200.125 ,在kali中的Ettercap菜单栏上选择View-Connections,可以看到Ettercap已经截获了telnet登录的两个主机的信息;并且用户名和密码也都被截获了

三、实践总结

1、apt又出现了不能更新的情况:
换了中科大的源
2、发现很多同学需要把网络改成桥接模式:
我的kali本来就可以联网,改成桥接模式反而无法连上,于是改回原来的NAT
3、参考了文文的(博客)[https://www.cnblogs.com/besti-20199303/p/12613225.html]
4、每次做作业都感觉眼睛要瞎了,一做两三天,感觉心累,都没精力做别的了。。。

原文地址:https://www.cnblogs.com/hsj910/p/12594519.html