ATT&CK-CN V1.01 Last Update: 2019-11 [返回索引页]

译者: 林妙倩、戴亦仑 原创翻译作品,如果需要转载请取得翻译作者同意。

数据来源:ATT&CK Matrices

原文: https://attack.mitre.org/techniques/T1156

术语表: /attack/glossary

.bash_profile 和 .bashrc

在打开新 shell 或用户登录时,会在用户的上下文中执行~/.bash_profile~/.bashrc ,以便正确设置其环境。 ~/.bash_profile 用于登录 shell,而 ~/.bashrc 在交互式非登录 shell 中执行。 这意味着当用户(通过用户名和密码)登录到控制台(本地或通过 SSH 之类的远程)时,在初始命令提示符返回给用户前会执行~/.bash_profile。 在登录之后,每当打开一个新 shell 时,就会执行 ~/.bashrc。 这允许用户更细粒度地控制何时执行特定命令。 Mac 的 Terminal.app 略有不同,默认情况下,每次打开一个新的终端窗口都会启动登录 shell,因此调用的是~/.bash_profile 而不是~/.bashrc。 这些文件应该由本地用户写入来配置自己的环境;但是,攻击者也可以向这些文件中插入代码,以便在每次用户登录或打开新的 shell 时获得持久性。

缓解

设置这些文件为不可更改且仅允许特定管理员更改,这将限制攻击者轻松创建用户级持久性的能力。

检测

虽然用户可以自定义它们~/.bashrc~/.bash_profile 文件,但通常只有特定类型的命令出现在这些文件中。 监视异常命令,如在登录过程中加载用户配置文件时执行未知程序、打开网络套接字或跨网络访问。