테스트 케이스

테스트 케이스

에서이 위키 페이지:

WPA 및 WPA2는 EAPOL 핸드셰이크에서 파생된 키를 사용하여 트래픽을 암호화합니다. 하지 않는 한네 가지 모두해독하려는 세션에 핸드셰이크 패킷이 있으면 Wireshark는 트래픽을 해독할 수 없습니다. 디스플레이 필터 eapol을 사용하여 캡처에서 EAPOL 패킷을 찾을 수 있습니다.

나는 암호 해독이 (1, 2, 4)에서도 작동하지만 (1, 2, 3)에서는 작동하지 않는다는 것을 알았습니다. 내가 아는 한, 적어도 유니캐스트 트래픽에 대해서는 처음 두 개의 패킷으로 충분합니다. Wireshark가 이를 어떻게 처리하는지, 즉 네 번째 패킷이 단지 승인일 뿐인데 왜 이전 시퀀스만 작동하는지 정확히 설명해 주실 수 있습니까? 또한 (1, 2, 3, 4)가 작동할 때 (1, 2, 4)도 항상 작동한다는 것이 보장됩니까?

테스트 케이스

이는 gzip으로 압축된 핸드셰이크(1, 2, 4)와 인코딩된 암호화된 ARP패킷(SSID: SSID, 비밀번호: password) 입니다 base64.

H4sICEarjU8AA2hhbmRzaGFrZS5jYXAAu3J400ImBhYGGPj/n4GhHkhfXNHr37KQgWEqAwQzMAgx
6HkAKbFWzgUMhxgZGDiYrjIwKGUqcW5g4Ldd3rcFQn5IXbWKGaiso4+RmSH+H0MngwLUZMarj4Rn
S8vInf5yfO7mgrMyr9g/Jpa9XVbRdaxH58v1fO3vDCQDkCNv7mFgWMsAwXBHMoEceQ3kSMZbDFDn
ITk1gBnJkeX/GDkRjmyccfus4BKl75HC2cnW1eXrjExNf66uYz+VGLl+snrF7j2EnHQy3JjDKPb9
3fOd9zT0TmofYZC4K8YQ8IkR6JaAT0zIJMjxtWaMmCEMdvwNnI5PYEYJYSTHM5EegqhggYbFhgsJ
9gJXy42PMx9JzYKEcFkcG0MJULYE2ZEGrZwHIMnASwc1GSw4mmH1JCCNQYEF7C7tjasVT+0/J3LP
gie59HFL+5RDIdmZ8rGMELdN5s668eb/tp8vQ+7OrT9jPj/B7425QIGJI3Pft72dLxav8BefvcGU
7+kfABxJX+SjAgAA

다음을 사용하여 디코딩:

$ base64 -d | gunzip > handshake.cap

tshark패킷 을 올바르게 해독하는지 확인하려면 다음을 실행하세요 ARP.

$ tshark -r handshake.cap -o wlan.enable_decryption:TRUE -o wlan.wep_key1:wpa-pwd:password:SSID

다음과 같이 인쇄되어야 합니다.

  1 0.000000 D-Link_a7:8e:b4 -> HonHaiPr_22:09:b0 EAPOL 키
  2 0.006997 HonHaiPr_22:09:b0 -> D-Link_a7:8e:b4 EAPOL 키
  3 0.038137 HonHaiPr_22:09:b0 -> D-Link_a7:8e:b4 EAPOL 키
  4 0.376050 ZyxelCom_68:3a:e4 -> HonHaiPr_22:09:b0 ARP 192.168.1.1은 00:a0:c5:68:3a:e4에 있습니다.

답변1

EAPOL 교환은 임시 키를 갱신하는 데에도 사용됩니다. 새 키는 4/4를 보낸 후 요청자에 설치되고 4/4를 수신하면 인증자에 설치됩니다[1]. Wireshark가 키 재생성을 올바르게 처리해야 하는 경우 프레임에서 4/4 패킷을 읽은 후에만 키를 사용해야 합니다. 키 재생성 중에 패킷이 계속 흐를 수 있기 때문입니다(버퍼링으로 인해 그렇지 않은 경우에도).

첫 번째 4WHS의 경우 4/4를 기다리지 않는 것이 가능하지만 구현하기가 게으르다는 것은 완벽하게 이해할 수 있습니다. 3/4는 그룹 키(관심이 없지만 4WHS의 일부가 없는 AP 또는 클라이언트의 ARP 요청을 볼 수 없다는 것을 알고 있는 경우에도) 및 관리 키를 포함하므로 여전히 필요합니다. 3/4도 건너뛸 수 있지만 교환이 성공했는지 확인할 수는 없습니다. 3/4는 인증자가 PMK를 알고 있는지 확인하는 데 사용되기 때문입니다.

[1] 현재 체계에서는 4/4 메시지가 손실된 경우 신청자가 새 키를 사용하여 시작하고 인증자는 여전히 이전 키를 사용하므로 이전 키로 암호화된 3/4를 다시 보내는 것은 도움이 되지 않습니다. . WPA2의 다른 많은 문제 중에서 이 문제는 두 개의 키를 병렬로 유지하여 최신 802.11 2012 표준에서 해결되었습니다.

답변2

PTK를 구성하는 데 필요한 모든 정보는 1단계와 2단계에서 교환됩니다. 이는 유니캐스트 트래픽을 해독하는 데 충분합니다.

3단계가 없으면 GTK가 없으므로 멀티캐스트/브로드캐스트 암호 해독이 불가능합니다.

캡처 트래픽을 해독하는 데 4단계는 실제로 필요하지 않지만, 4단계가 없으면 클라이언트/AP는 암호화 사용을 시작하지 않습니다. Wireshark는 데이터 암호 해독을 시도하기 전에 이를 차단할 수도 있습니다.

답변3

글쎄, 분명히 WireShark 문서가 잘못되었습니다. :-)

문서에서 벗어나기여기:

  • EAPOL 1과 2 이후 양측은 트래픽을 해독하는 데 사용될 임시 키를 알고 있습니다.
  • 세 번째 메시지는 양측이 임시 키를 알고 있다는 증거이며,인증자(기지국)은 임시 키를 사용하여 시작할 준비가 되어 있습니다.
  • 네 번째 메시지는 EAPOL 이전에 설정된 PMK에서 EAPOL에서 파생된 임시 키로의 전환을 트리거합니다.

그래서 그것은 의미가 있습니다. WireShark에는 메시지 3이 필요하지 않습니다. 메시지 1과 2 이후의 키를 알고 있지만 메시지 4를 수신할 때까지 이를 사용하여 트래픽을 해독하기를 기다립니다.

삶의 어떤 것, 특히 무료 소프트웨어의 동작에 대한 보장은 없지만 WireShark가 세션을 해독하기 위해 메시지 3이 존재해야 한다는 요구 사항은 없다는 것이 합리적입니다.

답변4

이것은 이유를 설명하지 않지만 airdecap-ng에서 인용합니다.선적 서류 비치어쨌든,

WPA/WPA2 Requirements

The capture file must contain a valid four-way handshake. For this purpose having (packets 2 and 3) or (packets 3 and 4) will work correctly. In fact, you don't truly need all four handshake packets. 

관련 정보