zoukankan      html  css  js  c++  java
  • 信息安全保障技术实验一

    信息安全保障技术实验一

    一、实验准备

    1. win10虚拟机

    image-20210426155336664

    图1

    IP地址为192.168.194.252

    image-20210426161551551

    图2

    防火墙为关闭状态

    2.主机win10

    image-20210426161320690

    图3

    IP地址为192.168.169.249

    image-20210426161629048

    图4

    防火墙为关闭状态

    二、 Windows10虚拟机与Windows10主机虚拟机进行互相 Ping,相互能够 ping 通

    1. Windows10主机ping通Windows10虚拟机

    image-20210426162001803

    图5

    2. Windows10虚拟机ping通Windows10主机

    image-20210426162150760

    图6

    三、启用主机 、虚拟机下 Windows 的防火墙。

    1. Windows10主机ping Windows10虚拟机

    image-20210426162432770

    图7

    2. Windows10虚拟机pingWindows10主机

    image-20210426162558589

    图8

    三、在两台机器的防火墙上启用 ICMP 的相关流量

    1.启用 ICMP 的相关流量

    通过防火墙的高级设置的“入站规则”->“文件和打印机共享(回显请求”-ICMPv4-In)(专用、公用)”->“启用规则”。

    image-20210426162752892

    图9

    右键属性启用规则,有一个绿色的对勾就成功了

    image-20210426163226571

    图10

    2. Windows10主机ping Windows10虚拟机

    image-20210426163635578

    图11

    3. Windows10虚拟机pingWindows10主机

    image-20210426163813939

    图12

    四、新建连接规则

    1.在主机win10设置规则

    通过“控制面板”->“系统和安全”->“Windows 防火墙”->左边的“高级设置”->“连接安全规则”->“新建规则”->要求(“出站和入站连接要求身份验证”)->“身份验证方法”->“高级”->“自定义”->“第一身份验证”-〉“添加”->“预共享密钥”

    image-20210426164226224

    图13

    2.互相ping

    image-20210426165039313

    图14

    两边都ping不通

    3. wireshark抓包

    image-20210426170948335

    图15

    4.在虚拟机win10设置规则

    更换了一次网络,主机IP为192.168.31.63,另一台IP为192.168.31.69

    image-20210426191804687

    图16

    然后迅速在两个机器上启动规则,抓包

    image-20210426191943083

    图17

    按照源IP和目的IP 进行筛选得到IPsec协议的数据包

    ip.src eq 192.168.31.63 or ip.dst eq 192.168.31.63
    

    五、数据包分析

    步骤4.4中捕获的数据流(两端设置连接规则)

    1.第一包

    image-20210511213141933

    图18
    Internet Security Association and Key Management Protocol
        Initiator SPI: 7141cb3c535589a8
        Responder SPI: 0000000000000000
        Next payload: Security Association (1)
        Version: 1.0
        Exchange type: Identity Protection (Main Mode) (2)
        Flags: 0x00
        Message ID: 0x00000000
        Length: 292
        Payload: Security Association (1)
            Next payload: Vendor ID (13)
            Reserved: 00
            Payload length: 96
            Domain of interpretation: IPSEC (1)
            Situation: 00000001
            Payload: Proposal (2) # 1
                Next payload: NONE / No Next Payload  (0)
                Reserved: 00
                Payload length: 84
                Proposal number: 1
                Protocol ID: ISAKMP (1)
                SPI Size: 0
                Proposal transforms: 2
                Payload: Transform (3) # 1
                    Next payload: Transform (3)
                    Reserved: 00
                    Payload length: 40
                    Transform number: 1
                    Transform ID: KEY_IKE (1)
                    Reserved: 0000
                    IKE Attribute (t=1,l=2): Encryption-Algorithm: AES-CBC
                    IKE Attribute (t=14,l=2): Key-Length: 128
                    IKE Attribute (t=2,l=2): Hash-Algorithm: SHA
                    IKE Attribute (t=4,l=2): Group-Description: Alternate 1024-bit MODP group
                    IKE Attribute (t=3,l=2): Authentication-Method: Pre-shared key
                    IKE Attribute (t=11,l=2): Life-Type: Seconds
                    IKE Attribute (t=12,l=4): Life-Duration: 28800
                    
                Payload: Transform (3) # 2
                    Next payload: NONE / No Next Payload  (0)
                    Reserved: 00
                    Payload length: 36
                    Transform number: 2
                    Transform ID: KEY_IKE (1)
                    Reserved: 0000
                    IKE Attribute (t=1,l=2): Encryption-Algorithm: 3DES-CBC
                    IKE Attribute (t=2,l=2): Hash-Algorithm: SHA
                    IKE Attribute (t=4,l=2): Group-Description: Alternate 1024-bit MODP group
                    IKE Attribute (t=3,l=2): Authentication-Method: Pre-shared key
                    IKE Attribute (t=11,l=2): Life-Type: Seconds
                    IKE Attribute (t=12,l=4): Life-Duration: 28800
    

    数据包分析: 源IP是192.168.31.63,目的IP是 192.168.31.69,源端口和目的端口都是500,使用的是UDP协议

    发起者的SPI为7141cb3c535589a8,由于是第一个包,所以接收者的SPI为0(SA的第一部分)

    SA的第二部分是目标IP,为192.168.31.69

    SA的第三部分是安全协议,安全协议为ESP

    提供可选择的加密算法AES-CBC,哈希算法为sha-1,密钥长度为128位(AES的密钥长度可以是128、192或256位);第二个可供选择的加密算法为3DES-CBC,哈希算法为sha-1,3DES加密的默认密钥长度为24字节;Authentication-Method(身份验证)的方法为预共享密钥

    还协商了一个Life-Duration(寿命)为28800秒=480分钟

    3.第二包

    image-20210511181626497

    图19
    Internet Security Association and Key Management Protocol
        Initiator SPI: 7141cb3c535589a8
        Responder SPI: 746d38f821028b8d
        Next payload: Security Association (1)
        Version: 1.0
        Exchange type: Identity Protection (Main Mode) (2)
        Flags: 0x00
        Message ID: 0x00000000
        Length: 212
        Payload: Security Association (1)
            Next payload: Vendor ID (13)
            Reserved: 00
            Payload length: 60
            Domain of interpretation: IPSEC (1)
            Situation: 00000001
            Payload: Proposal (2) # 1
                Next payload: NONE / No Next Payload  (0)
                Reserved: 00
                Payload length: 48
                Proposal number: 1
                Protocol ID: ISAKMP (1)
                SPI Size: 0
                Proposal transforms: 1
                Payload: Transform (3) # 1
                    Next payload: NONE / No Next Payload  (0)
                    Reserved: 00
                    Payload length: 40
                    Transform number: 1
                    Transform ID: KEY_IKE (1)
                    Reserved: 0000
                    IKE Attribute (t=1,l=2): Encryption-Algorithm: AES-CBC
                    IKE Attribute (t=14,l=2): Key-Length: 128
                    IKE Attribute (t=2,l=2): Hash-Algorithm: SHA
                    IKE Attribute (t=4,l=2): Group-Description: Alternate 1024-bit MODP group
                    IKE Attribute (t=3,l=2): Authentication-Method: Pre-shared key
                    IKE Attribute (t=11,l=2): Life-Type: Seconds
                    IKE Attribute (t=12,l=4): Life-Duration: 28800
    

    发起者的SPI为7141cb3c535589a8,与上一个包保持一致,因为是回应包,所以接收者的SPI为746d38f821028b8d

    从第一个包中的两个加密方案中选择了AES-CBC方法,哈希算法为sha-1

    3.第三包

    image-20210511181519923

    图20
    Internet Security Association and Key Management Protocol
        Initiator SPI: 7141cb3c535589a8
        Responder SPI: 746d38f821028b8d
        Next payload: Key Exchange (4)
        Version: 1.0
        Exchange type: Identity Protection (Main Mode) (2)
        Flags: 0x00
        Message ID: 0x00000000
        Length: 260
        Payload: Key Exchange (4)
            Next payload: Nonce (10)
            Reserved: 00
            Payload length: 132
            Key Exchange Data: 94f2dddaa61fec1f6382b6fbce1a4d1a6dcdb8ac389ba3f3f4be266344f1af97d8a6ac63…
        Payload: Nonce (10)
            Next payload: NAT-D (RFC 3947) (20)
            Reserved: 00
            Payload length: 52
            Nonce DATA: aa54c025bfe36ad0557e2c372c2088df973e9c80cf5e5eb18198b906b59879b76f07fc01…
        Payload: NAT-D (RFC 3947) (20)
            Next payload: NAT-D (RFC 3947) (20)
            Reserved: 00
            Payload length: 24
            HASH of the address and port: ffb42fb173fec8ee3fc7eefc74b62e8083a948d6
        Payload: NAT-D (RFC 3947) (20)
            Next payload: NONE / No Next Payload  (0)
            Reserved: 00
            Payload length: 24
            HASH of the address and port: fe217d087fc0d0f8380ea5d3131f0fc25c33eb15
    
    

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    发起者发送自己的公开密钥(DH算法),即Key Exchange的数据,再发送一个随机数Nonce(防止重放攻击),最后两个payload应该是双方端口和IP的hash值

    4.第四包

    image-20210511183145500

    图21
    Internet Security Association and Key Management Protocol
        Initiator SPI: 7141cb3c535589a8
        Responder SPI: 746d38f821028b8d
        Next payload: Key Exchange (4)
        Version: 1.0
        Exchange type: Identity Protection (Main Mode) (2)
        Flags: 0x00
        Message ID: 0x00000000
        Length: 260
        Payload: Key Exchange (4)
            Next payload: Nonce (10)
            Reserved: 00
            Payload length: 132
            Key Exchange Data: fb8f8fb4b26804f6a639c591a00112d2ec14bd245331d9bb5eb0176c8915457b2102fce2…
        Payload: Nonce (10)
            Next payload: NAT-D (RFC 3947) (20)
            Reserved: 00
            Payload length: 52
            Nonce DATA: fd24a251479ddad8f247a688b9a496c54da8d17d57b6c7a8711fc26b5764f726d21c22e7…
        Payload: NAT-D (RFC 3947) (20)
            Next payload: NAT-D (RFC 3947) (20)
            Reserved: 00
            Payload length: 24
            HASH of the address and port: fe217d087fc0d0f8380ea5d3131f0fc25c33eb15
        Payload: NAT-D (RFC 3947) (20)
            Next payload: NONE / No Next Payload  (0)
            Reserved: 00
            Payload length: 24
            HASH of the address and port: ffb42fb173fec8ee3fc7eefc74b62e8083a948d6
    

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    接受者发送自己的公开密钥(DH算法),即Key Exchange的数据,再发送一个随机数Nonce(防止重放攻击),最后两个payload应该是双方端口和IP的hash值(和上一个包中的顺序有变化)

    协商出三个密钥:SKEYID_d ——推导密钥,衍生密钥,SKEYID_a ——验证密钥,SKEYID_e ——加密密钥
    用SKEYID_a、SKEYID_e保护DH的协商过程。至此,发起者和接收者可以根据公开密钥和自己的私钥计算出一个只有双方拥有的对称密钥

    IKE使用的密钥交换机制Oakley是基于Diffie-Hellman的密钥交换机制,并且有以下优点:

    • 使用cookie(SPI)来对抗阻塞
    • 使用nonce对抗重放攻击
    • 能够交换Diffie-Hellman公开密钥的值
    • 对Diffie-Hellman交换进行鉴别

    5.第五包

    image-20210511183710927

    图22
    Internet Security Association and Key Management Protocol
        Initiator SPI: 7141cb3c535589a8
        Responder SPI: 746d38f821028b8d
        Next payload: Identification (5)
        Version: 1.0
        Exchange type: Identity Protection (Main Mode) (2)
        Flags: 0x01
            .... ...1 = Encryption: Encrypted
            .... ..0. = Commit: No commit
            .... .0.. = Authentication: No authentication
        Message ID: 0x00000000
        Length: 76
        Encrypted Data (48 bytes)
    

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    Flags: 0x01的最后一位为1,表示数据已经被加密

    报文中含有认证的数据预共享密钥,数据的内容是发起者的身份和验证数据(hash值)

    6.第六包

    image-20210511184207269

    图23

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    Flags: 0x01的最后一位为1,表示数据已经被加密

    报文中含有认证的数据预共享密钥,数据的内容是接受者的身份和验证数据(hash值)

    到第六个包为止,主模式结束,这一阶段的内容大致可以概括为:

    包1、包2协商的算法

    包3、包4计算key值

    包5、包6通过预共享密钥身份认证

    7.快速模式的第一个包

    参考博客IPsec 9个包分析(主模式+快速模式)

    image-20210511220954721

    图24

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    Flags值为1,表示已加密但未提交,payload为hash

    message ID的值为1

    被加密的数据,主要为加密策略协商

    8.快速模式的第二个包

    image-20210511221310668

    图25

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    Flags值为3,表示已加密且提交,payload为hash

    message ID的值为1

    被加密的数据,主要为同意的加密策略协商

    9.快速模式的第三个包

    image-20210511221717238

    图26

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    Flags值为3,表示已加密且提交,payload为hash

    message ID的值为1

    加密的数据主要是为了确认接收方的消息以及证明发送方的第一条消息不是伪造的

    10.快速模式的第四个包

    image-20210511222047273

    图27

    发起者的SPI:7141cb3c535589a8和接收者的SPI:746d38f821028b8d与之前保持一致

    Flags值为3,表示已加密且提交,payload为hash

    message ID的值为1

    推测加密的数据主要是为了确认接收方的身份

    11.ESP包

    image-20210511222331715

    图28

    数据未经过加密(与Windows版本有关),SPI为0x5b1c9f60为发出ping指令的主机,SPI为0x76fe1a98 是接收ping的主机,由于ping会发出4个icmp包,所以应该有8个ESP包

    image-20210511222809123

    步骤4.3 中捕获的数据流(一端设置规则)

    image-20210511223409457

    图29

    主机192.168.169.249(已建立规则)向目标机192.168.169.56发送协商包ISAKMP,但是由于接收方没有相应的规则,所以使用ICMP包回应主机(内容与ISAKMP一致是策略协商),两台机器不停地互相回应缺无法协商出结果,导致ping超时

    如图29所示,两台主机之间会一直ISAKMP,ICMP且传输的内容是相同的

    六、为什么实验中为什们要进行步骤 4,在该步骤中完成了 IPSec 过程中的哪些工作流程?

    为了使主机之间的连接更加安全,在一个局域网内,任意一台主机都可以通过IP嗅探的方式探测到自己主机的存在,进一步可以探测端口,利用其中存在的漏洞进行攻击,但是有了连接安全规则会要求其他主机进行身份验证,需要共同的预共享密钥或者证书,相对更安全。TCP/IP关于IP地址的身份鉴别机制有漏洞和缺乏对数据完整性、机密性的保护。

    完成了IPSec中的根密钥(预共享密钥)的设置,由其(还要在加上随机数,cookie等参数)可以得出基准密钥、派生密钥、加密密钥、验证密钥这些直接决定会话安全的密钥。

    七、遇到的问题

    windows自带的hyper-v虚拟机有一些问题

    1.不会设置桥接网卡

    虽然前几步都没有什么问题,但是在最后一步两端都设置好了预共享密钥后,主机ping虚拟机ping通而虚拟机ping主机失败

    解决方法:使用同学的win10主机,没有问题顺利完成

    2.virtualbox安装win7失败

    不管使用哪种win7镜像都会直接黑屏,进不去安装配置界面

    解决方法:使用hyper-v创建第一代虚拟机

    八、实验体会

    经过本次实验,我对掌握 Windows 下 IPSec 协议的工作原理,协议中预共享密钥的配置和应用, IPSec 协议的相关报文格式和含义有了更深一步的理解,基本明白了在windows下协商的9个包变成10个包的原因,对主模式下的六个包了解各个包的用途以及具体字段的含义,对于快模式下的四个包,不会解密出明文,但大致明白要做什么,使用什么样的密钥加密,目的是为了再协商一个密钥,对于ESP包可以看出其是明文传输数据,且基本了解其与ping的对应关系,通过抓包基本明白了为什么一段设置不能完成通信。

  • 相关阅读:
    Java单例多例的线程安全问题(转)
    Class.forName( )、class.getClassLoader().getResourceAsStream、newInstance()
    new 和Class.forName()有什么区别?(转)
    PS
    Fine BI
    Ipython
    微软推 Azure 机器学习工具:Algorithm Cheat Sheet
    MySQL基本数据类型
    Httprunner3.X+jenkins持续集成
    MSF使用之信息收集
  • 原文地址:https://www.cnblogs.com/wqnmlkb/p/14757807.html
Copyright © 2011-2022 走看看