目錄

簡介

必要條件

需求

採用元件

背景資訊

設定

步驟 1.開始感興趣終端的放射性跟蹤

步驟 2.獲取無線資料包捕獲

步驟 3.生成和導出裝置的放射性蹤跡

步驟 4.從放射性痕跡獲取MSK

步驟 5.在Wireshark中增加MSK作為IEEE 802.11解密金鑰

步驟 6.分析解密的802.1X流量

簡介

本檔案介紹如何使用Catalyst 9800 WLC上提供的疑難排解工具解密802.1X WLAN的無線封包擷取。

必要條件

需求

思科建議您瞭解以下主題：

- 如何在Catalyst 9800 WLC中配置802.1X WLAN

- 如何在Catalyst 9800 WLC中啟用條件調試的情況下進行放射性跟蹤

- 如何使用嗅探器模式下的存取點或具有無線診斷工具的Macbook進行無線資料包捕獲

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- Catalyst 9800-L WLC、Cisco IOS® XE Cupertino 17.9.3

- 採用監聽器模式的Catalyst 9130AXE存取點

- Cisco ISE版本3.3

- Wireshark 4.0.8

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

一旦透過EAP+8021X驗證身份，無線流量就會使用由請求方和驗證方之間的握手生成的Pairwise Transient Key (PTK)加密，後者使用要計算的Pairwise Master Key (PMK)進行加密。此PMK衍生自主會話金鑰(MSK)。MSK包含在RADIUS Access-Accept消息的屬性值對中（使用RADIUS共用金鑰加密）。因此，在無線資料包捕獲中，即使四向握手被第三方攔截，也無法透明地看到流量。

通常，生成PMK意味著在有線網路中捕獲資料包、瞭解RADIUS共用金鑰和某些編碼以提取興趣值。相反，透過此方法，可以使用可用於Catalyst 9800 WLC上的故障排除工具之一（放射性蹤跡）獲取MSK，然後將其用於任何已知資料包分析工具（如Wireshark）。

注意：此程式僅適用於WPA2，因為計算成對暫時性金鑰(PTK)所需的資訊會透過4次交涉在空中交換。相反，在WPA3中，對等體同時身份驗證(SAE)透過所謂的蜻蜓握手來執行。

設定

步驟 1.開始感興趣終端的放射性跟蹤

在Catalyst 9800 WLC上，轉到Troubleshooting > Radiative Traces，然後按一下Add按鈕以鍵入要解密其流量的裝置的MAC地址。

增加到放射性蹤跡清單的MAC地址

增加之後，請確保按一下清單頂部的Start按鈕以啟用Conditional Debug。這允許您檢視在資料平面中交換的資訊（MSK在此）。

在啟用條件調試的情況下增加到放射性跟蹤清單的裝置。

注意：如果未啟用條件調試，則只能看到控制平面中的流量，而不包括MSK。有關此過程的詳細資訊，請參閱Catalyst 9800 WLC故障排除文檔上的調試和日誌收集的條件調試和放射性跟蹤部分。

步驟 2.獲取無線資料包捕獲

啟動無線資料包捕獲並將您的終端連線到802.1X WLAN。

您可以使用處於嗅探器模式的存取點獲取此無線資料包捕獲，也可以使用Macbook內建的無線診斷工具獲取此無線資料包捕獲。

注意：請確保資料包捕獲包含所有802.11幀。最重要的是，在此過程中必須捕獲四向握手。

觀察透過四向握手（資料包475至478）的所有流量如何加密。

加密的無線流量。

步驟 3.生成和導出裝置的放射性蹤跡

在步驟1所在的螢幕中，捕捉到無線流量後，按一下綠色的Generate按鈕。

在「時間間隔」彈出窗口中，選擇符合您需求的時間範圍。無需在此啟用內部日誌。

按一下Apply to Device以生成放射性蹤跡。

RA跟蹤的時間間隔。

一旦放射性跟蹤就緒，download圖示將顯示在跟蹤檔名旁邊。點選它下載你的放射性痕跡。

