evil-winrm
用于黑客/渗透测试的终极 WinRM shell,官网地址 --> 链接
Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM] [--spn SPN_PREFIX] [-l]
-S, --ssl 开始 SSL
-c, --pub-key PUBLIC_KEY_PATH 本地公钥证书的本地路径
-k, --priv-key PRIVATE_KEY_PATH 本地私钥证书的路径
-r, --realm DOMAIN Kerberos auth, it has to be set also in /etc/krb5.conf file using this format -> CONTOSO.COM = { kdc = fooserver.contoso.com }
-s, --scripts PS_SCRIPTS_PATH 本地 Powershell 脚本路径
--spn SPN_PREFIX Kerberos 身份验证的 SPN 前缀 (default HTTP)
-e, --executables EXES_PATH C# 本地可执行文件路径
-i, --ip IP 远程主机 IP 或者主机名称
-U, --url URL 远程 URL (default /wsman)
-u, --user USER 用户名(必填)
-p, --password PASS 密码
-H, --hash HASH NTHash
-P, --port PORT 远程主机端口 (default 5985)
-V, --version Show version
-n, --no-colors 禁用颜色
-N, --no-rpath-completion 禁用远程路径完成
-l, --log Log the WinRM session
-h, --help Display this help message
描述
evil-winrm是Windows远程管理(WinRM) Shell的终极版本。
Windows远程管理是“WS 管理协议的 Microsoft 实施,该协议是基于标准 SOAP、不受防火墙影响的协议,允许不同供应商的硬件和操作系统相互操作。而微软将其包含在他们的系统中,是为了便于系统管理员在日常工作中,远程管理服务器,或通过脚本同时管理多台服务器,以提高他们的工作效率。
此程序可在启用此功能的任何Microsoft Windows服务器上使用(通常端口为5985),当然只有在你具有使用凭据和权限时才能使用。因此,我们说它可用于黑客攻击的后利用/渗透测试阶段。相对于攻击者来说,这个程序能为他们提供更好更简单易用的功能。当然,系统管理员也可以将其用于合法目的,但其大部分功能都集中于黑客攻击/渗透测试。
功能
历史命令
WinRM命令补全
本地文件补全
上传和下载文件
列出远程机器服务
FullLanguage Powershell语言模式
加载Powershell脚本
加载内存DLL文件绕过某些AV
加载内存C#(C Sharp)编译的exe文件绕过某些AV
输出消息着色(可选择禁用)
文档
**upload:**本地文件可以使用tab键自动补全。如果本地文件与evil-winrm.rb文件位于同一目录中,则不需要remote_path。
upload local_path remote_path
download:如果远程文件在当前目录中,则不需要local_path。
download remote_path local_path
**services:**列出所有服务(无需管理员权限)。
**menu:**加载Invoke-Binary和l04d3r-LoadDll函数。当加载ps1时,会显示其所有功能。
<figure><img src="../../../.gitbook/assets/WinRM5.jpeg" alt=""><figcaption></figcaption></figure>
加载 powershell 脚本 : 要加载ps1文件,你只需键入名称(可以使用tab自动补全)。脚本必须位于-s参数中设置的路径中。再次键入menu并查看加载的功能。

Invoke-Binary:允许在内存中执行从c#编译的exes。该名称可使用tab键自动补全,最多允许3个参数。可执行文件必须在-e参数设置的路径中。

l04d3r-LoadDll:允许在内存中加载dll库,相当于:
[Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))
dll文件可以由smb,http或本地托管。一旦加载了menu菜单,就可以自动补全所有功能。


参考文章
最后更新于
这有帮助吗?