◄ BACK TO PROTOCOLS
► HTB ACADEMY · MODULE 112 · SECTION 18/21
WMI — WINDOWS MANAGEMENT INSTRUMENTATION
PORT 135 · FULL WINDOWS CONTROL · WMIEXEC.PY
135
TCP Init Port
Random
بعد الاتصال
CIM
Based On
wmiexec.py
Pentest Tool
All Settings
Full Access
ما هو WMI؟

Windows Management Instrumentation — أداة إدارة Windows الأقوى. تعطي read وwrite access على كل إعدادات Windows. Microsoft's implementation لـ CIM (Common Information Model). أكثر قوة من WinRM لأنها تصل لكل شيء.

إيش تقدر تفعل بـ WMI؟
🔴 Processes شغّالة
🔴 Users وpasswords
🔴 Services وstate
🔴 Registry
🔴 Hardware info
🔴 Network settings
= كل شيء في Windows! 💀
WMI vs WinRM
WinRM: PowerShell shell
مثل هاتف تعطي فيه أوامر

WMI: تحكم بكل أجهزة البيت
كيربا + تكييف + كاميرات
أصعب للكشف 🎯
💡 WMI يستخدمه: PowerShell + VBScript + WMIC (command line) + wmiexec.py (pentest)
📡 كيف يشتغل WMI؟
# مثل RPC: Port 135 TCP ← بداية الاتصال (initialization) ↓ الاتصال ينتقل لـ port عشوائي ↓ SMBv3.0 dialect used ← يستخدم SMB للنقل!
⚠️ WMI يستخدم port عشوائي بعد الاتصال — Firewall لازم يسمح بـ dynamic ports!
⚡ wmiexec.py — Impacket
# تشغيل أمر واحد: /usr/share/doc/python3-impacket/examples/wmiexec.py \ Cry0l1t3:"P455w0rD!"@10.129.201.248 "hostname" Impacket v0.9.22 - Copyright 2020 SecureAuth Corporation [*] SMBv3.0 dialect used ILF-SQL-01 ← نتيجة الأمر! # تشغيل أوامر متعددة: wmiexec.py user:pass@TARGET "whoami" wmiexec.py user:pass@TARGET "ipconfig" wmiexec.py user:pass@TARGET "net user" # أو أو impacket-wmiexec على Kali: impacket-wmiexec user:pass@TARGET "hostname"
💡 wmiexec.py تشغّل أوامر بدون فتح shell كامل = أصعب للكشف في الـ logs
📊 مقارنة أدوات Windows Remote
الأداةالبروتوكولPortالنوعالاستخدام
xfreerdpRDP3389GUIواجهة رسومية كاملة
evil-winrmWinRM5985CLIPowerShell shell
wmiexec.pyWMI/RPC135+CLIأوامر بدون shell 🎯
⛓️ Attack Chain
🔍
Nmap
Port 135
🔑
Credentials
من مكان ثاني
wmiexec.py
RCE!
# 1. Scan: nmap -sV TARGET -p135 # 2. تشغيل أوامر عبر WMI: wmiexec.py Administrator:"Password123"@TARGET "whoami" nt authority\system ← 💥 SYSTEM level! # 3. استكشاف: wmiexec.py user:pass@TARGET "net user" wmiexec.py user:pass@TARGET "dir C:\Users\Administrator\Desktop" wmiexec.py user:pass@TARGET "type C:\Users\Administrator\Desktop\flag.txt"
🌐 Q&A
إيش الفرق بين WMI وWinRM؟
WinRM = PowerShell shell — مثل هاتف تعطي فيه أوامر. WMI = وصول لكل إعدادات Windows (processes, services, registry, hardware) — مثل تحكم عن بعد بكل أجهزة البيت. WMI أقوى وأصعب للكشف لأنه يشتغل بدون فتح shell.
ليش WMI يبدأ على Port 135 ثم ينتقل لـ port عشوائي؟
WMI يستخدم RPC (Remote Procedure Call) كبنية تحتية. Port 135 هو RPC Endpoint Mapper — يعطيك عنوان الـ service الحقيقي على port عشوائي. بعدها الاتصال ينتقل لهاد الـ port العشوائي.
ليش wmiexec.py أصعب للكشف من evil-winrm؟
evil-winrm يفتح PowerShell session كامل = session مسجّل في event logs. wmiexec.py يشغّل أوامر مباشرة بدون فتح session = أثر أقل في الـ logs. لهيك يفضّله الـ attackers في الـ lateral movement.