// 红队渗透 · 2025-03-10

PEASS 项目详解:渗透测试必备的提权检测神器

一、PEASS 项目简介

在网络安全领域,渗透测试是评估系统安全性的重要手段,而提权(Privilege Escalation)作为渗透测试中的关键环节,直接决定了攻击者能否从普通权限提升至管理员权限,从而完全控制目标系统。PEASS(Privileged Escalation Awesome Scripts)是一个专为渗透测试人员设计的开源工具集合,旨在帮助用户高效发现并利用系统中的提权漏洞。该项目以其强大的功能、广泛的平台支持和高度的自动化特性,成为安全研究人员和红队成员不可或缺的利器。

PEASS 项目由多个针对不同操作系统的提权检测脚本组成,覆盖了 Linux、Windows 和 macOS 等主流平台。其核心目标是通过系统化的扫描和分析,快速识别潜在的提权路径,从而提高渗透测试的效率和成功率。PEASS 不仅适用于专业安全研究人员,也为初学者提供了一个易于使用的工具,帮助他们快速上手提权测试。

PEASS 项目的主要组件包括:

  • LinPEAS:针对 Linux 系统的提权检测脚本,功能强大且覆盖广泛。
  • WinPEAS:专为 Windows 系统设计的提权检测工具,支持多种架构和环境。
  • 其他辅助工具和脚本,支持跨平台和多架构的灵活部署。

项目开源并托管于 GitHub,最新版本可通过以下链接下载:PEASS-ng Releases。PEASS 的模块化设计和详细的输出报告使其成为渗透测试领域的标杆工具。

二、PEASS 的版本与平台支持

PEASS 项目针对不同操作系统和硬件架构提供了多种版本,确保其在各种环境下都能灵活运行。以下是对 LinPEAS 和 WinPEAS 两个核心组件的版本及其特点的详细介绍。

1. LinPEAS 版本

LinPEAS 是 PEASS 项目中专为 Linux 系统设计的提权检测脚本,通过检查系统配置、文件权限、漏洞和潜在的错误配置,帮助渗透测试人员发现提权路径。其版本多样,适配不同的 Linux 发行版和硬件架构。

  • linpeas.sh
    这是 LinPEAS 的标准版本,文件大小约为 820 KB,以 Bash 脚本形式提供,适用于大多数 Linux 发行版。它功能全面,能够扫描系统中的常见漏洞、权限配置错误和服务信息,是渗透测试中的首选工具。

  • linpeas_darwin_amd64 和 linpeas_darwin_arm64
    这两个版本专为 macOS 系统设计,分别支持 64 位 Intel(amd64)架构(文件大小 3.05 MB)和 64 位 ARM 架构(文件大小 3.14 MB)。它们在功能上与 Linux 版本类似,但针对 macOS 的特定系统特性进行了优化,例如文件系统结构和权限管理。

  • linpeas_fat.sh
    这是一个功能更全面的“胖”版本,文件大小约为 15.7 MB,支持 Linux 和 macOS 多个平台及多种架构。尽管其功能更丰富,但较大的文件体积可能不适合资源受限的环境。

  • linpeas_small.sh
    这是一个精简版脚本,文件大小仅为 77 KB,去除了非核心功能,适用于磁盘空间或性能受限的场景。尽管功能有所减少,但仍能有效检测关键的提权向量。

  • linpeas_linux_386、linpeas_linux_amd64、linpeas_linux_arm、linpeas_linux_arm64
    这些版本分别针对不同的 Linux 架构优化:

    • 386:支持 32 位 x86 架构。
    • amd64:支持 64 位 x86 架构,适用于现代 Linux 系统。
    • arm:支持 32 位 ARM 架构,常见于嵌入式设备。
    • arm64:支持 64 位 ARM 架构,如树莓派或现代服务器。

2. WinPEAS 版本

