:py:mod:`dissect.database.ese.ntds.pek` ======================================= .. py:module:: dissect.database.ese.ntds.pek Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.database.ese.ntds.pek.PEK Attributes ~~~~~~~~~~ .. autoapisummary:: dissect.database.ese.ntds.pek.HAS_CRYPTO dissect.database.ese.ntds.pek.AUTHENTICATOR .. py:data:: HAS_CRYPTO :value: True .. py:data:: AUTHENTICATOR .. py:class:: PEK(pek: bytes) Password Encryption Key (PEK) handler. :param pek: The raw PEK blob from the NTDS database. .. py:attribute:: pek .. py:attribute:: encrypted .. py:attribute:: decrypted :value: None .. py:property:: version :type: int PEK version. .. py:property:: unlocked :type: bool Indicates whether the PEK has been unlocked. .. py:property:: keys :type: dict[int, bytes] Dictionary of PEK keys by their key ID. .. py:method:: unlock(key: bytes) -> None Unlock the PEK list using the provided "syskey". :param key: The syskey of the domain controller. .. py:method:: decrypt(data: bytes) -> bytes Decrypt data using the PEK list. :param data: The encrypted data blob.