首页/安全/取证与溯源速查/exe 与 cwd 定位运行程序
Linux 取证135 条

exe 与 cwd 定位运行程序

每个进程的 /proc/<pid>/exe 指向可执行文件、cwd 指向工作目录;即使进程已删除本体,链接也会带 (deleted) 标记,可直接定位可执行内容。

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

用 /proc 定位真实程序

/proc/<pid>/ 目录下有几个符号链接直接指向进程的真实身份:exe 指向可执行文件,cwd 指向当前工作目录,root 指向进程看到的根目录,fd 目录里是打开的文件与套接字。命令行参数可以伪装,进程名可以改成任意字符,但 exe 指向的文件路径不会跟着变。程序本体被删除后,链接目标会带上 (deleted) 标记——这本身就是重要线索,而且仍可以从该链接把可执行内容复制出来做哈希与逆向。

基本信息

路径/proc/<pid>/exe、cwd、root、cmdline、environ、fd/、maps、status
查看方式ls -l 看链接目标,readlink -f 取绝对路径
权限要求读取其他用户进程的这些链接通常需要 root
删除标记链接目标带 (deleted) 表示程序本体已被删除
复制方法从 /proc/<pid>/exe 直接复制可执行内容,注意异常进程可能拒绝读取
关联信息/proc/<pid>/maps 可发现被删除的动态库与内存映射

典型使用场景

  • 确认可疑进程真正执行的是哪个文件,而非它的显示名称
  • 定位程序所在目录,进而在同目录下发现配套脚本与配置文件
  • 对已删除的可执行文件做哈希与留存,保留逆向分析的样本
  • 通过 cwd 判断进程的运行上下文(例如从 /tmp 启动)
  • 检查打开的 socket 与文件描述符,关联外联行为
  • 在容器环境中确认进程视角下的根目录范围

查看与提取

查看与提取
# 取进程的真实程序路径与工作目录
ls -l /proc/1234/exe /proc/1234/cwd /proc/1234/root
readlink -f /proc/1234/exe
# 完整命令行与环境变量(注意 environ 可能含敏感信息)
tr '\0' ' ' < /proc/1234/cmdline; echo
tr '\0' '\n' < /proc/1234/environ | head
# 程序本体已删除时,链接目标会带 (deleted),仍可复制留存
ls -l /proc/1234/exe
cp /proc/1234/exe /evidence/bin.1234 2>/dev/null && sha256sum /evidence/bin.1234
# 查看打开的文件与套接字
ls -l /proc/1234/fd | head -20
# 内存映射里可发现已删除的动态库
awk '{print $6}' /proc/1234/maps | sort -u | head -20

链接与文件逐项读法

对象含义判读要点
exe可执行文件路径带 (deleted) 说明本体已删,仍可复制留存
cwd当前工作目录从 /tmp 或 /dev/shm 启动值得重点核查
root进程视角的根目录容器内通常不是宿主机的 /,可用于判断隔离范围
cmdline完整命令行参数参数里的地址、路径与编码串是直接线索
fd/打开的文件与套接字可关联外联连接与被写入的文件
maps内存映射的文件包含已删除的库文件,常见于内存加载场景
从 /proc/<pid>/exe 复制文件前先确认权限与进程稳定性:异常进程可能拒绝读取或立即退出。必要时先做内存采集,再尝试提取可执行文件。
内核线程没有 exe 链接,遇到空链接先确认进程类型,再判断是否异常。同时注意容器内进程的 /proc 视图与宿主机不同,采集时要在正确的命名空间里执行。

易错点

  • 只依据进程名或 cmdline 判断身份,未核对 /proc/<pid>/exe,被伪装进程欺骗
  • 看到 (deleted) 就认为无从取证,忽略仍可从 /proc 直接提取可执行内容
  • 在宿主机上查看容器进程的 /proc 视图,路径与根目录含义被误读
  • 提取被删除程序前先杀掉进程,内存与映射证据随之消失
  • 读取 environ 时不注意其中含凭据与密钥,未按敏感数据处理

数据来源与参考

  • man 5 proc(proc(5) 的 /proc/pid/exe 说明)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