
تنفيذ الأوامر تفاعليًا على أجهزة Windows البعيدة باستخدام بروتوكول WinRM (أسرع فقط)
evil-winrm-py هي أداة مبنية على Python لتنفيذ الأوامر على أجهزة Windows البعيدة باستخدام بروتوكول WinRM (إدارة Windows عن بُعد). توفر صدفة تفاعلية بميزات محسّنة مثل رفع/تنزيل الملفات مع شريط التقدم والتحقق من checksum، والإكمال التلقائي بالضغط على Tab للمسارات المحلية/البعيدة وcmdlets الخاصة بـ PowerShell، وتحميل وتشغيل سكربتات PowerShell، وتنفيذ DLLs وEXEs في الذاكرة، وسجل الأوامر، ومخرجات ملوّنة. يمكن تشغيلها أيضاً كخادم MCP، مما يتيح جلسات WinRM كأدوات لعملاء MCP المتوافقين. تدعم طرق مصادقة متعددة تشمل NTLM وPass-the-Hash وCertificate وKerberos. الانتقال إلى التثبيت

[!NOTE] صُممت هذه الأداة حصرياً للاستخدام التعليمي والأخلاقي واختبار الاختراق المصرّح به. تأكد دائماً من حصولك على تصريح صريح قبل الوصول إلى أي نظام. الوصول غير المصرّح به أو إساءة استخدام هذه الأداة يُعدّ غير قانوني وغير أخلاقي.
كُتبت evil-winrm الأصلية بلغة Ruby، وهو ما قد يشكّل عقبة أمام بعض المستخدمين. إعادة كتابتها بلغة Python تجعلها أكثر سهولة في الوصول والاستخدام، مع إتاحة الاستفادة من نظام Python البيئي الغني لإضافة ميزات ومرونة أكبر.
أردت أيضاً التعلّم أكثر عن winrm وتفاصيله الداخلية، لذا سيكون هذا المشروع تجربة تعلّمية لي أيضاً.
Tab.Tab.up/down.تشمل الدعم لـ:
يمكن العثور على الوثائق التفصيلية في دليل 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.
أو إذا أردت التثبيت بأحدث commit من الفرع 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]
options:
-h, --help show this help message and exit
-i IP, --ip IP remote host IP or hostname
-u USER, --user USER username
-p PASSWORD, --password PASSWORD
password
-H HASH, --hash HASH nthash
-c CONFIGURATION_NAME, --configuration-name CONFIGURATION_NAME
session configuration (JEA endpoint) to connect to (default: Microsoft.PowerShell)
--priv-key-pem PRIV_KEY_PEM
local path to private key PEM file
--cert-pem CERT_PEM local path to certificate PEM file
--uri URI wsman URI (default: /wsman)
--ua UA user agent for the WinRM client (default: "Microsoft WinRM Client")
--port PORT remote host port (default 5985)
--spn-prefix SPN_PREFIX
specify spn prefix
--spn-hostname SPN_HOSTNAME
specify spn hostname
-k, --kerberos use kerberos authentication
--no-pass do not prompt for password
--ssl use ssl
--log log session to file
--debug enable debug logging
--no-colors disable colors
--version show version
--mcp start MCP server in streamable HTTP mode
--mcp-port MCP_PORT port for MCP streamable HTTP mode (default 8000)
--mcp-host MCP_HOST host for MCP streamable HTTP mode (default 127.0.0.1)
For more information about this project, visit https://github.com/adityatelange/evil-winrm-py
For user guide, visit https://github.com/adityatelange/evil-winrm-py/blob/main/docs/usage.md
مثال:
evil-winrm-py -i 192.168.1.100 -u Administrator -p P@ssw0rd --ssl