Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Invoke-TheHash — PowerShell Pass The Hash Utils | Kitploit
Ferramentas/GitHubGitHub/kevin-robertson/invoke-thehash
Ataques de SenhaMovimento LateralPós-ExploraçãoSegurança de RedeTestes de PenetraçãoAutenticação
GitHubkevin-robertson/invoke-thehash

Invoke-TheHash

PowerShell Pass The Hash Utils

Ver Repositório
1.8k313há 7 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Invoke-TheHash

Invoke-TheHash contém funções PowerShell para realizar tarefas de pass the hash WMI e SMB. As conexões WMI e SMB são acessadas através do .NET TCPClient. A autenticação é realizada passando um hash NTLM para o protocolo de autenticação NTLMv2. Privilégio de administrador local não é necessário no lado do cliente.

Requisitos

PowerShell 2.0 mínimo

Importar

Import-Module ./Invoke-TheHash.psd1

ou

. ./Invoke-WMIExec.ps1
. ./Invoke-SMBExec.ps1
. ./Invoke-SMBEnum.ps1
. ./Invoke-SMBClient.ps1
. ./Invoke-TheHash.ps1

Funções

  • Invoke-WMIExec
  • Invoke-SMBExec
  • Invoke-SMBEnum
  • Invoke-SMBClient
  • Invoke-TheHash

Invoke-WMIExec

  • Função de execução de comandos WMI.
Parâmetros:
  • Target - Nome do host ou endereço IP do alvo.
  • Username - Nome de usuário para autenticação.
  • Domain - Domínio para autenticação. Este parâmetro não é necessário com contas locais ou ao usar @domain após o nome de usuário.
  • Hash - Hash de senha NTLM para autenticação. Esta função aceitará o formato LM:NTLM ou NTLM.
  • Command - Comando a ser executado no alvo. Se um comando não for especificado, a função apenas verificará se o nome de usuário e o hash têm acesso ao WMI no alvo.
  • Sleep - Padrão = 10 Milissegundos: Define os valores de Start-Sleep da função em milissegundos.
Exemplo:

Invoke-WMIExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "comando ou lançador a executar" -verbose

Captura de tela:

wmi

Invoke-SMBExec

  • Função de execução de comandos SMB (PsExec) com suporte a SMB1, SMB2.1, com e sem assinatura SMB.
Parâmetros:
  • Target - Nome do host ou endereço IP do alvo.
  • Username - Nome de usuário para autenticação.
  • Domain - Domínio para autenticação. Este parâmetro não é necessário com contas locais ou ao usar @domain após o nome de usuário.
  • Hash - Hash de senha NTLM para autenticação. Esta função aceitará o formato LM:NTLM ou NTLM.
  • Command - Comando a ser executado no alvo. Se um comando não for especificado, a função apenas verificará se o nome de usuário e o hash têm acesso ao SCM no alvo.
  • CommandCOMSPEC - Padrão = Habilitado: Precede %COMSPEC% /C ao Comando.
  • Service - Padrão = 20 Caracteres Aleatórios: Nome do serviço a ser criado e excluído no alvo.
  • Sleep - Padrão = 150 Milissegundos: Define os valores de Start-Sleep da função em milissegundos.
  • Version - Padrão = Auto: (Auto,1,2.1) Força a versão SMB. O comportamento padrão é realizar negociação de versão SMB e usar SMB2.1 se suportado pelo alvo.
Exemplo:

Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "comando ou lançador a executar" -verbose

Exemplo:

Verificar requisitos de assinatura SMB no alvo. Invoke-SMBExec -Target 192.168.100.20

Captura de tela:

smb

Invoke-SMBEnum

  • Invoke-SMBEnum realiza tarefas de enumeração de Usuários, Grupos, NetSession e Compartilhamentos sobre SMB2.1 com e sem assinatura SMB.
Parâmetros:
  • Target - Nome do host ou endereço IP do alvo.
  • Username - Nome de usuário para autenticação.
  • Domain - Domínio para autenticação. Este parâmetro não é necessário com contas locais ou ao usar @domain após o nome de usuário.
  • Hash - Hash de senha NTLM para autenticação. Esta função aceitará o formato LM:NTLM ou NTLM.
  • Action - (All,Group,NetSession,Share,User) Padrão = Share: Ação de enumeração a ser executada.
  • Group - Padrão = Administrators: Grupo a ser enumerado.
  • Sleep - Padrão = 150 Milissegundos: Define os valores de Start-Sleep da função em milissegundos.
  • Version - Padrão = Auto: (Auto,1,2.1) Força a versão SMB. O comportamento padrão é realizar negociação de versão SMB e usar SMB2.1 se suportado pelo alvo. Nota: apenas a verificação de assinatura funciona com SMB1.
Exemplo:

Invoke-SMBEnum -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -verbose

Captura de tela:

invoke-smbenum

Invoke-SMBClient

  • Função de cliente SMB com suporte a SMB2.1 e assinatura SMB. Esta função fornece principalmente capacidades de compartilhamento de arquivos SMB para trabalhar com hashes que não possuem privilégio de execução remota de comandos. Esta função também pode ser usada para preparar payloads para uso com Invoke-WMIExec e Invoke-SMBExec. Note que Invoke-SMBClient é construído sobre o .NET TCPClient e não usa o cliente SMB do Windows. Invoke-SMBClient é muito mais lento que o cliente Windows.
