# 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 %} ## C贸mo Funciona Explicado Los procesos pueden abrirse en hosts donde se conocen el nombre de usuario y la contrase帽a o el hash a trav茅s del uso de WMI. Los comandos se ejecutan utilizando WMI mediante Wmiexec, proporcionando una experiencia de shell semi-interactiva. **dcomexec.py:** Utilizando diferentes puntos finales de DCOM, este script ofrece un shell semi-interactivo similar a wmiexec.py, aprovechando espec铆ficamente el objeto DCOM ShellBrowserWindow. Actualmente soporta objetos de Aplicaci贸n MMC20, Ventanas de Shell y Ventana del Navegador de Shell. (fuente: [Hacking Articles](https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/)) ## Fundamentos de WMI ### Espacio de Nombres Estructurado en una jerarqu铆a de estilo de directorio, el contenedor de nivel superior de WMI es \root, bajo el cual se organizan directorios adicionales, denominados espacios de nombres. Comandos para listar espacios de nombres: ```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 ``` Las clases dentro de un espacio de nombres se pueden listar usando: ```bash gwmwi -List -Recurse # Defaults to "root\cimv2" if no namespace specified gwmi -Namespace "root/microsoft" -List -Recurse ``` ### **Clases** Conocer el nombre de una clase WMI, como win32\_process, y el espacio de nombres en el que reside es crucial para cualquier operaci贸n WMI. Comandos para listar clases que comienzan con `win32`: ```bash Get-WmiObject -Recurse -List -class win32* | more # Defaults to "root\cimv2" gwmi -Namespace "root/microsoft" -List -Recurse -Class "MSFT_MpComput*" ``` Invocaci贸n de una clase: ```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 ``` ### M茅todos Los m茅todos, que son una o m谩s funciones ejecutables de las clases WMI, se pueden ejecutar. ```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) ``` ## Enumeraci贸n de WMI ### Estado del Servicio WMI Comandos para verificar si el servicio WMI est谩 operativo: ```bash # WMI service status check Get-Service Winmgmt # Via CMD net start | findstr "Instrumentation" ``` ### Informaci贸n del Sistema y del Proceso Recopilaci贸n de informaci贸n del sistema y del proceso a trav茅s de WMI: ```bash Get-WmiObject -ClassName win32_operatingsystem | select * | more Get-WmiObject win32_process | Select Name, Processid ``` Para los atacantes, WMI es una herramienta potente para enumerar datos sensibles sobre sistemas o dominios. ```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 ``` Consulta remota de WMI para informaci贸n espec铆fica, como administradores locales o usuarios conectados, es factible con una construcci贸n cuidadosa de comandos. ### **Consulta WMI Remota Manual** La identificaci贸n sigilosa de administradores locales en una m谩quina remota y usuarios conectados se puede lograr a trav茅s de consultas WMI espec铆ficas. `wmic` tambi茅n admite la lectura de un archivo de texto para ejecutar comandos en m煤ltiples nodos simult谩neamente. Para ejecutar un proceso de forma remota a trav茅s de WMI, como desplegar un agente de Empire, se emplea la siguiente estructura de comando, con una ejecuci贸n exitosa indicada por un valor de retorno de "0": ```bash wmic /node:hostname /user:user path win32_process call create "empire launcher string here" ``` Este proceso ilustra la capacidad de WMI para la ejecuci贸n remota y la enumeraci贸n del sistema, destacando su utilidad tanto para la administraci贸n del sistema como para el pentesting. ## Referencias * [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/) ## Herramientas Autom谩ticas * [**SharpLateral**](https://github.com/mertdas/SharpLateral): {% code overflow="wrap" %} ```bash SharpLateral redwmi HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe ``` {% endcode %} {% hint style="success" %} Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Apoya a HackTricks * Revisa los [**planes de suscripci贸n**](https://github.com/sponsors/carlospolop)! * **脷nete al** 馃挰 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **s铆guenos** en **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
{% endhint %}