Z tej strony wiki :
WPA i WPA2 używają kluczy pochodzących z uzgadniania EAPOL do szyfrowania ruchu. O ile nie są dostępne wszystkie cztery pakiety uzgadniania dla sesji, którą próbujesz odszyfrować, Wireshark nie będzie w stanie odszyfrować ruchu. Możesz użyć filtru wyświetlania eapol, aby zlokalizować pakiety EAPOL w twoim przechwytywaniu.
Zauważyłem, że deszyfrowanie działa również z (1, 2, 4), ale nie z (1, 2, 3). O ile wiem, dwa pierwsze pakiety są wystarczające, przynajmniej w odniesieniu do ruchu emisji pojedynczej. Czy ktoś może wyjaśnić dokładnie, jak sobie z tym radzi Wireshark, innymi słowy, dlaczego działa tylko poprzednia sekwencja, skoro czwarty pakiet jest tylko potwierdzeniem? Czy jest też zagwarantowane, że (1, 2, 4) zawsze będzie działać, gdy (1, 2, 3, 4) działa?
Przypadek testowy
To zgzipowany uścisk dłoni (1, 2, 4) i zaszyfrowany ARP
pakiet (SSID :, SSID
hasło :) password
w base64
kodowaniu:
H4sICEarjU8AA2hhbmRzaGFrZS5jYXAAu3J400ImBhYGGPj / n4GhHkhfXNHr37KQgWEqAwQzMAgx 6HkAKbFWzgUMhxgZGDiYrjIwKGUqcW5g4Ldd3rcFQn5IXbWKGaiso4 + RmSH + H0MngwLUZMarj4Rn S8vInf5yfO7mgrMyr9g / Jpa9XVbRdaxH58v1fO3vDCQDkCNv7mFgWMsAwXBHMoEceQ3kSMZbDFDn ITk1gBnJkeX / GDkRjmyccfus4BKl75HC2cnW1eXrjExNf66uYz + VGLl + snrF7j2EnHQy3JjDKPb9 3fOd9zT0TmofYZC4K8YQ8IkR6JaAT0zIJMjxtWaMmCEMdvwNnI5PYEYJYSTHM5EegqhggYbFhgsJ 9gJXy42PMx9JzYKEcFkcG0MJULYE2ZEGrZwHIMnASwc1GSw4mmH1JCCNQYEF7C7tjasVT + 0 / J3LP gie59HFL + 5RDIdmZ8rGMEldN5s668eb / tp8vQ + 7OrT9jPj / B7425QIGJI3Pft72dLxav8BefvcGU 7 + kfABxJX + SjAgAA
Dekoduj za pomocą:
$ base64 -d | gunzip > handshake.cap
Uruchom, tshark
aby sprawdzić, czy poprawnie odszyfrowuje ARP
pakiet:
$ tshark -r handshake.cap -o wlan.enable_decryption:TRUE -o wlan.wep_key1:wpa-pwd:password:SSID
Powinien wydrukować:
1 0,000000 D-Link_a7: 8e: b4 -> HonHaiPr_22: 09: b0 Klucz EAPOL 2 0,006997 HonHaiPr_22: 09: b0 -> D-Link_a7: 8e: b4 Klucz EAPOL 3 0,038137 HonHaiPr_22: 09: b0 -> D-Link_a7: 8e: b4 Klucz EAPOL 4 0,376050 ZyxelCom_68: 3a: e4 -> HonHaiPr_22: 09: b0 ARP 192.168.1.1 jest o 00: a0: c5: 68: 3a: e4