首页/安全/应急响应速查/检查进程环境变量中的劫持与凭据

检查进程环境变量中的劫持与凭据

/proc/PID/environ 保存启动瞬间的环境变量:LD_PRELOAD 劫持、异常代理、甚至明文凭据都常在这里露出。

应急响应速查安全更新于 2026-10-13

environ 里能看到什么

/proc/PID/environ 保存进程启动瞬间的环境变量,以 NUL 分隔。LD_PRELOAD 劫持、异常的代理设置,甚至被写进环境的明文凭据,都常在这里露出。

时效与权限

它反映的是启动那一刻的值:进程内通过 setenv 做的修改不会体现。读取需要 root 或与进程同用户,因此「读不到」通常只是权限问题。

基本信息

查看方式tr '\0' '\n' < /proc/PID/environ
可疑项LD_PRELOAD、LD_LIBRARY_PATH
顺带线索代理变量、内网地址、明文口令与 token
权限要求root 或与目标进程同用户
时效性反映启动瞬间的值,不含运行期修改
关联文件/proc/PID/cmdline 与 /proc/PID/maps

典型使用场景

  • 排查环境变量注入类劫持
  • 从 Web 进程环境中发现被写入的凭据
  • 确认进程使用的代理与外部地址配置
  • 还原服务启动时的工作参数
  • 与进程画像一起固定证据

列出环境变量并筛选

列出环境变量并筛选
tr '\0' '\n' < /proc/1234/environ | sort
tr '\0' '\n' < /proc/1234/environ | grep -iE 'ld_preload|ld_library_path|proxy'
tr '\0' '\n' < /proc/1234/environ | grep -aiE 'pass|token|secret|key=' | head
wc -c /proc/1234/environ
tr '\0' '\n' < /proc/1234/environ | wc -l

逐项读法

变量含义正常/异常
LD_PRELOAD预加载库路径出现非系统路径即高可疑
LD_LIBRARY_PATH库搜索路径指向临时目录需重点核查
http_proxy 等出站代理设置出现未知代理说明流量可能被中转
含凭据变量明文口令与 token属敏感证据,导出后需脱敏
environ 只反映启动时的状态:判断要结合 cmdline、maps 与实际网络行为,单看环境变量容易得出片面结论。
直接 cat 会因为 NUL 分隔糊成一行,必须先 tr 转换;输出中可能含明文凭据,应按敏感证据管理并限制访问范围。

留档时对凭据脱敏

留档时对凭据脱敏
tr '\0' '\n' < /proc/1234/environ | sed -E 's/(pass|token|secret|key)[^=]*=.*/\1=REDACTED/I' > /evidence/env_1234.txt
sha256sum /evidence/env_1234.txt
tr '\0' '\n' < /proc/1234/environ | wc -l

容易忽略的变量线索

  • PATH 被前置了非标准目录,可能导致系统命令被替换
  • HOME 或 TMPDIR 指向异常路径,改变程序的运行位置
  • SHELL 与 SHELLOPTS 变化提示启动方式被改动
  • 业务变量中出现外部 IP 与非常规端口

排查时的常见疑问

  • 读不到内容多为权限问题,非 root 无法读取他人进程的环境变量
  • 变量存在但值为空,说明启动脚本里赋值为空而非没有设置
  • 同一服务的多实例变量可能不同,需要按 PID 分别确认
  • 环境变量与命令行都会泄露信息,两者都要固定留档

分析要点

  • 只记录含凭据的变量名,不记录完整值
  • 核对环境中出现的 IP 与域名归属
  • 与进程启动脚本对照确认是否由脚本注入
  • 把结论与时间点写入事件时间线

易错点

  • 直接 cat 查看:NUL 分隔会糊成一行,必须先 tr 转换
  • 把环境变量当实时状态:它不反映运行期修改
  • 忽略权限限制:非 root 读不到其他用户的 environ
  • 把带凭据的输出直接贴进报告:造成二次泄露
  • 只看 LD_PRELOAD:代理与路径类变量同样是重要线索

数据来源与参考

  • man 5 proc(/proc/pid/environ)
  • MITRE ATT&CK T1574.006 动态链接器劫持

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