提权扫描工具集

提权扫描工具集

Published
March 27, 2023
Category
渗透测试
Subcategory
漏洞利用与攻击技术
渗透测试工貝与技巧
Tags
Windows-Exploit-Suggester
LES
Sherlock
PowerUp
Author
KK
Notes

1. Windows-Exploit-Suggester

Windows-Exploit-Suggester
AonCyberLabsUpdated Aug 28, 2023
Windows-Exploit-Suggester 是一个用于识别Windows系统中可能存在的未打补丁漏洞的工具。通过比较系统中已安装的补丁和公开的漏洞数据库,该工具可以找出可能被利用的潜在漏洞,从而帮助安全工程师对系统进行加固。
用法:
  1. 安装依赖:在使用Windows-Exploit-Suggester之前,你需要确保你的系统上已经安装了Python 2.7以及xlrd库。你可以通过运行pip install xlrd来安装xlrd库。
  1. 下载并更新漏洞数据库:从Microsoft官方网站下载最新的补丁数据(通常为xlsx格式的文件),并将其转换为适用于Windows-Exploit-Suggester的格式。你可以通过运行以下命令来完成这个操作: python windows-exploit-suggester.py --update
  1. 收集系统补丁信息:在目标Windows系统上,运行以下命令以收集系统补丁信息,并将结果保存到一个名为systeminfo.txt的文件中: systeminfo > systeminfo.txt ,请确保将此文件传输到安装有Windows-Exploit-Suggester的计算机上。
  1. 运行Windows-Exploit-Suggester:在具有Windows-Exploit-Suggester的计算机上,使用以下命令将工具与之前收集的系统信息文件(systeminfo.txt)一起运行: python windows-exploit-suggester.py --database 2022-03-24-mssb.xlsx --systeminfo systeminfo.txt ,请注意,--database 参数后的文件名应更改为实际下载的补丁数据文件名。
  1. 分析结果:Windows-Exploit-Suggester将输出一个包含潜在漏洞和相关补丁信息的列表。你可以根据这些信息判断系统是否存在已知的未修复漏洞,并采取相应的安全措施。

2. LES: Linux privilege escalation auditing tool

linux-exploit-suggester
The-Z-LabsUpdated Dec 20, 2023
linux-exploit-suggester是一个开源工具,用于在Linux系统中识别并建议潜在的本地提权漏洞利用。它可以帮助安全研究员、渗透测试人员或系统管理员识别可能存在的安全漏洞,并采取相应的防护措施。
该工具的作用:
  1. 分析目标Linux系统的内核版本、软件包等信息。
  1. 与已知的漏洞数据库进行比对,找出可能存在的本地提权漏洞。
  1. 为找到的漏洞提供相关的漏洞利用建议,包括可用的exploit代码。
用法:
  1. 首先,从GitHub仓库克隆或下载linux-exploit-suggester脚本:https://github.com/The-Z-Labs/linux-exploit-suggester
  1. 将脚本上传到目标Linux系统,或在需要分析的Linux系统上运行。
  1. 为脚本设置可执行权限:chmod +x linux-exploit-suggester.sh
  1. 以普通用户权限运行脚本:./linux-exploit-suggester.sh。这将收集系统信息并与已知的漏洞数据库进行比对。
  1. 分析脚本输出的结果。该工具将列出可能存在的漏洞以及相应的exploit代码或补丁。
  1. 根据脚本提供的建议,可以尝试利用这些漏洞进行进一步的渗透测试,或者采取措施修复这些漏洞以提高系统安全性。
需要注意的是,linux-exploit-suggester工具只能作为一个参考,不能保证发现的漏洞一定可以被利用,也不能保证找到系统中的所有潜在漏洞。在实际应用中,还需要结合其他安全工具和专业知识进行全面的安全评估。

3. Sherlock

Sherlock
rasta-mouseUpdated Aug 28, 2023
Sherlock 是一个用于检测和利用 Windows 操作系统中存在的权限提升漏洞的工具。它是一个 PowerShell 脚本,主要用于在渗透测试和安全评估期间帮助安全专家和研究人员找到潜在的权限提升点。
Sherlock 的作用:
  1. 自动检测:Sherlock 通过自动检测已知的 Windows 权限提升漏洞,帮助安全专家和研究人员快速找到可利用的漏洞。
  1. 易于使用:由于它是一个 PowerShell 脚本,所以安装和使用相对简单。用户只需在 PowerShell 中运行该脚本,即可获得关于潜在漏洞的详细信息。
Sherlock 的用法:
  1. 首先,需要下载或克隆 Sherlock 的 GitHub 仓库到本地计算机上。可以通过执行以下命令完成: git clone https://github.com/rasta-mouse/Sherlock.git
  1. 接下来,打开 PowerShell 并导航到 Sherlock 脚本所在的目录。在 PowerShell 中执行以下命令,以允许未签名的脚本运行(可能需要管理员权限): Set-ExecutionPolicy Unrestricted
  1. 然后,在 PowerShell 中进入 Sherlock 目录并导入 Sherlock 脚本:
cd Sherlock Import-Module .\Sherlock.ps1
  1. 现在,您可以运行 Sherlock 脚本以查找潜在的权限提升漏洞: Find-AllVulns ,运行该命令后,Sherlock 会开始检查系统中已知的权限提升漏洞。如果找到任何潜在漏洞,它将在输出中显示相关信息。然后,您可以根据这些信息来评估和利用这些漏洞,以提高系统权限。

4. PowerUp.ps1

