graph LR
SecuritySettings["SecuritySettings"]
RC4Crypter["RC4Crypter"]
Key["Key"]
RC4["RC4"]
CertFetcher["CertFetcher"]
SecuritySettings -- "orchestrates" --> RC4Crypter
RC4Crypter -- "utilizes keys from" --> Key
RC4Crypter -- "utilizes" --> RC4
Key -- "provides keys to" --> RC4Crypter
RC4 -- "provides primitives to" --> RC4Crypter
The Security & Certificate Management subsystem is crucial for pyrdp's MITM capabilities, handling all cryptographic operations and certificate manipulation. The subsystem is primarily defined by the pyrdp.security package and the pyrdp.bin.clonecert module, encompassing functionalities for certificate fetching, key management, and cryptographic algorithms.
Manages security-related configurations and orchestrates the creation and configuration of cryptographic components, acting as the central point for security setup.
Related Classes/Methods:
Provides the high-level interface for performing RC4-based encryption and decryption operations on data streams, abstracting the underlying RC4 algorithm.
Related Classes/Methods:
An abstract base class defining the interface and providing mechanisms for deriving and updating cryptographic keys, ensuring secure key management.
Related Classes/Methods:
Implements the core RC4 stream cipher algorithm, including its Key-Scheduling Algorithm (KSA) and Pseudo-Random Generation Algorithm (PRGA), providing the low-level cryptographic primitive.
Related Classes/Methods:
Handles the process of connecting to a target RDP server, fetching its SSL/TLS certificate, and saving it, enabling certificate cloning for MITM.
Related Classes/Methods: