Evil-WinRM:用于渗透测试的终极Windows远程管理shell
- 发表于
 - 安全工具
 
Evil-WinRM SHELL
WinRM是什么?
WinRM = Windows Remote Management,即Windows远程管理,以下简称WinRM。
Evil-WinRM shell介绍
 此shell是用于渗透测试的终极WinRM shell。WinRM(Windows远程管理)一种标准的基于SOAP的协议,允许来自不同供应商的硬件和操作系统进行互操作。
此程序可以在任何启用此功能的Windows服务器上使用(通常在端口5985),当然,只有当您有使用它的凭据和权限时。因此,我们可以说,它可以用于后开发黑客攻击/渗透测试阶段。这个程序的目的是为黑客提供好的、易于使用的特性。它也可以被系统管理员合法地使用,但是它的大部分功能都集中在黑客攻击/渗透测试工具上。
特征
- 命令历史
 - WinRM命令完成
 - 本地文件完成
 - 上传和下载文件
 - 列出远程机器服务
 - FullLanguage Powershell语言模式
 - 加载Powershell脚本
 - 加载内存DLL文件绕过一些AV
 - 加载内存C#(C Sharp)编译的exe文件绕过一些AV
 - 输出消息的着色(可以选择禁用)
 
Evil-WinRM SHELL安装
要求
- 需要Ruby 2.3或更高版本
 - 有些ruby gem版本要求:
winrm >=2.3.2,winrm-fs >=1.3.2,stringio >=0.0.2和colorize >=0.8.1。 
|   1  |  $ sudo gem install winrm winrm-fs colorize stringio  |  
安装和快速开始
- 第1步: 
git clone https://github.com/Hackplayers/evil-winrm.git - 第2步:
$ cd evil-winrm && ruby evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/' 
如果您不想以明文形式输入密码,可以选择避免设置
-p
参数,并提示密码以防止显示。
要使用IPv6,必须将地址添加到/etc/hosts。
替代安装方法作为红宝石宝石
- 步骤1: 
gem install evil-winrm - 第2步:
~$ evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/' 
Evil-WinRM SHELL使用
帮助选项
|   1 2 3 4 5 6 7 8 9 10  |  Usage: evil-winrm -i IP -u USER -s SCRIPTS_PATH -e EXES_PATH [-P PORT] [-p PASS] [-U URL]     -i, --ip IP                      Remote host IP or hostname (required)     -P, --port PORT                  Remote host port (default 5985)     -u, --user USER                  Username (required)     -p, --password PASS              Password     -s, --scripts PS_SCRIPTS_PATH    Powershell scripts path (required)     -e, --executables EXES_PATH      C# executables path (required)     -U, --url URL                    Remote url endpoint (default /wsman)     -V, --version                    Show version     -h, --help                       Display this help message  |  
基本命令
 - 上传:本地文件可以使用tab键自动完成。如果本地文件与evil-winrm.rb文件位于同一目录中,则不需要放置remote_path。
- 用法: 
upload local_path remote_path 
 - 用法: 
 - 下载:如果远程文件位于当前目录中,则不需要设置local_path。
- 用法: 
download remote_path local_path 
 - 用法: 
 - 服务:列出所有服务。无需管理员权限。
 - menu:加载我们将在下面解释的函数
Invoke-Binary和l04d3r-LoadDll函数。当加载ps1时,它的所有功能都会显示出来。 
加载powershell脚本
- 要加载ps1文件,您只需键入名称(允许自动完成usnig选项卡)。脚本必须位于
-s参数中设置的路径中。再次键入菜单并查看加载的功能。 

高级命令
- Invoke-Binary:允许从c#编译的exes在内存中执行。名称可以使用Tab键自动完成,最多允许3个参数。可执行文件必须位于
-e参数中设置的路径中。 - l04d3r-LoadDll:允许在内存中加载dll库,它相当于: 
[Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))- dll文件可以由smb,http或本地托管。一旦加载了类型
menu,就可以自动完成所有功能。 
 - dll文件可以由smb,http或本地托管。一旦加载了类型
 

额外功能
- 要禁用颜色,只需在代码上修改此变量即可
$colors_enabled。将其设置为false:$colors_enabled = false 
   原文连接:Evil-WinRM:用于渗透测试的终极Windows远程管理shell  所有媒体,可在保留署名、
  原文连接
的情况下转载,若非则不得使用我方内容。 