放射性痕跡可供下載。

步驟 4.從放射性痕跡獲取MSK

打開下載的放射性跟蹤檔案，然後在Access-Accept消息後搜尋eap-msk屬性。

2022/09/23 20:00:08.646494126 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: Received from id 1812/143 172.16.5.112:0, Access-Accept, len 289

2022/09/23 20:00:08.646504952 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: authenticator 8b 11 23 7f 6a 37 4c 9a - dd e0 26 88 56 6a 82 f5

2022/09/23 20:00:08.646511532 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: User-Name [1] 7 "Alice"

2022/09/23 20:00:08.646516250 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: Class [25] 55 ...

2022/09/23 20:00:08.646566556 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: EAP-Message [79] 6 ...

2022/09/23 20:00:08.646577756 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: Message-Authenticator[80] 18 ...

2022/09/23 20:00:08.646601246 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: EAP-Key-Name [102] 67 *

2022/09/23 20:00:08.646610188 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: Vendor, Microsoft [26] 58

2022/09/23 20:00:08.646614262 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: MS-MPPE-Send-Key [16] 52 *

2022/09/23 20:00:08.646622868 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: Vendor, Microsoft [26] 58

2022/09/23 20:00:08.646642158 {wncd_x_R0-0}{1}: [radius] [15612]: (info): RADIUS: MS-MPPE-Recv-Key [17] 52 *

2022/09/23 20:00:08.646668839 {wncd_x_R0-0}{1}: [radius] [15612]: (info): Valid Response Packet, Free the identifier

2022/09/23 20:00:08.646843647 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0093.3794.2730:capwap_9000000c] Received an EAP Success

2022/09/23 20:00:08.646878921 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0093.3794.2730:capwap_9000000c] Entering idle state

2022/09/23 20:00:08.646884283 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0093.3794.2730:capwap_9000000c] Posting AUTH_SUCCESS on Client

2022/09/23 20:00:08.646913535 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0000.0000.0000:capwap_9000000c] Setting EAPOL eth-type to 0x888e, destination mac to 0093.3794.2730

2022/09/23 20:00:08.646914875 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0000.0000.0000:capwap_9000000c] Sending out EAPOL packet

2022/09/23 20:00:08.646996798 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0093.3794.2730:capwap_9000000c] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 4, EAP-Type = 0

2022/09/23 20:00:08.646998966 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0093.3794.2730:capwap_9000000c] EAP Packet - SUCCESS, ID : 0x95

2022/09/23 20:00:08.647000954 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0000.0000.0000:unknown] Pkt body: 03 95 00 04

2022/09/23 20:00:08.647004108 {wncd_x_R0-0}{1}: [dot1x] [15612]: (info): [0093.3794.2730:capwap_9000000c] EAPOL packet sent to client

2022/09/23 20:00:08.647008702 {wncd_x_R0-0}{1}: [auth-mgr] [15612]: (info): [0093.3794.2730:capwap_9000000c] Authc success from Dot1X, Auth event success

2022/09/23 20:00:08.647025898 {wncd_x_R0-0}{1}: [auth-mgr] [15612]: (info): [0093.3794.2730:capwap_9000000c] Raised event APPLY_USER_PROFILE (14)

2022/09/23 20:00:08.647033682 {wncd_x_R0-0}{1}: [auth-mgr] [15612]: (info): [0093.3794.2730:capwap_9000000c] Raised event RX_METHOD_AUTHC_SUCCESS (3)

2022/09/23 20:00:08.647101204 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : username 0 "Alice"

2022/09/23 20:00:08.647115452 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : class 0 43 41 43 53 3a 30 42 30 35 31 30 41 43 30 30 30 30 30 30 31 41 36 42 45 46 33 34 37 35 3a 69 73 65 6c 61 62 2d 75 77 75 2f 34 38 34 36 32 34 34 35 31 2f 33 38

2022/09/23 20:00:08.647116846 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : EAP-Message 0 <hidden>

