Added hash-mode 16800 = WPA-PMKID-PBKDF2

Added hash-mode 16801 = WPA-PMKID-PMK
Renamed lot's of existing WPA related variables to WPA-EAPOL in order to distinguish them with WPA-PMKID variables
Renamed WPA/WPA2 to WPA-EAPOL-PBKDF2
Renamed WPA/WPA2 PMK to WPA-EAPOL-PMK
This commit is contained in:
jsteube
2018-07-25 16:46:06 +02:00
parent 5ea70dc549
commit 88ebca40b8
18 changed files with 1570 additions and 528 deletions

View File

@@ -176,7 +176,7 @@ typedef struct pdf
} pdf_t;
typedef struct wpa
typedef struct wpa_eapol
{
u32 pke[32];
u32 eapol[64 + 16];
@@ -197,7 +197,18 @@ typedef struct wpa
int detected_le;
int detected_be;
} wpa_t;
} wpa_eapol_t;
typedef struct wpa_pmkid
{
u32 pmkid[4];
u32 pmkid_data[16];
u8 orig_mac_ap[6];
u8 orig_mac_sta[6];
u8 essid_len;
u32 essid_buf[16];
} wpa_pmkid_t;
typedef struct bitcoin_wallet
{
@@ -586,7 +597,7 @@ typedef struct sha512crypt_tmp
} sha512crypt_tmp_t;
typedef struct wpa_tmp
typedef struct wpa_pbkdf2_tmp
{
u32 ipad[5];
u32 opad[5];
@@ -594,13 +605,13 @@ typedef struct wpa_tmp
u32 dgst[10];
u32 out[10];
} wpa_tmp_t;
} wpa_pbkdf2_tmp_t;
typedef struct wpapmk_tmp
typedef struct wpa_pmk_tmp
{
u32 out[8];
} wpapmk_tmp_t;
} wpa_pmk_tmp_t;
typedef struct bitcoin_wallet_tmp
{
@@ -1029,7 +1040,7 @@ typedef enum hash_type
HASH_TYPE_SHA384 = 7,
HASH_TYPE_SHA512 = 8,
HASH_TYPE_DCC2 = 9,
HASH_TYPE_WPA = 10,
HASH_TYPE_WPA_EAPOL = 10,
HASH_TYPE_LM = 11,
HASH_TYPE_DESCRYPT = 12,
HASH_TYPE_ORACLEH = 13,
@@ -1087,6 +1098,8 @@ typedef enum hash_type
HASH_TYPE_CRAM_MD5_DOVECOT = 65,
HASH_TYPE_JWT = 66,
HASH_TYPE_ELECTRUM_WALLET = 67,
HASH_TYPE_WPA_PMKID_PBKDF2 = 68,
HASH_TYPE_WPA_PMKID_PMK = 69,
} hash_type_t;
@@ -1136,8 +1149,8 @@ typedef enum kern_type
KERN_TYPE_DCC2 = 2100,
KERN_TYPE_MD5PIX = 2400,
KERN_TYPE_MD5ASA = 2410,
KERN_TYPE_WPA = 2500,
KERN_TYPE_WPAPMK = 2501,
KERN_TYPE_WPA_EAPOL_PBKDF2 = 2500,
KERN_TYPE_WPA_EAPOL_PMK = 2501,
KERN_TYPE_MD55 = 2600,
KERN_TYPE_MD55_PWSLT1 = 2610,
KERN_TYPE_MD55_PWSLT2 = 2710,
@@ -1294,6 +1307,8 @@ typedef enum kern_type
KERN_TYPE_JWT_HS384 = 16512,
KERN_TYPE_JWT_HS512 = 16513,
KERN_TYPE_ELECTRUM_WALLET13 = 16600,
KERN_TYPE_WPA_PMKID_PBKDF2 = 16800,
KERN_TYPE_WPA_PMKID_PMK = 16801,
KERN_TYPE_PLAINTEXT = 99999,
} kern_type_t;
@@ -1306,8 +1321,8 @@ typedef enum rounds_count
{
ROUNDS_PHPASS = (1 << 11), // $P$B
ROUNDS_DCC2 = 10240,
ROUNDS_WPA = 4096,
ROUNDS_WPAPMK = 1,
ROUNDS_WPA_PBKDF2 = 4096,
ROUNDS_WPA_PMK = 1,
ROUNDS_BCRYPT = (1 << 5),
ROUNDS_PSAFE3 = 2048,
ROUNDS_ANDROIDPIN = 1024,
@@ -1424,7 +1439,7 @@ int sha512_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_bu
int sha512s_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int sha512crypt_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int vb30_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int wpa_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int wpa_eapol_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int psafe2_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int psafe3_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int ikepsk_md5_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
@@ -1552,6 +1567,8 @@ int ethereum_presale_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_bu
int jwt_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int electrum_wallet13_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int filevault2_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int wpa_pmkid_pbkdf2_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
int wpa_pmkid_pmk_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED hashconfig_t *hashconfig);
/**
* hook functions