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.2winrm-fs >=1.3.2stringio >=0.0.2colorize >=0.8.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使用

帮助选项

Usage: evil-winrm -i IP -u USER -s SCRIPTS_PATH -e EXES_PATH [-P PORT] [-p PASS] [-U URL]
-i, --ip IPRemote host IP or hostname (required)
-P, --port PORTRemote host port (default 5985)
-u, --user USERUsername (required)
-p, --password PASSPassword
-s, --scripts PS_SCRIPTS_PATHPowershell scripts path (required)
-e, --executables EXES_PATHC# executables path (required)
-U, --url URLRemote url endpoint (default /wsman)
-V, --versionShow 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-Binaryl04d3r-LoadDll函数。当加载ps1时,它的所有功能都会显示出来。

加载powershell脚本

  • 要加载ps1文件,您只需键入名称(允许自动完成usnig选项卡)。脚本必须位于-s参数中设置的路径中。再次键入菜单并查看加载的功能。
Evil-WinRM:用于渗透测试的终极Windows远程管理shell
Evil-WinRM加载powershell脚本

高级命令

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

额外功能

  • 要禁用颜色,只需在代码上修改此变量即可$colors_enabled。将其设置为false:$colors_enabled = false