WMI

O WMI (Windows Management Instrumentation) são as especificações para consolidação do gerenciamento de dispositivos e aplicações em redes corporativas utilizado Windows Server. Com isso, é possível gerenciar computadores e serviços (localmente e remotamente) utilizando Powershell ou VBScript.

Para verificar o status do serviço, execute:

Get-Service Winmgmt

O WMI possui 4 termos essenciais para entender:

Namespace

O WMI é dividido em uma hierarquia de estilo de diretório, o contêiner \root, com outros diretórios abaixo de \root. Esses "caminhos de diretório" são chamados de namespaces.

Abaixo segue um comando para listar todos os Namespaces. Se não informarmos o -Namespace Root, por padrão irá retornar Root/CIMV2.

Get-WmiObject -Class __Namespace -Namespace Root | sort name | ft name, path

# Um pouco mais detalhado
​Get-WmiObject -Class __Namespace -Namespace Root -List -Recurse | select__Namespace | sort __Namespace

# Apenas os namespaces de Root\CIMV2
Get-WmiObject -Class __Namespace -Namespace Root\CIMV2 | sort Name | ft name, path

Classes

O nome da classe WMI, por exemplo win32_process, é um ponto de partida para qualquer ação WMI. Sempre precisamos saber o nome da classe e o seu namespace (onde ela está localizada).

Listando todos as Classes que começam com "win32":

Get-WmiObject -List -class win32* | more

Trabalhando com classes.

Listando informações do SO

Listado os processos em execução no SO

Method

As classes WMI têm uma ou mais funções que podem ser executadas. Essas funções são chamadas de métodos.

Listando os métodos da classe win32_share:

Query

Uma instrução WMI Query Language (WQL) a pode ser executada. Por exemplo, para filtrarmos pelo processo lsass.exe utilizando WMI, precisamos executar o seguinte comando:

Conectando ao WMI Remoto

WMIC

Executando comando no SO remoto.

Cria um novo processo (por exemplo, notepad.exe) no host remoto.

Finaliza o processo (por exemplo, notepad.exe)

Listando informações sobre o SO remoto.

Listando informações sobre o computador remoto.

Listando todos os usuários disponíveis no computador remoto.

Listando todos os grupos disponíveis no computador remoto.

Listando todos os usuários disponíveis no computador remoto.

Detalhes sobre a inicialização do SO.

Listando as variáveis de ambiente do SO.

Listando todos os hotfixes instalados e salva o resultado em um arquivo.

wmiexec.py (Impacket)

Conectando no host com shell interativa

wmishell.ps1

Conectando no host com shell interativa. Utilize somente comandos do cmd.exe, não do Powershell.

wmiquery.py

Conectando

Veriicando o Sistema Operacional

Diretórios que estão sendo compartilhadas

Verificando se existem processos em andamento

Verificando se existem serviços em andamento

Procurando por diretórios ocultos de determinado usuário

Procurando por arquivos que tenha a palavra 'flag' no nome

WMImplant

Iniciando o WMImplant

Configurando as credenciais

Listando os usuários ativos no SO

Listando processos

Listando arquivo de determinado diretório

Lendo conteúdo de determinado arquivo

Executando o Mimikatz. Esse processo pode demorar.

Sites

Last updated