构建自定义LinPEAS的完整指南:3步实现选择性检查与轻量化部署
【免费下载链接】PEASS-ngPEASS - Privilege Escalation Awesome Scripts SUITE (with colors)项目地址: https://gitcode.com/gh_mirrors/pe/PEASS-ng
PEASS-ng(Privilege Escalation Awesome Scripts SUITE)是一款强大的权限提升枚举工具,包含linPEAS(Linux)和winPEAS(Windows)两个主要组件。本文将详细介绍如何通过官方工具链定制轻量级linPEAS脚本,只保留必要检查项,显著提升在资源受限环境中的运行效率。
为什么需要自定义LinPEAS?
默认的linPEAS脚本包含超过20个检查模块,从系统信息到云服务凭证扫描无所不包。完整扫描可能需要数分钟,并产生大量输出。通过自定义构建,你可以:
- 减少90%扫描时间:只保留目标环境相关的检查项
- 降低检测风险:移除噪音大的网络扫描和暴力破解模块
- 优化资源占用:最小化内存使用和磁盘I/O操作
准备工作:搭建构建环境
1. 获取源代码
git clone https://gitcode.com/gh_mirrors/pe/PEASS-ng cd PEASS-ng/linPEAS/builder2. 安装依赖
确保系统已安装Python 3.6+和必要依赖:
pip3 install -r requirements.txt # 若存在requirements文件核心步骤:3步构建自定义脚本
第1步:理解模块结构
linPEAS的检查项组织在模块化目录中,主要分类包括:
- 系统信息:linPEAS/builder/linpeas_parts/1_system_information/
- 容器检测:linPEAS/builder/linpeas_parts/2_container/
- 进程与服务:linPEAS/builder/linpeas_parts/4_procs_crons_timers_srvcs_sockets/
- 文件权限:linPEAS/builder/linpeas_parts/8_interesting_perms_files/
每个目录包含多个.sh文件,对应具体检查功能。
第2步:使用构建工具筛选模块
官方提供的linpeas_builder.py支持通过命令行参数选择需要包含的模块:
python3 linpeas_builder.py --modules "1_system_information,8_interesting_perms_files"常用模块组合建议:
- 基础枚举:
1_system_information,6_users_information,8_interesting_perms_files - 容器环境:
2_container,4_procs_crons_timers_srvcs_sockets,8_interesting_perms_files - 快速扫描:
1_system_information,6_users_information,7_software_information
第3步:生成并测试自定义脚本
构建完成后,会在当前目录生成linpeas_custom.sh。通过以下参数验证功能:
chmod +x linpeas_custom.sh ./linpeas_custom.sh -hlinPEAS自定义版本的命令行参数界面,显示支持的检查项和运行选项
高级技巧:精细化控制检查项
1. 编辑模块元数据
每个模块目录下的metadata.yaml文件定义了检查项的启用条件和依赖关系。例如,编辑:
# linPEAS/builder/linpeas_parts/1_system_information/metadata.yaml name: system_info enabled: true dependencies: [] timeout: 302. 命令行排除特定检查
即使在构建时包含了模块,仍可在运行时排除特定子检查:
./linpeas_custom.sh --exclude "17_Kernel_Modules.sh,19_Kernel_Exploit_Registry.sh"3. 集成到自动化工作流
将自定义构建过程集成到CI/CD管道,例如:
# .gitlab-ci.yml 示例 build: script: - cd linPEAS/builder - python3 linpeas_builder.py --modules "1_system_information,8_interesting_perms_files" - mv linpeas_custom.sh ../dist/ artifacts: paths: - linPEAS/dist/常见问题解决
Q: 构建时报错"ModuleNotFoundError"?
A: 确保已安装所有依赖:pip3 install pyyaml glob2
Q: 如何验证自定义脚本完整性?
A: 使用--verify参数运行:./linpeas_custom.sh --verify
Q: 最小化版本可以多小?
A: 仅包含系统信息和文件权限检查时,脚本大小可控制在150KB以内
总结
通过本文介绍的方法,你可以轻松构建只包含必要功能的linPEAS版本,在保持核心检测能力的同时显著提升性能。配合winPEAS的类似定制方法(通过winPEAS/winPEASexe/winPEAS.csproj修改编译选项),能够打造一套完整的跨平台权限提升枚举工具集。
winPEAS在Windows环境下的扫描结果示例,显示权限问题和潜在漏洞
自定义构建不仅是技术优化,更是渗透测试中"按需加载"理念的实践。根据目标环境特点调整工具链,始终是高效安全评估的关键。
【免费下载链接】PEASS-ngPEASS - Privilege Escalation Awesome Scripts SUITE (with colors)项目地址: https://gitcode.com/gh_mirrors/pe/PEASS-ng
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考