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
。 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
温馨提示:本文最后更新于2019年8月14日 19:28,若内容或图片失效,请在下方留言或联系博主。