Clear Command History
macOS and Linux both keep track of the commands users type in their terminal so that users can easily remember what they've done. These logs can be accessed in a few different ways. While logged in, this command history is tracked in a file pointed to by the environment variable
HISTFILE. When a user logs off a system, this information is flushed to a file in the user's home directory called
~/.bash_history. The benefit of this is that it allows users to go back to commands they've used before in different sessions. Since everything typed on the command-line is saved, passwords passed in on the command line are also saved. Adversaries can abuse this by searching these files for cleartext passwords. Additionally, adversaries can use a variety of methods to prevent their own commands from appear in these logs such as
|Environment Variable Permissions||
Making the associated environment variables read only can make sure that the history is preserved.
|Restrict File and Directory Permissions||
Preventing users from deleting or writing to certain files can stop adversaries from maliciously altering their
User authentication, especially via remote terminal services like SSH, without new entries in that user's
~/.bash_history is suspicious. Additionally, the modification of the HISTFILE and HISTFILESIZE environment variables or the removal/clearing of the
~/.bash_history file are indicators of suspicious activity.