T1098.004 SSH Authorized Keys Mappings

Adversaries may modify the SSH <code>authorized_keys</code> file to maintain persistence on a victim host. Linux distributions and macOS commonly use key-based authentication to secure the authentication process of SSH sessions for remote management. The <code>authorized_keys</code> file in SSH specifies the SSH keys that can be used for logging into the user account for which the file is configured. This file is usually found in the user's home directory under <code>&lt;user-home&gt;/.ssh/authorized_keys</code>.(Citation: SSH Authorized Keys) Users may edit the system’s SSH config file to modify the directives PubkeyAuthentication and RSAAuthentication to the value “yes” to ensure public key and RSA authentication are enabled. The SSH config file is usually located under <code>/etc/ssh/sshd_config</code>.

Adversaries may modify SSH <code>authorized_keys</code> files directly with scripts or shell commands to add their own adversary-supplied public keys. In cloud environments, adversaries may be able to modify the SSH authorized_keys file of a particular virtual machine via the command line interface or rest API. For example, by using the Google Cloud CLI’s “add-metadata” command an adversary may add SSH keys to a user account.(Citation: Google Cloud Add Metadata)(Citation: Google Cloud Privilege Escalation) Similarly, in Azure, an adversary may update the authorized_keys file of a virtual machine via a PATCH request to the API.(Citation: Azure Update Virtual Machines) This ensures that an adversary possessing the corresponding private key may log in as an existing user via SSH.(Citation: Venafi SSH Key Abuse)(Citation: Cybereason Linux Exim Worm)

Where authorized_keys files are modified via cloud APIs or command line interfaces, an adversary may achieve privilege escalation on the target virtual machine if they add a key to a higher-privileged user.

View in MITRE ATT&CK®

Mappings

Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name
AC-20 Use Of External Information Systems Protects T1098.004 SSH Authorized Keys
AC-3 Access Enforcement Protects T1098.004 SSH Authorized Keys
AC-5 Separation Of Duties Protects T1098.004 SSH Authorized Keys
AC-6 Least Privilege Protects T1098.004 SSH Authorized Keys
CM-2 Baseline Configuration Protects T1098.004 SSH Authorized Keys
CM-5 Access Restrictions For Change Protects T1098.004 SSH Authorized Keys
CM-6 Configuration Settings Protects T1098.004 SSH Authorized Keys
CM-7 Least Functionality Protects T1098.004 SSH Authorized Keys
CM-8 System Component Inventory Protects T1098.004 SSH Authorized Keys
IA-2 Identification And Authentication (Organizational Users) Protects T1098.004 SSH Authorized Keys
IA-5 Authenticator Management Protects T1098.004 SSH Authorized Keys
RA-5 Vulnerability Monitoring and Scanning Protects T1098.004 SSH Authorized Keys
SC-12 Cryptographic Key Establishment and Management Protects T1098.004 SSH Authorized Keys
SI-3 Malicious Code Protection Protects T1098.004 SSH Authorized Keys
SI-4 System Monitoring Protects T1098.004 SSH Authorized Keys
attribute.integrity.variety.Modify privileges Modified privileges or permissions related-to T1098.004 Account Manipulation: SSH Authorized Keys