2022/09/23 20:00:08.647118074 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : Message-Authenticator 0 <hidden>

2022/09/23 20:00:08.647119674 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : EAP-session-id 0 "??O×.?Ê?$2V?Öï?<úiUˆú ”?ó>“>ƒ?ôE9Æ#1oÊ0ÖÕM°8p’ŠÀ?1ò¿–ã‡|¥?–p”½"

2022/09/23 20:00:08.647128748 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : MS-MPPE-Send-Key 0 c7 22 cb f0 93 31 02 a4 1b b0 2f 0a 76 9b b2 23 81 0c b1 e1 4f b6 37 2e 8e 33 78 22 3d c8 1d 7d

2022/09/23 20:00:08.647137606 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : MS-MPPE-Recv-Key 0 fb c1 c3 f8 2c 13 66 6e 4d dc 26 b8 79 7e 89 83 f0 12 54 73 cb 61 51 da fa af 02 bf 96 87 67 4c

2022/09/23 20:00:08.647139194 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : dnis 0 "A4-9B-CD-AA-18-80"

2022/09/23 20:00:08.647140612 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : formatted-clid 0 "00-93-37-94-27-30"

2022/09/23 20:00:08.647141990 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : audit-session-id 0 "0B0510AC0000001A6BEF3475"

2022/09/23 20:00:08.647158674 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : eap-msk 0 fb c1 c3 f8 2c 13 66 6e 4d dc 26 b8 79 7e 89 83 f0 12 54 73 cb 61 51 da fa af 02 bf 96 87 67 4c c7 22 cb f0 93 31 02 a4 1b b0 2f 0a 76 9b b2 23 81 0c b1 e1 4f b6 37 2e 8e 33 78 22 3d c8 1d 7d

2022/09/23 20:00:08.647159912 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : eap-emsk 0

2022/09/23 20:00:08.647161666 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : method 0 0 [dot1x]

2022/09/23 20:00:08.647164452 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : clid-mac-addr 0 00 93 37 94 27 30

2022/09/23 20:00:08.647166150 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : intf-id 0 2415919116 (0x9000000c)

2022/09/23 20:00:08.647202312 {wncd_x_R0-0}{1}: [auth-mgr] [15612]: (info): [0093.3794.2730:capwap_9000000c] Method dot1x changing state from 'Running' to 'Authc Success

eap-msk字串之後的值是MSK。複製並儲存它，以便在下一步中使用它。

2022/09/23 20:00:08.647158674 {wncd_x_R0-0}{1}: [aaa-attr-inf] [15612]: (info): Applying Attribute : eap-msk 0 fb c1 c3 f8 2c 13 66 6e 4d dc 26 b8 79 7e 89 83 f0 12 54 73 cb 61 51 da fa af 02 bf 96 87 67 4c c7 22 cb f0 93 31 02 a4 1b b0 2f 0a 76 9b b2 23 81 0c b1 e1 4f b6 37 2e 8e 33 78 22 3d c8 1d 7d

步驟 5.在Wireshark中增加MSK作為IEEE 802.11解密金鑰

在Wireshark上，轉到Wireshark > Preferences > Protocols > IEEE 802.11。

選中Enable decryption覈取方塊，然後選擇Decryption keys旁邊的Edit。

按一下底部的「+」按鈕以增加新的解密金鑰，然後選擇msk作為金鑰型別。

貼上步驟4中取得的eap-msk值（不含空格）。

最後，按一下OK關閉「Decryption keys」窗口，然後按一下OK關閉「Preferences」窗口並應用解密金鑰。

解密金鑰已增加到wireshark首選項。

步驟 6.分析解密的802.1X流量

觀察無線流量現在是如何顯示的。在熒幕擷取畫面中，您可以看到ARP流量（封包482和484）、DNS查詢和回應（封包487和488）、ICMP流量（封包491到497），甚至是TCP作業階段三向交涉的開始（封包507）。

解密的無線流量。