hccapx is a custom format, specifically developed for hashcat.
The structure of .hccapx is fix and we are not able to handle
new "attack verctors" like PMKID. Also we waste GPU time,
because we have to run hashcat on WPA-EAPOL-PBKDF2 (2500)
and WPA-PMKID-PBKDF2 (16800) even we have a PMKID hash
and an EAPOL hash using the same network name. If we combine
both hashmodes to a single hashline, we will get full advantage
of reause of PBKDF2 on both hash types. Therefore we need a
new and more flexible hash format.
Handle WPA-EAPOL-PBKDF2 (2500) and WPA-PMKID-PBKDF2 (16800)
and WPA-EAPOL-PMK (2501) and WPA-PMKID-PMK (16800) in a single hashline.
1
The following entries are mandatory to calculate the PMK
using PBKDF2:
ESSID
2
The following entries are mandatory to crack the hash
in hash mode WPA-PMKID-PBKDF2 (16800):
mac_ap
mac_sta
PMKID
3
The following entries are mandatory to crack the hash
in hash mode WPA-EAPOL-PBKDF2 (2500):
mac_ap
mac_sta
nonce_ap
EAPOL_sta
In case of hash modes WPA-EAPOL-PMK (2501) and
WPA-PMKID-PMK (16800), we do not need step 1.
In case of AKM-defined 4-weay handshakes (WPA3, SAE, FILS, EAP),
we do not need step 1, too.
https://hashcat.net/forum/thread-7717-post-42759.html#pid42759
Also we should use a hexified hashline (only hex values, especially for ESSID)
like we do it allready by 16800 hashlines. We get advantage to
handle this hash lines with simple bash commands instead
of several tools to retrieve informations about the binary hccapx.
Also hexified ASCII hash lines can be can be easily posted
in varius forums (hashkiller, antichat,...).
Putting this ideas into a single hashline, it could look like this one:
hashcat should run WPA-PMKID-PBKDF2 and WPA-EAPOL-PBKDF2 on this hashline
mac_ap * mac_sta * PMKID * ANONCE * ESSID * EAPOL
hashcat should run WPA-PMKID-PBKDF2 on this hashline
Received only a PMKID
mac_ap * mac_sta * PMKID * * ESSID*
hashcat should run WPA-EAPOL-PBKDF2 on this hashline
mac_ap * mac_sta * * ANONCE * ESSID * EAPOL
hashcat should run WPA-PMKID-PMK and WPA-EAPOL-PMK on this hashline
mac_ap * mac_sta * PMKID * ANONCE * * EAPOL
hashcat should run WPA-PMKID-PMK on this hashline
Received only a PMKID
mac_ap * mac_sta * PMKID * * *
hashcat should run WPA-EAPOL-PMK on this hashline
mac_ap * mac_sta * * ANONCE * * EAPOL
Additional we can add a control field (0000) to
allow hcxtools to parse informations to hashcat,
like:
message_pair
use only PMK mode
use only EAPOL mode
has is AKM-defined and requires SHA_384 mic calculation instead of SHA-256
...
example:
mac_ap * mac_sta * PMKID * ANONCE * ESSID * EAPOL * control_field
hccapx is a custom format, specifically developed for hashcat.
The structure of .hccapx is fix and we are not able to handle
new "attack verctors" like PMKID. Also we waste GPU time,
because we have to run hashcat on WPA-EAPOL-PBKDF2 (2500)
and WPA-PMKID-PBKDF2 (16800) even we have a PMKID hash
and an EAPOL hash using the same network name. If we combine
both hashmodes to a single hashline, we will get full advantage
of reause of PBKDF2 on both hash types. Therefore we need a
new and more flexible hash format.
Handle WPA-EAPOL-PBKDF2 (2500) and WPA-PMKID-PBKDF2 (16800)
and WPA-EAPOL-PMK (2501) and WPA-PMKID-PMK (16800) in a single hashline.
1
The following entries are mandatory to calculate the PMK
using PBKDF2:
ESSID
2
The following entries are mandatory to crack the hash
in hash mode WPA-PMKID-PBKDF2 (16800):
mac_ap
mac_sta
PMKID
3
The following entries are mandatory to crack the hash
in hash mode WPA-EAPOL-PBKDF2 (2500):
mac_ap
mac_sta
nonce_ap
EAPOL_sta
In case of hash modes WPA-EAPOL-PMK (2501) and
WPA-PMKID-PMK (16800), we do not need step 1.
In case of AKM-defined 4-weay handshakes (WPA3, SAE, FILS, EAP),
we do not need step 1, too.
https://hashcat.net/forum/thread-7717-post-42759.html#pid42759
Also we should use a hexified hashline (only hex values, especially for ESSID)
like we do it allready by 16800 hashlines. We get advantage to
handle this hash lines with simple bash commands instead
of several tools to retrieve informations about the binary hccapx.
Also hexified ASCII hash lines can be can be easily posted
in varius forums (hashkiller, antichat,...).
Putting this ideas into a single hashline, it could look like this one:
hashcat should run WPA-PMKID-PBKDF2 and WPA-EAPOL-PBKDF2 on this hashline
mac_ap * mac_sta * PMKID * ANONCE * ESSID * EAPOL
hashcat should run WPA-PMKID-PBKDF2 on this hashline
Received only a PMKID
mac_ap * mac_sta * PMKID * * ESSID*
hashcat should run WPA-EAPOL-PBKDF2 on this hashline
mac_ap * mac_sta * * ANONCE * ESSID * EAPOL
hashcat should run WPA-PMKID-PMK and WPA-EAPOL-PMK on this hashline
mac_ap * mac_sta * PMKID * ANONCE * * EAPOL
hashcat should run WPA-PMKID-PMK on this hashline
Received only a PMKID
mac_ap * mac_sta * PMKID * * *
hashcat should run WPA-EAPOL-PMK on this hashline
mac_ap * mac_sta * * ANONCE * * EAPOL
Additional we can add a control field (0000) to
allow hcxtools to parse informations to hashcat,
like:
message_pair
use only PMK mode
use only EAPOL mode
has is AKM-defined and requires SHA_384 mic calculation instead of SHA-256
...
example:
mac_ap * mac_sta * PMKID * ANONCE * ESSID * EAPOL * control_field