Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Configurar

Etapa 1. Inicie o rastreamento radioativo do endpoint de interesse

Etapa 2. Obtenha uma captura de pacotes pelo ar

Etapa 3. Gerar e exportar o traço radioativo do dispositivo

Etapa 4. Obter o MSK do traçado radioativo

Etapa 5. Adicione o MSK como uma chave de descriptografia IEEE 802.11 no Wireshark

Etapa 6. Analisar o tráfego 802.1X descriptografado

Introdução

Este documento descreve como descriptografar as capturas de pacote pelo ar para WLANs 802.1X com ferramentas de Troubleshooting disponíveis no Catalyst 9800 WLC.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Como configurar uma WLAN 802.1X no Catalyst 9800 WLC

- Como utilizar rastreamentos radioativos com depuração condicional habilitada no Catalyst 9800 WLC

- Como fazer capturas de pacotes pelo ar usando um ponto de acesso no modo Sniffer ou um Macbook com sua ferramenta de Diagnóstico sem Fio

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

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

- Ponto de acesso Catalyst 9130AX no modo farejador

- Cisco ISE versão 3.3

- Wireshark 4.0.8

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Informações de Apoio

Quando uma identidade é validada por meio de EAP+8021X, o tráfego sem fio é criptografado usando a PTK (Pairwise Transient Key) gerada a partir do handshake entre o solicitante e o autenticador, que usa a PMK (Pairwise Master Key) para ser calculada. Esse PMK é derivado da MSK (Master Session Key). O MSK está incluído nos Pares de Valores de Atributo da Mensagem RADIUS Access-Accept (criptografada usando o Segredo Compartilhado RADIUS). Como resultado, o tráfego não pode ser visto de forma transparente em uma captura de pacote Over-the-Air, mesmo que o handshake de quatro vias seja interceptado por terceiros.

Normalmente, a geração da PMK implica capturas de pacotes sendo realizadas na rede com fio, conhecimento do segredo compartilhado RADIUS e alguma codificação para extrair os valores de interesse. Em vez disso, com esse método, uma das ferramentas disponíveis para solucionar problemas no Catalyst 9800 WLC (Rastreamentos radioativos) é usada para obter o MSK, que pode ser usado em qualquer ferramenta de análise de pacotes bem conhecida, como o Wireshark.

Observação: esse procedimento funciona apenas para WPA2, já que as informações necessárias para calcular PTK (Pairwise Transient Keys) são trocadas pelo ar através do handshake de 4 vias. Em vez disso, na WPA3, a Autenticação Simultânea de Iguais (SAE) é realizada através do que é conhecido como handshake do Dragonfly.

Configurar

Etapa 1. Inicie o rastreamento radioativo do endpoint de interesse

Na WLC do Catalyst 9800, vá para Troubleshooting > Radioative Traces e clique no botão Add para digitar o endereço MAC do dispositivo cujo tráfego deve ser descriptografado.

Endereço MAC adicionado à lista de rastreamentos radioativos

Depois de adicioná-lo, clique no botão Start na parte superior da lista para habilitar a depuração condicional. Isso permite ver as informações trocadas no plano de dados (o MSK está aqui).

Dispositivo adicionado à lista de rastreamento radioativo com depuração condicional habilitada.

Observação: se você não ativar a Depuração condicional, apenas o tráfego no plano de controle poderá ser visto, o que não inclui o MSK. Consulte a seção Depuração Condicional e Rastreamento Radioativo do documento Depuração e Coleta de Logs no Catalyst 9800 WLC Troubleshooting para obter mais informações sobre isso.

Etapa 2. Obtenha uma captura de pacotes pelo ar

Inicie a captura de pacotes pelo ar e conecte seu endpoint à WLAN 802.1X.

Você pode obter essa captura de pacote pelo ar usando um Ponto de acesso no modo Sniffer ou com um Macbook usando sua ferramenta interna de Diagnóstico sem fio.

Observação: certifique-se de que a captura de pacotes inclua todos os quadros 802.11. Mais importante ainda, é imperativo que o handshake de quatro vias seja capturado durante o processo.

Observe como todo o tráfego após o handshake de quatro vias (pacotes 475 a 478) é criptografado.

Tráfego sem fio criptografado.

Etapa 3. Gerar e exportar o traço radioativo do dispositivo

Na mesma tela da Etapa 1, clique no botão verde Gerar depois de capturar o tráfego sem fio.

Na janela pop-up Intervalo de tempo, selecione o intervalo de tempo que corresponde às suas necessidades. Não é necessário habilitar logs internos aqui.

Clique em Apply to Device para gerar o rastreamento radioativo.

Intervalo de tempo para rastreamento de RA.

Quando o rastreamento radioativo estiver pronto, um ícone de download será mostrado ao lado do nome do arquivo de rastreamento. Clique nele para fazer o download do seu Radioative Trace.

Radioative Trace disponível para download.

Etapa 4. Obter o MSK do traçado radioativo

Abra o arquivo de rastreamento radioativo baixado e procure o atributo eap-msk após a mensagem Access-Accept.

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

O valor seguido pela sequência de caracteres eap-msk é o MSK. Copie e salve-o para usá-lo na próxima etapa.

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

Etapa 5. Adicione o MSK como uma chave de descriptografia IEEE 802.11 no Wireshark

No Wireshark, vá para Wireshark > Preferências > Protocolos > IEEE 802.11.

Marque a caixa que diz "Enable decryption" e selecione Edit, ao lado de Decryption keys.

Clique no botão "+" na parte inferior para adicionar uma nova chave de descriptografia e selecione msk como o tipo de chave.

Cole o valor eap-msk obtido na Etapa 4 (sem espaços).

Finalmente, clique em OK para fechar a janela Chaves de descriptografia e depois clique em OK para fechar a janela Preferências e aplicar a chave de descriptografia.

Chave de descriptografia adicionada às preferências do Wireshark.

Etapa 6. Analisar o tráfego 802.1X descriptografado

Observe como o tráfego sem fio agora está visível. Na captura de tela, você pode ver o tráfego ARP (pacotes 482 e 484), as consultas e respostas DNS (pacotes 487 e 488), o tráfego ICMP (pacotes 491 a 497) e até mesmo o início do handshake triplo para uma sessão TCP (pacote 507).

Tráfego sem fio descriptografado.