dissect.target.helpers.ssh
¶
Module Contents¶
Classes¶
A class to parse (OpenSSH-supported) SSH private keys. |
Functions¶
Validate data is a valid looking SSH private key in the OpenSSH format. |
|
Base64 decode the private key data. |
|
Validate data is a valid looking PKCS8 SSH private key. |
|
Validate data is a valid looking PEM SSH private key. |
Attributes¶
- dissect.target.helpers.ssh.c_rfc4716_def = Multiline-String¶
Show Value
""" struct ssh_string { uint32 length; char value[length]; } struct ssh_private_key { char magic[15]; ssh_string cipher; ssh_string kdf_name; ssh_string kdf_options; uint32 number_of_keys; ssh_string public; ssh_string private; } """
- dissect.target.helpers.ssh.c_rfc4716¶
- dissect.target.helpers.ssh.RFC4716_MARKER_START = b'-----BEGIN OPENSSH PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.RFC4716_MARKER_END = b'-----END OPENSSH PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.RFC4716_MAGIC = b'openssh-key-v1\x00'¶
- dissect.target.helpers.ssh.RFC4716_PADDING = b'\x01\x02\x03\x04\x05\x06\x07'¶
- dissect.target.helpers.ssh.RFC4716_NONE = b'none'¶
- dissect.target.helpers.ssh.PKCS8_MARKER_START = b'-----BEGIN PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PKCS8_MARKER_END = b'-----END PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PKCS8_MARKER_START_ENCRYPTED = b'-----BEGIN ENCRYPTED PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PKCS8_MARKER_END_ENCRYPTED = b'-----END ENCRYPTED PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PEM_MARKER_START_RSA = b'-----BEGIN RSA PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PEM_MARKER_END_RSA = b'-----END RSA PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PEM_MARKER_START_DSA = b'-----BEGIN DSA PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PEM_MARKER_END_DSA = b'-----END DSA PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PEM_MARKER_START_EC = b'-----BEGIN EC PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PEM_MARKER_END_EC = b'-----END EC PRIVATE KEY-----'¶
- dissect.target.helpers.ssh.PEM_ENCRYPTED = b'ENCRYPTED'¶
- class dissect.target.helpers.ssh.SSHPrivateKey(data: bytes)¶
A class to parse (OpenSSH-supported) SSH private keys.
OpenSSH supports three types of keys: * RFC4716 (default) * PKCS8 * PEM
- dissect.target.helpers.ssh.is_rfc4716(data: bytes) bool ¶
Validate data is a valid looking SSH private key in the OpenSSH format.