首页/安全/取证与溯源速查/用户 rc 文件审计
Linux 取证135 条

用户 rc 文件审计

~/.bashrc、~/.bash_profile 与 ~/.profile 在用户登录或开新 shell 时执行,被追加一行命令即可形成与用户绑定的持久化。

取证与溯源速查安全更新于 2026-10-13

shell 启动文件

用户级启动文件(~/.bashrc、~/.bash_profile、~/.profile、~/.zshrc)在交互式或登录 shell 启动时被 source,是最常见的账号级持久化落点:可追加别名、函数、后台任务或环境变量劫持。核查重点是 mtime/ctime、尾部追加片段,以及是否存在覆盖常用命令的 alias 与函数。

基本信息

适用平台Linux / macOS 的 bash、zsh
用户级文件~/.bashrc、~/.bash_profile、~/.profile、~/.zshrc
系统级文件/etc/profile、/etc/bashrc、/etc/profile.d/*.sh
观察点mtime、ctime、尾部追加内容、base64 与远程下载语句
权限属主可改,root 可读全部家目录
骨架对照/etc/skel/ 下的同名文件

典型使用场景

  • 排查账号级持久化与命令劫持
  • 确认排查过程中哪些 alias 或函数改变了命令行为
  • 与该发行版镜像的默认文件做差异比对
  • 与 cron、systemd timer 等其它持久化位置联动排查
  • 在用户家目录时间线中定位改动时刻

最小示例

最小示例
ls -l --time-style=long-iso /home/*/.bashrc /root/.bashrc 2>/dev/null  # 时间戳总览
tail -30 /home/alice/.bashrc                                          # 重点看尾部追加片段
grep -nE 'alias |function |curl|wget|base64|/tmp/|/dev/shm/' /home/alice/.bashrc
diff /home/alice/.bashrc /etc/skel/.bashrc                            # 与骨架文件比差异
find /home -maxdepth 2 \( -name '.bashrc' -o -name '.profile' \) -exec ls -l --time-style=long-iso {} +
bash -n /home/alice/.bashrc                                            # 只做语法检查,不执行

观察项与信号

观察项含义异常信号
mtime内容最后一次修改时间晚于账号最后一次登录时间
ctime元数据最后变更时间与 mtime 明显背离,或早于 mtime
alias 行命令别名覆盖把 ls、ps、ss 指向自定义脚本
函数定义同名命令被函数覆盖函数体内含远程下载或编码解码
环境变量影响后续所有子进程设置 LD_PRELOAD、代理或 BASH_ENV
阅读这些文件用 cat 或 less,不要 source 或执行;需要判断语法时用 bash -n 校验,避免排查动作重新触发持久化。
检查范围要覆盖 root 家目录、服务账号与容器内用户,只扫 /home 会漏掉 /root/.bashrc 等关键落点。
BASH_ENV 与 ENV 变量能让非交互式 shell 也加载指定脚本,是容易被忽略的持久化旁路,值得单独核对。
多个账号的启动文件 mtime 若集中在数秒内,通常来自同一次批量投递;结合 auditd 对文件的 watch 规则可以进一步定位写入进程。
除 bash 系列外还有 shell 专属文件:zsh 读 ~/.zshrc,fish 读 ~/.config/fish/config.fish;只按 bash 命名排查会漏掉这些落点。

易错点

  • 只看内容不记录时间戳:有没有改动、何时改动都需要时间戳支撑,缺了就只剩推测
  • 忽略 alias 与函数覆盖:命令被劫持后,后续所有排查命令的输出都不可信
  • 只查 /home 不查 /root 与 /etc/skel:多个落点会被当成不存在,结论不完整
  • 在排查过程中 source 了可疑片段:可能重新触发持久化任务,破坏现场
  • 把骨架文件自带的配置当成可疑:发行版默认内容里本就有 alias 与提示符设置,要先与同版本骨架比对再定性

数据来源与参考

  • GNU Bash 手册(Bash Startup Files)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