
Выполняйте команды интерактивно на удалённых машинах Windows с помощью протокола WinRM (просто быстрее)
evil-winrm-py — это инструмент на Python для выполнения команд на удалённых Windows-машинах с использованием протокола WinRM (Windows Remote Management). Он предоставляет интерактивную оболочку с расширенными возможностями, такими как загрузка/выгрузка файлов с индикатором прогресса и проверкой контрольных сумм, автодополнение по Tab локальных/удалённых путей и командлетов PowerShell, загрузка и выполнение скриптов PowerShell, выполнение DLL и EXE в памяти, история команд и цветной вывод. Он также может работать как MCP-сервер, предоставляя сессии WinRM в качестве инструментов для MCP-совместимых клиентов. Поддерживаются различные методы аутентификации, включая NTLM, Pass-the-Hash, сертификаты и Kerberos. перейти к установке

[!NOTE] Этот инструмент предназначен строго для образовательного, этичного использования и авторизованного тестирования на проникновение. Всегда убеждайтесь, что у вас есть явное разрешение перед доступом к любой системе. Неавторизованный доступ или неправомерное использование этого инструмента являются незаконными и неэтичными.
Оригинальный evil-winrm написан на Ruby, что может быть препятствием для некоторых пользователей. Переписывание его на Python делает его более доступным и простым в использовании, а также позволяет задействовать богатую экосистему Python для дополнительных возможностей и гибкости.
Мне также хотелось больше узнать о winrm и его внутреннем устройстве, так что этот проект послужит для меня ещё и учебным опытом.
Tab.Tab.вверх/вниз.Включает поддержку:
Подробная документация находится в каталоге docs.
sudo apt install gcc python3-dev libkrb5-dev krb5-pkinit
# Optional: krb5-user
evil-winrm-pyВы можете использовать uv/pipx вместо pip для установки evil-winrm-py.
uv/pipx— это инструмент для установки и запуска Python-приложений в изолированных окружениях, который помогает предотвратить конфликты зависимостей, сохраняя зависимости инструмента отдельно от системных пакетов Python.
Подробности смотрите в Руководстве по установке.
pip install evil-winrm-py
# for optional dependencies use any one of the following commands:
pip install evil-winrm-py[kerberos] # for kerberos support on Linux
pip install evil-winrm-py[mcp] # for mcp support
pip install evil-winrm-py[kerberos,mcp] # to install both optional dependencies
# Note: building gssapi and krb5 packages may take some time, so be patient.
или, если вы хотите установить с последним коммитом из ветки main, вы можете сделать это, клонировав репозиторий и установив его с помощью pip/uv/pipx:
git clone https://github.com/adityatelange/evil-winrm-py
cd evil-winrm-py
pip install .
# or use: pip install .[kerberos,mcp] to install both optional dependencies
pip install --upgrade evil-winrm-py
pip uninstall evil-winrm-py
Для вышеупомянутых дистрибутивов вы можете установить evil-winrm-py напрямую из их менеджеров пакетов. Спасибо сопровождающим пакетов за упаковку и поддержку evil-winrm-py в соответствующих дистрибутивах.
Подробности о том, как использовать evil-winrm-py, можно найти в Руководстве по использованию.
usage: evil-winrm-py [-h] [-i IP] [-u USER] [-p PASSWORD] [-H HASH] [-c CONFIGURATION_NAME]
[--priv-key-pem PRIV_KEY_PEM] [--cert-pem CERT_PEM] [--uri URI] [--ua UA]
[--port PORT] [--spn-prefix SPN_PREFIX] [--spn-hostname SPN_HOSTNAME] [-k]
[--no-pass] [--ssl] [--log] [--debug] [--no-colors] [--version] [--mcp]
[--mcp-port MCP_PORT] [--mcp-host MCP_HOST]