WinPEAS 是 PEASS 项目中为 Windows 系统设计的提权检测工具,专注于发现 Windows 系统中的配置漏洞、权限错误和潜在的提权路径。它提供了多种文件格式和版本,以适配不同的 Windows 环境。

  • winPEAS.bat
    这是一个 Windows 批处理脚本,文件大小为 36.1 KB,通过执行一系列命令行检查,扫描系统配置、权限和服务信息。适用于快速部署和轻量级测试。

  • winPEASany.exe
    这是一个通用的 Windows 可执行文件,文件大小为 9.67 MB,支持多种 Windows 架构,能够自动扫描系统中的提权漏洞,适合大多数 Windows 环境。

  • winPEASany_ofs.exe
    这是一个专门设计用于绕过防病毒软件检测的版本,文件大小为 9.54 MB。通过混淆和优化,它能够在受限环境中运行,避免被防病毒软件拦截。

  • winPEASx64.exe 和 winPEASx64_ofs.exe
    这两个版本针对 64 位 Windows 系统,文件大小分别为 9.67 MB 和 9.54 MB,提供更高效的性能和更全面的功能,适合现代 Windows 系统。

  • winPEASx86.exe 和 winPEASx86_ofs.exe
    这两个版本适用于 32 位 Windows 系统,文件大小分别为 9.67 MB 和 9.54 MB,功能与 64 位版本类似,适用于较老的 Windows 系统或兼容性需求。

三、WinPEAS 的核心检查模块

WinPEAS 提供了一套全面的检查模块,覆盖系统信息、用户权限、进程、服务、应用程序、网络、云环境、凭据、浏览器数据和文件注册表等多个方面。以下是对其 11 个主要检查模块的详细介绍。

1. 系统信息(System Information)

系统信息模块是 WinPEAS 的核心功能之一,通过收集目标系统的关键信息,为后续提权分析提供基础数据。主要检查内容包括:

  • 基本系统信息:操作系统版本、补丁级别和架构信息。
  • Watson漏洞扫描:检测是否存在已知的 Windows 漏洞。
  • Microsoft更新枚举:检查系统安装的更新和补丁状态。
  • 安全设置:包括 PowerShell 配置、审计策略、Windows Event Forwarding(WEF)、本地管理员密码解决方案(LAPS)设置等。
  • 保护机制:检查 LSA 保护、Credential Guard 和 WDigest 是否启用。
  • 凭据管理:检测缓存的凭据数量和自动登录设置。
  • 环境变量:分析 PATH 和其他环境变量中可能存在的配置错误。
  • 安全软件:列出已安装的杀毒软件和 Windows Defender 配置。
  • UAC配置:检查用户账户控制(UAC)的设置,可能揭示绕过 UAC 的机会。
  • 网络和策略:包括 NTLM 设置、本地组策略、AppLocker 配置和防火墙规则。
  • 其他信息:如打印机、命名管道、AMSI 提供程序、SysMon 和 .NET 版本。

2. 用户信息(Users Information)

用户信息模块聚焦于用户账户和权限的分析,可能发现提权所需的弱点。检查内容包括:

  • 用户账户:列出所有本地用户账户及其权限。
  • 当前令牌权限:分析当前用户的权限令牌,检查是否存在高权限令牌。
  • 登录信息:包括当前登录用户、RDP 会话、历史登录用户和自动登录凭据。
  • 密码策略:检查系统密码策略的强度,如最小密码长度和复杂度要求。
  • 剪贴板和主目录:分析剪贴板内容和用户主目录中的敏感信息。

3. 进程信息(Processes Information)

进程信息模块扫描系统中运行的进程,重点关注非 Microsoft 进程,可能揭示潜在的漏洞或可利用点。检查内容包括:

  • 非 Microsoft 进程:列出所有非系统自带的进程,分析其路径和权限。
  • 进程权限:检查进程是否以高权限运行,是否存在可被劫持的进程。

4. 服务信息(Services Information)

服务信息模块分析系统服务的配置,寻找可修改或可利用的服务。检查内容包括:

  • 非 Microsoft 服务:列出非系统自带的服务及其配置。
  • 可修改服务:检测是否存在可被普通用户修改的服务。
  • 服务注册表:检查服务注册表中的可写路径,可能导致 DLL 劫持。
  • PATH DLL 劫持:分析服务路径中是否存在可被利用的 DLL 加载漏洞。

5. 应用程序信息(Applications Information)

应用程序信息模块检查系统中安装的软件和相关配置,可能发现提权路径。检查内容包括:

  • 已安装软件:列出所有已安装的应用程序及其版本。
  • 自动运行程序:检查开机自启动程序和计划任务。
  • 设备驱动程序:分析驱动程序的权限和潜在漏洞。
  • 当前活动窗口:检测当前运行的窗口,可能包含敏感信息。

6. 网络信息(Network Information)

