Dari halaman wiki ini :
WPA dan WPA2 menggunakan kunci yang berasal dari jabat tangan EAPOL untuk mengenkripsi lalu lintas. Kecuali jika keempat paket jabat tangan hadir untuk sesi yang Anda coba dekripsi, Wireshark tidak akan dapat mendekripsi lalu lintas. Anda dapat menggunakan filter layar eapol untuk menemukan paket EAPOL dalam tangkapan Anda.
Saya perhatikan bahwa dekripsi bekerja dengan (1, 2, 4) juga, tetapi tidak dengan (1, 2, 3). Sejauh yang saya tahu dua paket pertama sudah cukup, setidaknya untuk apa yang menjadi perhatian lalu lintas unicast. Dapatkah seseorang tolong jelaskan bagaimana Wireshark menghadapinya, dengan kata lain mengapa hanya urutan yang pertama yang bekerja, mengingat paket keempat hanya merupakan pengakuan? Juga, apakah dijamin bahwa (1, 2, 4) akan selalu berfungsi ketika (1, 2, 3, 4) berfungsi?
Kasus cobaan
Ini adalah jabat tangan yang di-gzip (1, 2, 4) dan ARP
paket yang dienkripsi (SSID :, SSID
kata sandi :) password
dalam base64
penyandian:
H4sICEarjU8AA2hhbmRzaGFrZS5jYXAAu3J400ImBhYGGPj / n4GhHkhfXNHr37KQgWEqAwQzMAgx 6HkAKbFWzgUMhxgZGDiYrjIwKGUqcW5g4Ldd3rcFQn5IXbWKGaiso4 + RmSH + H0MngwLUZMarj4Rn S8vInf5yfO7mgrMyr9g / Jpa9XVbRdaxH58v1fO3vDCQDkCNv7mFgWMsAwXBHMoEceQ3kSMZbDFDn ITk1gBnJkeX / GDkRjmyccfus4BKl75HC2cnW1eXrjExNf66uYz + VGLl + snrF7j2EnHQy3JjDKPb9 3fOd9zT0TmofYZC4K8YQ8IkR6JaAT0zIJMjxtWaMmCEMdvwNnI5PYEYJYSTHM5EegqhggYbFhgsJ 9gJXy42PMx9JzYKEcFkcG0MJULYE2ZEGrZwHIMnASwc1GSw4mmH1JCCNQYEF7C7tjasVT + 0 / J3LP gie59HFL + 5RDIdmZ8rGMEldN5s668eb / tp8vQ + 7OrT9jPj / B7425QIGJI3Pft72dLxav8BefvcGU 7 + kfABxJX + SjAgAA
Dekode dengan:
$ base64 -d | gunzip > handshake.cap
Jalankan tshark
untuk melihat apakah ia mendekripsi ARP
paket dengan benar :
$ tshark -r handshake.cap -o wlan.enable_decryption:TRUE -o wlan.wep_key1:wpa-pwd:password:SSID
Itu harus mencetak:
1 0,000000 D-Link_a7: 8e: b4 -> HonHaiPr_22: 09: b0 EAPOL Key 2 0,006997 HonHaiPr_22: 09: b0 -> D-Link_a7: 8e: b4 EAPOL Key 3 0.038137 HonHaiPr_22: 09: b0 -> D-Link_a7: 8e: b4 EAPOL Key 4 0.376050 ZyxelCom_68: 3a: e4 -> HonHaiPr_22: 09: b0 ARP 192.168.1.1 adalah jam 00: a0: c5: 68: 3a: e4
sumber
Jawaban:
Pertukaran EAPOL juga digunakan untuk memperbarui kunci temporal. Kunci-kunci baru dipasang pada Supplicant setelah mengirim 4/4, dan diinstal pada Authenticator ketika menerima 4/4 [1]. Jika Wireshark harus menangani rekeying dengan benar, ia hanya harus menggunakan kunci setelah membaca paket 4/4 dalam bingkai, karena paket mungkin masih mengalir selama rekeying (bahkan dalam kasus di mana mereka tidak boleh, karena buffering)
Untuk 4WHS pertama, tidak menunggu 4/4 adalah mungkin, tetapi dapat dimengerti bahwa mereka hanya malas untuk mengimplementasikannya. 3/4 masih diperlukan karena berisi kunci grup (bahkan jika Anda tidak tertarik padanya, tetapi ketahuilah bahwa Anda tidak akan melihat permintaan ARP dari AP atau klien yang Anda tidak memiliki bagian dari 4WHS-nya) dan kunci manajemen. Anda dapat melewati 3/4 juga, tetapi kemudian Anda tidak memiliki konfirmasi bahwa pertukaran berhasil, karena 3/4 digunakan untuk memverifikasi bahwa Authenticator mengetahui PMK.
[1] Perhatikan bahwa dengan skema saat ini, jika pesan 4/4 hilang, maka pemohon mulai menggunakan kunci baru, dan autentikator masih menggunakan kunci lama, dan mengirim ulang 3/4 yang dienkripsi dengan kunci lama tidak akan membantu . Masalah ini, di antara banyak lainnya dengan WPA2, dibahas dalam standar 802.11 2012 terbaru dengan menjaga dua kunci secara paralel.
sumber
Semua informasi yang diperlukan untuk membangun PTK dipertukarkan dalam langkah 1 dan 2. Ini harus cukup untuk mendekripsi lalu lintas unicast.
Tanpa langkah 3, Anda tidak akan memiliki GTK, jadi mendekripsi multicast / siaran tidak akan mungkin.
Langkah 4 tidak benar-benar diperlukan untuk mendekripsi lalu lintas penangkapan, tetapi jika tidak ada langkah 4, klien / AP tidak akan mulai menggunakan enkripsi. Wireshark dapat membatalkan ini sebelum mencoba mendekripsi data juga.
sumber
Yah, jelas dokumentasi WireShark salah. :-)
Pergi dokumentasi di sini :
Maka dengan itu, masuk akal. WireShark tidak perlu pesan 3 untuk apa pun. Ia tahu kunci setelah pesan 1 dan 2, tetapi menunggu untuk mulai menggunakannya untuk mendekripsi lalu lintas sampai setelah menerima pesan 4.
Tidak ada jaminan untuk apa pun dalam hidup, terutama perilaku perangkat lunak bebas, tetapi itu adalah taruhan yang masuk akal bahwa tidak akan ada persyaratan untuk pesan 3 hadir untuk WireShark untuk mendekripsi sesi.
sumber
Ini tidak menjelaskan mengapa, tetapi mengutip dari airdecap-ng dokumentasi lagian,
sumber