讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么根据/proc/PID/environ排查恶意进程的环境变量来源

大明小哥_7784

大明小哥_7784

发布时间:2026-11-04 13:21:36

|

480人浏览过

|

来源于php中文网

原创

/proc/PID/environ仅显示进程启动时继承的环境变量快照,以分隔,不反映运行时setenv()等修改;真实来源需追溯PPid、systemd配置或execve调用。

linux怎么根据/proc/pid/environ排查恶意进程的环境变量来源

直接看 /proc/PID/environ 能发现什么

它只反映进程启动那一刻继承的环境变量,以 分隔的 KEY=VALUE 形式存在。恶意进程若通过 setenv() 或 putenv() 在运行时动态修改环境,这些变更**不会写回 /proc/PID/environ**——该文件是只读快照,不是运行时视图。

所以你看到的只是“它被谁拉起来时带了哪些变量”,比如是否被 systemd 服务单元注入了 LD_PRELOAD,或是否从父 shell 继承了可疑的 PATH。真正要盯的是“谁给了它这些变量”,而不是“它现在用了哪些”。

怎么定位环境变量的真实来源

不能只查 /proc/PID/environ,必须向上追溯启动链:

Linux Security Scanner
Linux Security Scanner

Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...

下载
  • 用 cat /proc/PID/status | grep PPid 找父进程 PID;再查那个 PID 的 /proc/PPID/exe 和 /proc/PPID/cmdline,确认父进程是不是合法服务管理器(如 /usr/lib/systemd/systemd)
  • 如果 PPid 是 1,且 /proc/PID/exe 指向 /tmp/.X11-unix/sshd 这类路径,说明它绕过 systemd 直接由 root 启动,/proc/PID/environ 里的 LD_LIBRARY_PATH 很可能来自攻击者手动设置
  • 对 systemd 管理的服务,运行 systemctl cat servicename,检查 Environment= 或 EnvironmentFile= 配置项——恶意服务常在这里硬编码危险变量
  • 用 strings /proc/PID/environ | grep -i "prel|lib|path" 快速筛出高危键,如 LD_PRELOAD、LD_LIBRARY_PATH、PATH 是否包含 /dev/shm、/tmp、/var/tmp

常见陷阱:为什么你看到的 environ 不等于实际生效的环境

/proc/PID/environ 是只读快照,但进程运行中可以:

  • 调用 prctl(PR_SET_MM, ...) 修改自身 mm_struct,绕过内核对环境变量的原始映射
  • 用 setns() 进入其他命名空间后,/proc/PID/environ 仍显示旧值,但实际 getenv() 返回的是新空间的变量
  • 某些容器运行时(如早期 runc)在 exec 时会覆盖 environ 区域,导致 /proc/PID/environ 和 getenv() 不一致
  • strace -e trace=execve 比看 /proc/PID/environ 更可靠——它能捕获 execve 系统调用传入的 envp 数组,这才是真实起点

真正该监控的不是 environ,而是变量如何被注入

靠翻 /proc/PID/environ 排查已存在的恶意进程,效率低且易漏。生产环境应转向主动防御:

  • auditd 规则:-a always,exit -F arch=b64 -S execve -F argc>=2 -k env_injection,捕获所有带非空 envp 参数的 execve
  • systemd 服务加固:在 [Service] 段加 UnsetEnvironment=LD_PRELOAD LD_LIBRARY_PATH,并设 SecureBits=keep-caps 防止 cap_dac_override 绕过
  • 用 bpftrace -e 'tracepoint:syscalls:sys_enter_execve { printf("PID %d CMD %s ENV %s\n", pid, str(args->argv), str(args->envp)); }' 实时观察环境变量传递链

记住:/proc/PID/environ 是个静态快照,它不告诉你“谁改的”,也不记录“何时改的”。真要溯源注入点,得盯住 execve 调用和 systemd 单元定义,而不是反复 tr '' ' ' 。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4390

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3693

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2953

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7310

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6942

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3973

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3445

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3699

2023.07.25

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习

phpstorm开发手册
phpstorm开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn