2.2.5.19 JOINPR_ENCRYPTED_USER_PASSWORD_AES
The JOINPR_ENCRYPTED_USER_PASSWORD_AES structure is the container for a password during the encoding, encryption, decryption, and decoding process.<10>
-
typedef struct _JOINPR_ENCRYPTED_USER_PASSWORD_AES { UCHAR AuthData[64]; UCHAR Salt[16]; [range(0, MAX_PASSWORDBLOB_SIZE)] ULONG cbCipher; [size_is(cbCipher)] PUCHAR Cipher; } JOINPR_ENCRYPTED_USER_PASSWORD_AES, *PJOINPR_ENCRYPTED_USER_PASSWORD_AES;
AuthData: 64 bytes, the HMAC.
Salt: A 16 byte salt.
cbCipher: Length, in bytes, of the Cipher field.
Cipher: Encrypted password.
The following sections will demonstrate how to encrypt and encode a password and SMB session key into a JOINPR_ENCRYPTED_USER_PASSWORD_AES.