网络信息模块分析系统的网络配置,寻找可能的安全漏洞。检查内容包括:

  • 网络共享:列出当前网络共享和映射驱动器。
  • 网络接口:检查网络接口配置和监听端口。
  • 防火墙规则:分析防火墙配置,寻找潜在的绕过点。
  • DNS缓存:检查 DNS 缓存内容(限制 70 条记录)。
  • hosts文件:检测 hosts 文件中是否存在异常配置。

7. 云元数据枚举(Cloud Metadata Enumeration)

云元数据模块针对云环境(如 AWS、Azure、GCP)进行元数据枚举,可能发现云凭据或配置错误。检查内容包括:

  • 云元数据:检测 AWS、GCP 和 Azure 的元数据服务。
  • 云凭据:分析是否存在泄露的云服务凭据。

8. Windows 凭据(Windows Credentials)

Windows 凭据模块专注于发现系统中存储的敏感凭据信息。检查内容包括:

  • Windows 保险库:检查 Windows Credential Vault 中的凭据。
  • 凭据管理器:分析保存的凭据。
  • RDP 设置:检查远程桌面连接中的保存凭据。
  • 其他凭据:包括 Kerberos 票据、WiFi 密码、AppCmd.exe 和 SCCM 配置等。
  • AlwaysInstallElevated:检测是否存在允许以提升权限安装软件的策略。

9. 浏览器信息(Browser Information)

浏览器信息模块分析浏览器中存储的敏感数据,可能包含凭据或历史记录。检查内容包括:

  • 浏览器数据库:检查 Firefox 和 Chrome 的数据库文件。
  • 历史记录:提取浏览器历史记录中的凭据。
  • 保存的密码:从 Firefox、Chrome、Opera 和 Brave 中提取保存的密码。
  • IE 信息:分析 IE 浏览器的标签页、历史记录和收藏夹。

10. 有趣文件和注册表(Interesting Files and Registry)

该模块扫描系统中的文件和注册表,寻找可能包含敏感信息的资源。检查内容包括:

  • SSH 密钥和会话:检查 Putty 和 SuperPutty 的配置和密钥。
  • 云凭据:检测注册表中的云服务凭据。
  • 无人值守文件:检查是否存在无人值守安装文件(unattended.xml)。
  • SAM 和 SYSTEM 备份:分析是否存在 SAM 和 SYSTEM 文件的备份。
  • 其他文件:包括 McAfee SiteList.xml、用户文档、隐藏文件和回收站中的敏感文件。

11. 事件信息(Events Information)

事件信息模块分析系统日志,寻找与提权相关的事件。检查内容包括:

  • 登录事件:分析登录和显式登录事件。
  • 进程创建事件:检查新创建的进程记录。
  • PowerShell 事件:分析 PowerShell 执行日志。
  • 开机/关机事件:检测系统启动和关闭记录。

12. 额外检查(较慢)

WinPEAS 还提供了一些耗时较长的额外检查,适用于深入分析:

  • LOLBAS 搜索:查找 Living Off The Land Binaries and Scripts,可能被用于提权。
  • WSL 检查:在 Windows Subsystem for Linux(WSL)中运行 LinPEAS,检测潜在的跨平台漏洞。

四、WinPEAS 的颜色编码系统

WinPEAS 使用颜色编码系统直观地标识安全发现,帮助用户快速定位高风险点:

  • 红色:表示特殊权限或严重配置错误,通常是高优先级的提权向量。
  • 绿色:表示启用了保护机制或良好的配置,通常无需关注。
  • 青色:表示活跃用户,可能需要进一步分析。
  • 蓝色:表示禁用用户,通常风险较低。
  • 浅黄色:表示链接,可能指向其他资源或配置。

五、LinPEAS 的核心检查模块

与 WinPEAS 类似,LinPEAS 提供了 10 个主要检查模块,覆盖 Linux 系统的各个方面。以下是详细介绍。

1. 系统信息(System Information)

系统信息模块收集 Linux 系统的核心信息,包括:

  • 操作系统和内核:检测发行版版本、内核版本和补丁状态。
  • CVE 检测:扫描已知的内核和系统漏洞。
  • 保护机制:检查 AppArmor、SELinux 和 ASLR 等保护机制的状态。
  • 环境变量:分析 PATH 和其他环境变量的配置错误。

2. 容器(Container)

