
Лучшая оболочка 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, а также для создания и обработки конвейеров.
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/'
sudo gem install winrm winrm-fs stringio logger fileutils readline readline-extgit clone https://github.com/Hackplayers/evil-winrm.git### Метод 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/'
## Документация
### Пароль в открытом виде
Если вы не хотите указывать пароль в открытом виде, вы можете не задавать аргумент `-p`, и пароль будет запрошен без отображения на экране.
### IPv6
Для использования IPv6 адрес должен быть добавлен в /etc/hosts. Просто укажите уже заданное имя хоста после аргумента `-i` вместо IP-адреса.