PowerSploit
PowerShellMafiaUpdated Aug 31, 2023
PowerUp 是一个 PowerShell 脚本,主要用于自动化检查常见的 Windows 提权漏洞。下面是使用 PowerUp 进行提权漏洞检查的步骤:
  1. 首先,你需要从 GitHub 下载 PowerUp 脚本。访问以下链接并下载 PowerUp.ps1 文件: https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1
  1. 将 PowerUp.ps1 文件上传到目标 Windows 系统。你可以使用 Meterpreter 的 "upload" 命令或其他文件传输方法将脚本上传到目标系统上。
  1. 在目标系统上打开一个管理员权限的 PowerShell 终端。如果你已经拥有一个 Meterpreter 会话,你可以通过输入 execute -f powershell.exe -i -H 来启动一个具有管理员权限的 PowerShell 进程。
  1. 导入 PowerUp.ps1 脚本。在 PowerShell 终端中,切换到 PowerUp.ps1 文件所在的目录,并运行以下命令:
    1. sqlCopy code Import-Module .\PowerUp.ps1
  1. 运行 PowerUp 的 Invoke-AllChecks 函数来检查目标系统上的提权漏洞:
    1. Copy code Invoke-AllChecks
      这个命令将运行 PowerUp 中的所有检查,找出可能存在的提权漏洞,并输出检查结果。请注意,这可能需要一些时间,具体取决于目标系统的配置和性能。
  1. 分析输出结果,根据 PowerUp 提供的信息来确定是否存在可以利用的提权漏洞。
如果 PowerUp 发现了潜在的提权漏洞,你可以进一步研究这些漏洞,并尝试使用相应的 Exploit 或技术来提高你在目标系统上的权限。

5. MSF查询补丁和可利用提权漏洞

在 Metasploit Framework(MSF)中,你可以使用 Meterpreter 会话和相应的模块来查询目标系统上的补丁和可利用的提权漏洞。以下是操作步骤:
  1. 确保你已经成功地在目标系统上获得了一个 Meterpreter 会话。
  1. 在 Meterpreter 提示符下,运行以下命令来收集目标系统上已安装的补丁信息:
    1. arduinoCopy code run post/windows/gather/enum_patches
      此命令将收集目标系统上已安装的补丁信息,并将结果存储在 Metasploit 的本地数据库中。
  1. 要查找可利用的本地提权漏洞,首先在 msfconsole 中输入以下命令切换回 Metasploit 提示符:
    1. arduinoCopy code background
  1. 然后,加载 post/multi/recon/local_exploit_suggester 模块,该模块将根据目标系统的配置和已安装的补丁建议潜在的本地提权漏洞:
    1. bashCopy code use post/multi/recon/local_exploit_suggester
  1. 设置模块参数,例如,指定要使用的 Meterpreter 会话:
    1. arduinoCopy code set SESSION <your_session_id>
      (请将 <your_session_id> 替换为你的 Meterpreter 会话 ID。)
  1. 运行模块,开始查找可利用的本地提权漏洞:
    1. arduinoCopy code run
      模块将根据目标系统的信息(例如,操作系统版本和已安装的补丁)查找 Metasploit 中可用的本地 Exploit。如果发现任何潜在的漏洞,它们将在输出结果中列出。
  1. 分析输出结果,根据 local_exploit_suggester 提供的信息来确定是否存在可以利用的提权漏洞。你可以选择一个合适的 Exploit 并尝试利用找到的提权漏洞。
请注意,local_exploit_suggester 模块可能会漏报或误报一些漏洞,因此,在尝试提权之前,你应该进一步研究所列出的潜在提取漏洞。

6. Accesschk.exe 查找提取突破口

Accesschk.exe 是一个 Sysinternals 工具,由 Windows 内部技术专家 Mark Russinovich 开发。它用于在 Windows 系统上检查用户或用户组的权限。在提权攻击过程中,accesschk.exe 可以帮助攻击者找到潜在的权限配置问题,从而可能被用来提升权限。
以下是 accesschk.exe 在提权过程中可能发挥的作用:
  1. 检查服务权限:通过检查具有不当权限配置的服务,攻击者可以识别出可能用于提权的服务。例如,某些服务可能允许未经授权的用户修改其配置或直接启动它们。
    1. phpCopy code accesschk.exe -ucqv <ServiceName>
  1. 检查文件和目录权限:攻击者可以使用 accesschk.exe 检查文件和目录的权限,以查找具有不当访问权限的敏感文件和目录。
    1. phpCopy code accesschk.exe -uwdqs Users <Path>
  1. 检查注册表键权限:攻击者还可以使用 accesschk.exe 检查注册表键的权限,查找具有不当权限配置的注册表键。
    1. phpCopy code accesschk.exe -uvw <RegistryKey>
通过收集并分析 accesschk.exe 提供的信息,攻击者可以找到不安全的权限配置,并尝试利用这些配置漏洞来提高他们在目标系统上的权限。
使用示例:
accesschk "d:\dir" 查看所有用户在d盘dir路径的子路径的权限 accesschk "Administrator "d:\dir" 查看Administrator用户在d盘dir路径的子路径的权限 accesschk Administrators -c * 查看Administrators组对所有服务的权限 accesschk -k Guest hklm\software 查看Guest用户对hklm\software注册表的权限 accesschk -ou User 查看User用户对全局对象的权限
请注意,作为一名安全工程师,了解 accesschk.exe 如何用于提权攻击有助于你更好地防御此类攻击。定期审查权限配置并修复不当配置,是降低此类攻击风险的关键。