# WmiExec
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
## Jak to dzia艂a
Procesy mog膮 by膰 otwierane na hostach, gdzie znana jest nazwa u偶ytkownika oraz has艂o lub hash, za pomoc膮 WMI. Komendy s膮 wykonywane przy u偶yciu WMI przez Wmiexec, co zapewnia p贸艂interaktywn膮 pow艂ok臋.
**dcomexec.py:** Wykorzystuj膮c r贸偶ne punkty ko艅cowe DCOM, ten skrypt oferuje p贸艂interaktywn膮 pow艂ok臋 podobn膮 do wmiexec.py, szczeg贸lnie wykorzystuj膮c obiekt DCOM ShellBrowserWindow. Obecnie obs艂uguje obiekty MMC20. Application, Shell Windows i Shell Browser Window. (藕r贸d艂o: [Hacking Articles](https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/))
## Podstawy WMI
### Przestrze艅 nazw
Strukturalnie w hierarchii przypominaj膮cej katalog, najwy偶szym kontenerem WMI jest \root, pod kt贸rym zorganizowane s膮 dodatkowe katalogi, zwane przestrzeniami nazw.
Komendy do wy艣wietlenia przestrzeni nazw:
```bash
# Retrieval of Root namespaces
gwmi -namespace "root" -Class "__Namespace" | Select Name
# Enumeration of all namespaces (administrator privileges may be required)
Get-WmiObject -Class "__Namespace" -Namespace "Root" -List -Recurse 2> $null | select __Namespace | sort __Namespace
# Listing of namespaces within "root\cimv2"
Get-WmiObject -Class "__Namespace" -Namespace "root\cimv2" -List -Recurse 2> $null | select __Namespace | sort __Namespace
```
Klasy w obr臋bie przestrzeni nazw mo偶na wylistowa膰 za pomoc膮:
```bash
gwmwi -List -Recurse # Defaults to "root\cimv2" if no namespace specified
gwmi -Namespace "root/microsoft" -List -Recurse
```
### **Klasy**
Znajomo艣膰 nazwy klasy WMI, takiej jak win32\_process, oraz przestrzeni nazw, w kt贸rej si臋 znajduje, jest kluczowa dla ka偶dej operacji WMI.
Polecenia do wy艣wietlenia klas zaczynaj膮cych si臋 od `win32`:
```bash
Get-WmiObject -Recurse -List -class win32* | more # Defaults to "root\cimv2"
gwmi -Namespace "root/microsoft" -List -Recurse -Class "MSFT_MpComput*"
```
Wywo艂anie klasy:
```bash
# Defaults to "root/cimv2" when namespace isn't specified
Get-WmiObject -Class win32_share
Get-WmiObject -Namespace "root/microsoft/windows/defender" -Class MSFT_MpComputerStatus
```
### Metody
Metody, kt贸re s膮 jedn膮 lub wi臋cej funkcjami wykonywalnymi klas WMI, mog膮 by膰 wykonywane.
```bash
# Class loading, method listing, and execution
$c = [wmiclass]"win32_share"
$c.methods
# To create a share: $c.Create("c:\share\path","name",0,$null,"My Description")
```
```bash
# Method listing and invocation
Invoke-WmiMethod -Class win32_share -Name Create -ArgumentList @($null, "Description", $null, "Name", $null, "c:\share\path",0)
```
## WMI Enumeration
### WMI Service Status
Polecenia do weryfikacji, czy us艂uga WMI dzia艂a:
```bash
# WMI service status check
Get-Service Winmgmt
# Via CMD
net start | findstr "Instrumentation"
```
### Informacje o systemie i procesach
Zbieranie informacji o systemie i procesach za pomoc膮 WMI:
```bash
Get-WmiObject -ClassName win32_operatingsystem | select * | more
Get-WmiObject win32_process | Select Name, Processid
```
Dla atakuj膮cych WMI jest pot臋偶nym narz臋dziem do enumeracji wra偶liwych danych o systemach lub domenach.
```bash
wmic computerystem list full /format:list
wmic process list /format:list
wmic ntdomain list /format:list
wmic useraccount list /format:list
wmic group list /format:list
wmic sysaccount list /format:list
```
Remote querying of WMI for specific information, such as local admins or logged-on users, is feasible with careful command construction.
### **R臋czne zdalne zapytania WMI**
Ciche identyfikowanie lokalnych administrator贸w na zdalnej maszynie oraz zalogowanych u偶ytkownik贸w mo偶na osi膮gn膮膰 poprzez specyficzne zapytania WMI. `wmic` wspiera r贸wnie偶 odczyt z pliku tekstowego, aby wykona膰 polecenia na wielu w臋z艂ach jednocze艣nie.
Aby zdalnie wykona膰 proces za pomoc膮 WMI, na przyk艂ad wdra偶aj膮c agenta Empire, stosuje si臋 nast臋puj膮c膮 struktur臋 polecenia, a pomy艣lne wykonanie jest wskazywane przez warto艣膰 zwracan膮 "0":
```bash
wmic /node:hostname /user:user path win32_process call create "empire launcher string here"
```
Ten proces ilustruje zdolno艣膰 WMI do zdalnego wykonywania i enumeracji systemu, podkre艣laj膮c jego u偶yteczno艣膰 zar贸wno w administracji systemem, jak i w pentestingu.
## References
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-3-wmi-and-winrm/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
## Automatic Tools
* [**SharpLateral**](https://github.com/mertdas/SharpLateral):
{% code overflow="wrap" %}
```bash
SharpLateral redwmi HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
```
{% endcode %}
{% hint style="success" %}
Ucz si臋 i 膰wicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Ucz si臋 i 膰wicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie dla HackTricks
* Sprawd藕 [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Do艂膮cz do** 馃挰 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **艣led藕** nas na **Twitterze** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Dziel si臋 trikami hackingowymi, przesy艂aj膮c PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytori贸w github.
{% endhint %}