如何解密 IKEv2 数据包

如何解密 IKEv2 数据包

25688
Created On 04/02/19 12:42 PM - Last Modified 11/29/23 17:20 PM


Objective


解密并分析 IKEv2 数据包,用于 IPSec VPN 终止 firewall 。

Procedure


第 1 步: 启用 ikemgr 调试到转储级别
admin@firewall> debug ike global on dump

第 2 步:查找 SPI 、加密和哈希算法
# SPI 集合中的第一个算法属于发起人,无论命令运行在哪里。
admin@firewall> show vpn ike-sa detail gateway s2s
<...>
IKE SA:

  SPI:  628be6458b436c75:00492d770b06b539  Init
<...>
        Proposal:   AES128-CBC/SHA1/DH2

admin@firewall> less mp-log ikemgr.log
<snip>

====> Established SA: 10.0.0.1[500]-10.0.0.2[500]

SPI:628be6458b436c75:00492d770b06b539 SN:7 lifetime 28800 Sec <====


第 3 步: 查找启动器的加密密钥 (SK_ei) # 如果在响应器上
采取了调试,您将在"解密"和"密码文本"消息后看到启动器的密钥。

admin@firewall> less mp-log ikemgr.log

2018-10-31 22:16:10.956 +0800  [DEBG]: {    1:     }: encrypting:
2018-10-31 22:16:10.956 +0800  [DEBG]: {    1:     }:   plaintext:
<...>
2018-10-31 22:16:10.956 +0800  [DEBG]: {    1:     }:   key:
2018-10-31 22:16:10.956 +0800  [DUMP]:
26ce52c9 42df35c8 9696d852 27cee760


第4步: 查找响应方的加密密钥(SK_er)

admin@firewall> less mp-log ikemgr.log
2018-10-31 22:16:10.975 +0800  [DEBG]: {    1:     }: decrypting:
2018-10-31 22:16:10.975 +0800  [DEBG]: {    1:     }:   ciphertext:
2018-10-31 22:16:10.975 +0800  [DUMP]:
<...>
2018-10-31 22:16:10.975 +0800  [DEBG]: {    1:     }:   key:
2018-10-31 22:16:10.975 +0800  [DUMP]:
1cea4a2b 1586745e 08c5ac12 99bf331f

第 5 步:创建虚拟身份验证密钥(SK_ai和SK_ar)

我们不会直接在日志文件中打印SK_ai和SK_ar。
如果你不关心检查完整性,你可以使用所有零SK_ai和
SK_ar, SHA-1 关键大小是160位或20字节,这意味着40零。
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 >协议

ISAKMP >>IKEv2解密表)
用户添加的图像
用户添加的图像

步骤7:解密 aes128-cbc ESP 按照附加信息中提到的 ikev1 文档中的步骤。

如果使用 aes128-gcm 然后解密 ESP 数据包(均为 ikev1/v2),请从 ikemgr 日志中取下转储。 没有身份验证键,因此可以使用身份验证和身份验证密钥,如下所示:

2020-09-08 22:51:32.512 -0700  [DUMP]: sadb_update: seq=1, ul_proto=255 sa_src=34.100.95.129[500]/0, sa_dst=172.16.1.128[500]/0, satype=141 (ESP), spi=0xC827AFFE, wsize=64, authtype=38 (NON-AUTH), enctype=31 (AES128-GCM16), saflags=0x0, samode=137 (tunl), reqid=0, 
lifetime hard time 3600, bytes 0, lifetime soft time 2892, bytes 0, enckey len=20 [d5a466fd0c601bb49c4261ee9f197d0f4b2456d2], authkey len=0 []>>>>>>>>>>>>>>>>
2020-09-08 22:51:32.512 -0700  [INFO]: {   50:   57}: SADB_ADD proto=255 172.16.1.128[500]=>34.100.95.129[500] ESP tunl spi 0x99B4E739 auth=NON-AUTH enc=AES128-GCM16/20 lifetime soft 3067/0 hard 3600/0
2020-09-08 22:51:32.512 -0700  [DUMP]: sadb_add: seq=1, ul_proto=255 sa_src=172.16.1.128[500]/0, sa_dst=34.100.95.129[500]/0, satype=141 (ESP), spi=0x99B4E739, wsize=64, authtype=38 (NON-AUTH), enctype=31 (AES128-GCM16), saflags=0x0, samode=137 (tunl), reqid=0, 
lifetime hard time 3600, bytes 0, lifetime soft time 3067, bytes 0, enckey len=20 [e5bb8dfdc09ed681d9678c7e7c800e79656e46af], authkey len=0 []>>>>>>>>>>>>>>>>


编辑->首选项->协议 ESP ->->尝试检测/解码加密 ESP 的有效载荷
ESP SA编辑。。。

编辑 ESP SA

Wireshark



Additional Information


IKEv1的解密程序 ESP ,并记录在这里:https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClinCAC

如果您只对查看数据包的解密内容感兴趣 IKE ,请使用 IKE ikemgr 守护神在加密(出站)之前和解密(入站)之前捕获的"debug ike pcap"功能 MP 。 导出带有"scp 出口试用 pcap..."的 pcap 文件

,请参阅以下更多:https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClivCAC
 



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000PLMzCAO&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language