evil-winrm:Windows远程管理(WinRM)Shell终极版

Track-SSG   ·   发表于 2019-08-20 11:02:49   ·   漏洞文章

evil-winrm是一个可用于黑客攻击/渗透测试的Windows远程管理(WinRM) Shell。

  /  _]  |  ||    || |                 
 /  [_|  |  | |  | | |                 
|    _]  |  | |  | | |___              
|   [_|  :  | |  | |     |             
|     |\   /  |  | |     |             
|_____| \_/  |____||_____|             
                                       
 __    __  ____  ____   ____   ___ ___ 
|  |__|  ||    ||    \ |    \ |   |   |
|  |  |  | |  | |  _  ||  D  )| _   _ |
|  |  |  | |  | |  |  ||    / |  \_/  |
|  `  '  | |  | |  |  ||    \ |   |   |
 \      /  |  | |  |  ||  .  \|   |   |
  \_/\_/  |____||__|__||__|\_||___|___|                                                                  By: CyberVaca@HackPlayers

描述和目的

evil-winrm是Windows远程管理(WinRM) Shell的终极版本。

Windows远程管理是“WS 管理协议的 Microsoft 实施,该协议是基于标准 SOAP、不受防火墙影响的协议,允许不同供应商的硬件和操作系统相互操作。而微软将其包含在他们的系统中,是为了便于系统管理员在日常工作中,远程管理服务器,或通过脚本同时管理多台服务器,以提高他们的工作效率。

此程序可在启用此功能的任何Microsoft Windows服务器上使用(通常端口为5985),当然只有在你具有使用凭据和权限时才能使用。因此,我们说它可用于黑客攻击的后利用/渗透测试阶段。相对于攻击者来说,这个程序能为他们提供更好更简单易用的功能。当然,系统管理员也可以将其用于合法目的,但其大部分功能都集中于黑客攻击/渗透测试。

特性

历史命令

WinRM命令补全

本地文件补全

上传和下载文件

列出远程机器服务

FullLanguage Powershell语言模式

加载Powershell脚本

加载内存DLL文件绕过某些AV

加载内存C#(C Sharp)编译的exe文件绕过某些AV

输出消息着色(可选择禁用)

Help

Usage: evil-winrm -i IP -u USER -s SCRIPTS_PATH -e EXES_PATH [-P PORT] [-p PASS] [-U URL]
    -i, --ip IP                      远程主机IP或主机名(必填)
    -P, --port PORT                  远程主机端口(默认为5985)
    -u, --user USER                  用户名(必填)
    -p, --password PASS              密码
    -s, --scripts PS_SCRIPTS_PATH    Powershell脚本路径(必填)
    -e, --executables EXES_PATH      C#可执行文件路径(必填)
    -U, --url URL                    远程URL端点(默认为/wsman)
    -V, --version                    显示版本信息
    -h, --help                       显示帮助信息

环境要求

Ruby 2.3或更高版本以及一些ruby gems: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/'

文档

基本命令

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时,会显示其所有功能。

https://image.3001.net/images/20190806/1565069855_5d49121f78a28.png

加载 powershell 脚本

要加载ps1文件,你只需键入名称(可以使用tab自动补全)。脚本必须位于-s参数中设置的路径中。再次键入menu并查看加载的功能。

https://image.3001.net/images/20190806/1565069870_5d49122ea2c92.png

高级命令

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

https://image.3001.net/images/20190806/1565069885_5d49123d8cf66.pngl04d3r-LoadDll:允许在内存中加载dll库,相当于:

[Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))

dll文件可以由smb,http或本地托管。一旦加载了menu菜单,就可以自动补全所有功能。

https://image.3001.net/images/20190806/1565069908_5d491254d6320.png!small5.png

颜色

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

免责声明

Evil-WinRM仅用于获取授权的渗透测试或是非营利目的教育学习。任何滥用本软件的行为都与作者本人或任何其他的本项目合作者无关。请仅在你自己的服务器或已获取许可的服务器上使用它!

*参考来源:GitHub,FB小编secist编译,转载来自FreeBuf


打赏我,让我更有动力~

0 条回复   |  直到 2019-8-20 | 1471 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.