
Implementação em C# do SMBExec para execução remota de comandos em alvos Windows usando hashes de senha NTLM, permitindo movimento lateral e ataques pass-the-hash.
Uma conversão nativa em C# do script PowerShell Invoke-SMBExec de Kevin Robertson. (https://github.com/Kevin-Robertson/Invoke-TheHash/blob/master/Invoke-SMBExec.ps1)
Compilado para .NET 3.5
Sharp-SMBExec.exe hash:"hash" username:"username" domain:"domain.tld" target:"target.domain.tld" command:"command"
Este assembly permitirá executar um comando em uma máquina alvo usando SMB, fornecendo um hash NTLM para o usuário especificado.
Option Description
username* Nome de usuário para autenticação
hash* Hash de senha NTLM para autenticação. Este módulo aceitará o formato LM:NTLM ou NTLM
domain Domínio para usar na autenticação. Este parâmetro não é necessário para contas locais ou ao usar @domain após o nome de usuário
target Hostname ou endereço IP do alvo.
command Comando a executar no alvo. Se um comando não for especificado, a função verificará se o nome de usuário e o hash fornecem acesso de administrador local no alvo
ServiceName Padrão = 20 caracteres aleatórios. O nome do serviço a criar e excluir no alvo.
-CheckAdmin Verificar apenas acesso de administrador, não executar comando
-Help (-h) Alternar, depuração ativada [Padrão='False']
-Debug Imprimir informações de depuração junto com a saída
-ForceSMB1 Forçar SMB1. O comportamento padrão é realizar a negociação de versão SMB e usar SMB2 se for suportado pelo alvo [Padrão='False']
-ComSpec Preceder %COMSPEC% /C ao comando [Padrão='False']