hacktricks/windows-hardening/ntlm/wmicexec.md

137 lines
6.8 KiB
Markdown
Raw Normal View History

2022-08-13 23:06:40 +00:00
# WmicExec
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-02 18:28:04 +00:00
2024-02-10 13:03:23 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 13:03:23 +00:00
## Come funziona spiegato
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
I processi possono essere aperti su host in cui sono noti il nome utente e la password o l'hash tramite l'uso di WMI. I comandi vengono eseguiti utilizzando WMI tramite Wmiexec, fornendo un'esperienza di shell semi-interattiva.
2024-02-10 13:03:23 +00:00
**dcomexec.py:** Utilizzando diversi endpoint DCOM, questo script offre una shell semi-interattiva simile a wmiexec.py, sfruttando specificamente l'oggetto DCOM ShellBrowserWindow. Attualmente supporta MMC20. Applicazione, finestre della shell e oggetti della finestra del browser. (fonte: [Hacking Articles](https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/))
2024-02-10 13:03:23 +00:00
## Fondamenti di WMI
2021-01-20 17:41:14 +00:00
2022-08-13 23:06:40 +00:00
### Namespace
2021-01-20 23:53:30 +00:00
2024-02-10 13:03:23 +00:00
Strutturato gerarchicamente come una directory, il contenitore di primo livello di WMI è \root, sotto il quale sono organizzate ulteriori directory, chiamate namespace.
Comandi per elencare i namespace:
2021-01-20 17:41:14 +00:00
```bash
2024-02-04 16:10:29 +00:00
# Retrieval of Root namespaces
2021-01-20 17:41:14 +00:00
gwmi -namespace "root" -Class "__Namespace" | Select Name
2024-02-04 16:10:29 +00:00
# Enumeration of all namespaces (administrator privileges may be required)
2021-01-20 17:41:14 +00:00
Get-WmiObject -Class "__Namespace" -Namespace "Root" -List -Recurse 2> $null | select __Namespace | sort __Namespace
2024-02-04 16:10:29 +00:00
# Listing of namespaces within "root\cimv2"
2021-01-20 17:41:14 +00:00
Get-WmiObject -Class "__Namespace" -Namespace "root\cimv2" -List -Recurse 2> $null | select __Namespace | sort __Namespace
```
2024-02-10 13:03:23 +00:00
Le classi all'interno di uno spazio dei nomi possono essere elencate utilizzando:
2021-01-20 17:41:14 +00:00
```bash
2024-02-04 16:10:29 +00:00
gwmwi -List -Recurse # Defaults to "root\cimv2" if no namespace specified
2021-01-20 17:41:14 +00:00
gwmi -Namespace "root/microsoft" -List -Recurse
```
2024-02-10 13:03:23 +00:00
### **Classi**
2021-01-20 17:41:14 +00:00
2024-02-10 13:03:23 +00:00
Conoscere il nome di una classe WMI, come win32\_process, e il namespace in cui risiede è fondamentale per qualsiasi operazione WMI.
Comandi per elencare le classi che iniziano con `win32`:
2021-01-20 17:41:14 +00:00
```bash
2024-02-04 16:10:29 +00:00
Get-WmiObject -Recurse -List -class win32* | more # Defaults to "root\cimv2"
2021-01-20 17:41:14 +00:00
gwmi -Namespace "root/microsoft" -List -Recurse -Class "MSFT_MpComput*"
```
2024-02-10 13:03:23 +00:00
Invocazione di una classe:
2021-01-20 17:41:14 +00:00
```bash
2024-02-04 16:10:29 +00:00
# Defaults to "root/cimv2" when namespace isn't specified
2021-01-20 17:41:14 +00:00
Get-WmiObject -Class win32_share
Get-WmiObject -Namespace "root/microsoft/windows/defender" -Class MSFT_MpComputerStatus
```
2024-02-10 13:03:23 +00:00
### Metodi
2021-01-20 17:41:14 +00:00
2024-02-10 13:03:23 +00:00
I metodi, che sono una o più funzioni eseguibili delle classi WMI, possono essere eseguiti.
2021-01-20 23:53:30 +00:00
```bash
2024-02-04 16:10:29 +00:00
# Class loading, method listing, and execution
2021-01-20 23:53:30 +00:00
$c = [wmiclass]"win32_share"
$c.methods
2024-02-04 16:10:29 +00:00
# To create a share: $c.Create("c:\share\path","name",0,$null,"My Description")
2021-01-20 23:53:30 +00:00
```
```bash
2024-02-04 16:10:29 +00:00
# Method listing and invocation
2021-01-20 23:53:30 +00:00
Invoke-WmiMethod -Class win32_share -Name Create -ArgumentList @($null, "Description", $null, "Name", $null, "c:\share\path",0)
```
2024-02-10 13:03:23 +00:00
## Enumerazione WMI
2021-01-20 17:41:14 +00:00
2024-02-10 13:03:23 +00:00
### Stato del servizio WMI
2021-01-20 17:41:14 +00:00
2024-02-10 13:03:23 +00:00
Comandi per verificare se il servizio WMI è operativo:
2021-01-20 17:41:14 +00:00
```bash
2024-02-04 16:10:29 +00:00
# WMI service status check
2021-01-20 17:41:14 +00:00
Get-Service Winmgmt
2024-02-04 16:10:29 +00:00
# Via CMD
2021-01-20 17:41:14 +00:00
net start | findstr "Instrumentation"
```
2024-02-10 13:03:23 +00:00
### Informazioni di sistema e processo
2021-01-20 17:41:14 +00:00
2024-02-10 13:03:23 +00:00
Raccolta di informazioni di sistema e processo tramite WMI:
2021-01-20 17:41:14 +00:00
```bash
2024-02-04 16:10:29 +00:00
Get-WmiObject -ClassName win32_operatingsystem | select * | more
2021-01-20 17:41:14 +00:00
Get-WmiObject win32_process | Select Name, Processid
```
2024-02-10 13:03:23 +00:00
Per gli attaccanti, WMI è uno strumento potente per enumerare dati sensibili sui sistemi o sui domini.
2024-02-04 16:10:29 +00:00
```bash
2024-02-10 13:03:23 +00:00
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
```
2024-02-10 13:03:23 +00:00
### **Interrogazione manuale remota di WMI**
2024-02-10 13:03:23 +00:00
L'identificazione stealthy degli amministratori locali su una macchina remota e degli utenti connessi può essere ottenuta attraverso specifiche interrogazioni di WMI. `wmic` supporta anche la lettura da un file di testo per eseguire comandi su più nodi contemporaneamente.
2024-02-10 13:03:23 +00:00
Per eseguire in remoto un processo tramite WMI, come ad esempio il deploy di un agente Empire, viene utilizzata la seguente struttura di comando, con l'esecuzione riuscita indicata da un valore di ritorno "0":
```bash
2024-02-04 16:10:29 +00:00
wmic /node:hostname /user:user path win32_process call create "empire launcher string here"
```
2024-02-10 13:03:23 +00:00
Questo processo illustra la capacità di esecuzione remota e di enumerazione del sistema di WMI, evidenziando la sua utilità sia per l'amministrazione di sistema che per il penetration testing.
2024-02-10 13:03:23 +00:00
## Riferimenti
2024-02-04 16:10:29 +00:00
* [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/)
2024-02-10 13:03:23 +00:00
## Strumenti Automatici
2022-04-28 16:01:33 +00:00
* [**SharpLateral**](https://github.com/mertdas/SharpLateral):
2022-04-28 16:01:33 +00:00
{% code overflow="wrap" %}
```bash
SharpLateral redwmi HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
```
{% endcode %}
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-02 18:28:04 +00:00
2024-02-10 13:03:23 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai repository github di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>