5985,5986 - Pentesting WinRM

chevron-right从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)arrow-up-righthashtag

支持 HackTricks 的其他方式:

加入 HackenProof Discordarrow-up-right 服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解 参与深入探讨黑客的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解及时了解快节奏的黑客世界

最新公告 随时了解最新的赏金计划发布和重要平台更新

加入我们的 Discordarrow-up-right,立即与顶尖黑客合作!

WinRM

Windows 远程管理(WinRM)arrow-up-right 是微软强调的一种协议,通过 HTTP(S) 实现对 Windows 系统的远程管理,在此过程中利用 SOAP。它基本上由 WMI 提供支持,作为 WMI 操作的基于 HTTP 的接口。

机器上存在 WinRM 允许通过 PowerShell 进行简单的远程管理,类似于 SSH 在其他操作系统上的工作方式。要确定 WinRM 是否可用,建议检查特定端口是否已打开:

  • 5985/tcp(HTTP)

  • 5986/tcp(HTTPS)

上述列表中的开放端口表示已设置 WinRM,因此允许尝试启动远程会话。

启动 WinRM 会话

要为 WinRM 配置 PowerShell,需要使用微软的 Enable-PSRemoting 命令,设置计算机以接受远程 PowerShell 命令。通过提升的 PowerShell 访问权限,可以执行以下命令以启用此功能并将任何主机指定为受信任的:

这种方法涉及向trustedhosts配置添加通配符,这一步骤需要谨慎考虑,因为它可能带来一些影响。还需要注意,可能需要将攻击者的机器上的网络类型从"Public"更改为"Work"。

此外,WinRM可以使用wmic命令远程激活,演示如下:

测试配置

要验证攻击机器的设置,使用Test-WSMan命令来检查目标是否正确配置了WinRM。通过执行此命令,您应该期望收到有关协议版本和wsmid的详细信息,表明配置成功。以下是演示已配置目标与未配置目标的预期输出示例:

  • 对于已正确配置的目标,输出将类似于:

执行命令

要在目标机器上远程执行ipconfig并查看其输出,请执行:

您还可以通过Invoke-Command执行当前PS控制台的命令。假设您本地有一个名为enumeration的函数,并且您想在远程计算机上执行它,您可以执行以下操作:

执行脚本

获取反向Shell

获取一个 PS 会话

要获取一个交互式 PowerShell shell,请使用 Enter-PSSession

会话将在“受害者”内部的新进程(wsmprovhost)中运行

强制打开 WinRM

要使用 PS 远程和 WinRM,但计算机未配置,您可以使用以下命令启用它:

保存和恢复会话

如果远程计算机中的语言受限,则无法工作

在这些会话中,您可以使用_Invoke-Command_加载PS脚本。

错误

如果你遇到以下错误:

enter-pssession : 连接到远程服务器 10.10.10.175 失败,错误消息如下:WinRM 客户端无法处理请求。如果身份验证方案与 Kerberos 不同,或者客户端计算机未加入域,则必须使用 HTTPS 传输,或将目标计算机添加到 TrustedHosts 配置设置中。使用 winrm.cmd 来配置 TrustedHosts。请注意,TrustedHosts 列表中的计算机可能未经过身份验证。您可以通过运行以下命令获取有关此信息的更多信息:winrm help config。有关更多信息,请参阅 about_Remote_Troubleshooting 帮助主题。

然后在客户端尝试(信息来自这里arrow-up-right):

加入HackenProof Discordarrow-up-right服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解 参与深入探讨黑客行为的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解及时了解快节奏的黑客世界

最新公告 了解最新的赏金任务发布和重要平台更新

加入我们的 Discordarrow-up-right 并开始与顶尖黑客合作!

在Linux中建立WinRM连接

暴力破解

请注意,暴力破解WinRM可能会导致用户被阻止。

使用 evil-winrm

阅读其 文档 在其 github 上: https://github.com/Hackplayers/evil-winrmarrow-up-right

要使用 evil-winrm 连接到一个 IPv6 地址,在 /etc/hosts 中创建一个条目,将一个域名设置为该 IPv6 地址,并连接到该域名。

使用 evil-winrm 传递哈希

使用PS-docker机器

使用ruby脚本

代码提取自这里:https://alamot.github.io/winrm_shell/arrow-up-right

Shodan

  • port:5985 Microsoft-HTTPAPI

References

HackTricks 自动命令

加入HackenProof Discordarrow-up-right 服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解 参与深入探讨黑客的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解,了解快节奏的黑客世界

最新公告 了解最新的赏金任务发布和重要平台更新

加入我们的 Discordarrow-up-right 并开始与顶尖黑客合作!

chevron-right从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)arrow-up-righthashtag

支持HackTricks的其他方式:

最后更新于