容器模块分析系统中的容器环境,可能发现容器逃逸的路径。检查内容包括:

  • 容器检测:识别 Docker、LXC 或其他容器技术。
  • 逃逸向量:分析可能的容器逃逸漏洞,如特权容器或挂载点配置错误。

3. 云环境(Cloud)

云环境模块针对云服务(如 AWS、Azure、GCP)进行元数据和凭据检测:

  • 元数据枚举:检查云服务的元数据接口。
  • 云凭据:搜索可能泄露的云服务密钥。

4. 进程、定时任务、服务和套接字(Processes, Crons, Timers, Services and Sockets)

该模块分析系统中的动态组件,可能发现可利用的配置错误:

  • 运行进程:列出所有运行的进程,重点关注非标准进程。
  • 定时任务:检查 crontab 和 systemd 定时器的配置。
  • 服务状态:分析系统服务的权限和配置。

5. 网络信息(Network Information)

网络信息模块扫描网络配置,寻找潜在漏洞:

  • 网络配置:检查网络接口、路由表和 DNS 设置。
  • 防火墙规则:分析 iptables 或 nftables 的规则。
  • 端口扫描:检测开放端口和服务。

6. 用户信息(Users Information)

用户信息模块分析用户账户和权限,可能发现提权点:

  • 用户和组:列出所有用户和组,检查是否存在高权限用户。
  • 权限分析:检测用户是否具有 sudo 权限或其他特权。

7. 软件信息(Software Information)

软件信息模块检查已安装的软件包和版本:

  • 软件包:列出已安装的软件及其版本。
  • 数据库:检查 MySQL、PostgreSQL 等数据库的配置和权限。

8. 有趣权限的文件(Files with Interesting Permissions)

该模块扫描具有特殊权限的文件,可能导致提权:

  • SUID/SGID 文件:检测具有 SUID 或 SGID 位的可执行文件。
  • 可写目录:检查普通用户可写的目录。
  • Capabilities:分析文件或进程的 Linux Capabilities。

9. 其他有趣文件(Other Interesting Files)

该模块搜索可能包含敏感信息的文件:

  • 配置文件:检查 .bashrc、.profile 等配置文件。
  • 凭据文件:搜索可能包含密码或密钥的文件。

10. API 密钥正则匹配(API Keys Regex)

API 密钥模块通过正则表达式匹配敏感信息:

  • 凭据模式:搜索常见的密码和密钥格式。
  • API 密钥:检测 AWS、Azure 等服务的 API 密钥。

六、LinPEAS 的颜色编码系统

LinPEAS 的颜色编码系统与 WinPEAS 类似,用于快速标识风险级别:

  • 红色/黄色:高风险的提权向量,需立即关注。
  • 红色:可疑的配置,可能导致提权。
  • 绿色:安全的配置,通常无需处理。
  • 蓝色:无 shell 的用户或挂载设备。
  • 浅青色:有 shell 的活跃用户。
  • 浅洋红色:当前用户名,便于区分。

七、命令行参数与使用方法

LinPEAS 和 WinPEAS 都支持灵活的命令行参数,允许用户自定义检查范围:

  • -o:指定特定的检查模块,例如 ./linpeas.sh -o system_information 只运行系统信息模块。
  • -a:执行所有检查,包括耗时的密集扫描。
  • -s:启用隐蔽模式,减少系统日志记录,适合敏感环境。
  • -r:启用正则表达式检查,增强凭据和密钥的检测能力。

WinPEAS 还支持模块化运行,例如 winpeas.exe systeminfo userinfo 只运行系统信息和用户信息模块。

对于OSCP考试,建议使用以下最关键的模块:

winpeas.exe systeminfo userinfo servicesinfo windowscreds filesinfo

八、总结

PEASS 项目通过其强大的 LinPEAS 和 WinPEAS 工具,为渗透测试人员提供了一个高效、全面的提权检测解决方案。其模块化设计、跨平台支持和直观的颜色编码系统使其成为安全领域的标杆工具。无论是进行渗透测试、安全审计还是漏洞研究,PEASS 都能帮助用户快速发现潜在的提权路径,提升工作效率。

通过深入理解 PEASS 的检查模块和使用方法,安全从业者可以更高效地识别系统中的弱点,制定有效的提权策略。

原文 https://blog.csdn.net/2301_79518550/article/details/146030391