跳转至

清除命令历史

除了清除系统日志外,对手可能会清除被破坏账户的命令历史,以隐藏入侵期间执行的操作。各种命令解释器会跟踪用户在终端中输入的命令,以便用户可以回溯他们所做的操作。 在Linux和macOS上,这些命令历史可以通过几种不同的方式访问。当用户登录时,这些命令历史会被记录在环境变量HISTFILE指向的文件中。当用户注销系统时,这些信息会被刷新到用户主目录中的一个名为~/.bash_history的文件中。这样做的好处是,它允许用户在不同的会话中回顾他们之前使用的命令。 对手可能会通过手动清除历史记录(history -c)或删除bash历史文件rm ~/.bash_history来删除他们的命令。 对手还可能利用网络设备上的网络设备CLI清除命令历史数据(clear logging和/或clear history)。(引用: US-CERT-TA18-106A) 在Windows主机上,PowerShell有两种不同的命令历史提供者:内置历史和由PSReadLine模块管理的命令历史。内置历史仅跟踪当前会话中使用的命令。这些命令历史对其他会话不可用,并且在会话结束时会被删除。 PSReadLine命令历史跟踪所有PowerShell会话中使用的命令,并将它们写入一个文件(默认情况下为$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt)。此历史文件对所有会话可用,并包含所有过去的历史记录,因为该文件在会话结束时不会被删除。(引用: Microsoft PowerShell Command History) 对手可能会运行PowerShell命令Clear-History以从当前PowerShell会话中清除整个命令历史。然而,这不会删除/清除ConsoleHost_history.txt文件。对手还可能删除ConsoleHost_history.txt文件或编辑其内容,以隐藏他们运行的PowerShell命令。(引用: Sophos PowerShell command audit)(引用: Sophos PowerShell Command History Forensics)