Parâmetros:
  • Username - Nome de usuário para autenticação.
  • Domain - Domínio para autenticação. Este parâmetro não é necessário com contas locais ou ao usar @domain após o nome de usuário.
  • Hash - Hash de senha NTLM para autenticação. Esta função aceitará o formato LM:NTLM ou NTLM.
  • Action - Padrão = List: (List/Recurse/Delete/Get/Put) Ação a ser executada.
      • List: Lista o conteúdo de um diretório.
      • Recurse: Lista o conteúdo de um diretório e todos os subdiretórios.
      • Delete: Exclui um arquivo.
      • Get: Baixa um arquivo.
      • Put: Envia um arquivo e define os tempos de criação, acesso e última gravação para corresponder ao arquivo de origem.
  • Source
      • List e Recurse: Caminho UNC para um diretório.
      • Delete: Caminho UNC para um arquivo.
      • Get: Caminho UNC para um arquivo.
      • Put: Arquivo para enviar. Se um caminho completo não for especificado, o arquivo deve estar no diretório atual. Ao usar a opção 'Modify', 'Source' deve ser um array de bytes.
  • Destination
      • List e Recurse: Não usado.
      • Delete: Não usado.
      • Get: Se usado, o valor será o novo nome do arquivo baixado. Se um caminho completo não for especificado, o arquivo será criado no diretório atual.
      • Put: Caminho UNC para o arquivo enviado. O nome do arquivo deve ser especificado.
  • Modify
      • List e Recurse: A função produzirá um objeto contendo o conteúdo do diretório.
      • Delete: Não usado.
      • Get: A função produzirá um array de bytes do arquivo baixado em vez de escrevê-lo no disco. É aconselhável usar isso apenas com arquivos menores e enviar a saída para uma variável.
      • Put: Envia um array de bytes para um novo arquivo de destino.
  • NoProgress - Impede a exibição de uma barra de progresso de upload e download.
Exemplo:

Listar o conteúdo de um diretório raiz de compartilhamento. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Source \\server\share -verbose

Exemplo:

Listar recursivamente o conteúdo de um compartilhamento começando pela raiz. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share

Exemplo:

Listar recursivamente o conteúdo de um subdiretório de compartilhamento e retornar apenas o conteúdo para uma variável. $directory_contents = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share\subdirectory -Modify

Exemplo:

Excluir um arquivo em um compartilhamento. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\file.txt

Exemplo:

Excluir um arquivo em subdiretórios dentro de um compartilhamento. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\subdirectory\subdirectory\file.txt

Exemplo:

Baixar um arquivo de um compartilhamento. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt

Exemplo:

Baixar um arquivo de um subdiretório de compartilhamento e definir um novo nome de arquivo. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\subdirectory\file.txt -Destination file.txt

Exemplo:

Baixar um arquivo de um compartilhamento para uma variável de array de bytes em vez do disco. $password_file = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt -Modify

Exemplo:

Enviar um arquivo para um subdiretório de compartilhamento. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source file.exe -Destination \\server\share\subdirectory\file.exe

Exemplo:

Enviar um arquivo para um compartilhamento a partir de uma variável de array de bytes. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source $file_byte_array -Destination \\server\share\file.txt -Modify

Captura de tela:

invoke-smbclient

Invoke-TheHash

  • Função para executar funções Invoke-TheHash contra múltiplos alvos.
Parâmetros:
  • Type - Define a função Invoke-TheHash desejada. Defina como SMBClient, SMBEnum, SMBExec ou WMIExec.
  • Target - Lista de nomes de host, endereços IP, notação CIDR ou intervalos de IP para os alvos.
  • TargetExclude - Lista de nomes de host, endereços IP, notação CIDR ou intervalos de IP a serem excluídos da lista de alvos.
  • PortCheckDisable - (Switch) Desabilita a verificação de porta WMI ou SMB. Como esta função ainda não é multi-thread, a verificação de porta serve para acelerar a função verificando se há uma porta WMI ou SMB aberta antes de tentar uma conexão TCPClient síncrona completa.
  • PortCheckTimeout - Padrão = 100: Define o tempo limite de não resposta em milissegundos para a verificação de porta WMI ou SMB.
  • Username - Nome de usuário para autenticação.
  • Domain - Domínio para autenticação. Este parâmetro não é necessário com contas locais ou ao usar @domain após o nome de usuário.
  • Hash - Hash de senha NTLM para autenticação. Este módulo aceitará o formato LM:NTLM ou NTLM.
  • Command - Comando a ser executado no alvo. Se um comando não for especificado, a função apenas verificará se o nome de usuário e o hash têm acesso ao WMI ou SCM no alvo.
  • CommandCOMSPEC - Padrão = Habilitado: Apenas para tipo SMBExec. Precede %COMSPEC% /C ao Comando.
  • Service - Padrão = 20 Caracteres Aleatórios: Apenas para tipo SMBExec. Nome do serviço a ser criado e excluído no alvo.
  • SMB1 - (Switch) Força SMB1. Apenas para tipo SMBExec. O comportamento padrão é realizar negociação de versão SMB e usar SMB2 se suportado pelo alvo.
  • Sleep - Padrão = WMI 10 Milissegundos, SMB 150 Milissegundos: Define os valores de Start-Sleep da função em milissegundos.
Exemplo:

Invoke-TheHash -Type WMIExec -Target 192.168.100.0/24 -TargetExclude 192.168.100.50 -Username Administrator -Hash F6F38B793DB6A94BA04A52F1D3EE92F0

Captura de tela:

ithsmb

Baixar ferramenta
  • Sleep - Padrão = 100 Milissegundos: Define os valores de Start-Sleep da função em milissegundos.
  • Version - Padrão = Auto: (Auto,1,2.1) Força a versão SMB. O comportamento padrão é realizar negociação de versão SMB e usar SMB2.1 se suportado pelo alvo. Nota: apenas a verificação de assinatura funciona com SMB1.