
Exécuter des commandes de manière interactive sur des machines Windows distantes à l'aide du protocole WinRM (juste plus rapide)
evil-winrm-py est un outil basé sur Python permettant d'exécuter des commandes sur des machines Windows distantes via le protocole WinRM (Windows Remote Management). Il fournit un shell interactif avec des fonctionnalités avancées telles que le téléversement/téléchargement de fichiers avec barre de progression et vérification par somme de contrôle, l'auto-complétion des chemins locaux/distants et des cmdlets PowerShell, le chargement et l'exécution de scripts PowerShell, l'exécution en mémoire de DLL et d'EXE, l'historique des commandes et une sortie colorisée. Il peut également fonctionner comme serveur MCP, exposant les sessions WinRM comme outils pour les clients compatibles MCP. Il prend en charge diverses méthodes d'authentification, notamment NTLM, Pass-the-Hash, Certificat et Kerberos. aller à l'installation

[!NOTE] Cet outil est conçu strictement à des fins éducatives, éthiques et de tests d'intrusion autorisés. Assurez-vous toujours de disposer d'une autorisation explicite avant d'accéder à un système. Tout accès non autorisé ou toute utilisation abusive de cet outil est à la fois illégal et contraire à l'éthique.
L'evil-winrm original est écrit en Ruby, ce qui peut représenter un obstacle pour certains utilisateurs. Le réécrire en Python le rend plus accessible et plus facile à utiliser, tout en nous permettant de tirer parti du riche écosystème Python pour ajouter des fonctionnalités et de la flexibilité.
Je souhaitais également en apprendre davantage sur winrm et ses rouages internes, ce projet servira donc aussi d'expérience d'apprentissage pour moi.
Tab.Tab.haut/bas.Inclut la prise en charge de :
Une documentation détaillée est disponible dans le répertoire docs.
sudo apt install gcc python3-dev libkrb5-dev krb5-pkinit
# Optional: krb5-user
evil-winrm-pyVous pouvez utiliser uv/pipx au lieu de pip pour installer evil-winrm-py.
uv/pipxest un outil permettant d'installer et d'exécuter des applications Python dans des environnements isolés, ce qui aide à prévenir les conflits de dépendances en gardant les dépendances de l'outil séparées des paquets Python de votre système.
Consultez le Guide d'installation pour plus de détails.
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.
ou si vous souhaitez installer avec le dernier commit de la branche main, vous pouvez le faire en clonant le dépôt et en l'installant avec 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
Pour les distributions mentionnées ci-dessus, vous pouvez installer evil-winrm-py directement depuis leurs gestionnaires de paquets. Merci aux mainteneurs de paquets pour l'empaquetage et la maintenance de evil-winrm-py dans leurs distributions respectives.
Les détails sur l'utilisation de evil-winrm-py se trouvent dans le Guide d'utilisation.
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]