
Implementación en C# de SMBExec para la ejecución remota de comandos en objetivos Windows utilizando hashes de contraseña NTLM, permitiendo movimiento lateral y ataques pass-the-hash.
Una conversión nativa en C# del script de 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 ensamblado le permitirá ejecutar un comando en una máquina objetivo usando SMB proporcionando un hash NTLM para el usuario especificado.
Opción Descripción
username* Nombre de usuario para la autenticación
hash* Hash de contraseña NTLM para la autenticación. Este módulo aceptará formato LM:NTLM o NTLM
domain Dominio para la autenticación. Este parámetro no es necesario con cuentas locales o cuando se usa @dominio después del nombre de usuario
target Nombre de host o dirección IP del objetivo.
command Comando a ejecutar en el objetivo. Si no se especifica un comando, la función verificará si el nombre de usuario y el hash proporcionan acceso de administrador local en el objetivo
ServiceName Predeterminado = 20 caracteres aleatorios. El nombre del servicio a crear y eliminar en el objetivo.
-CheckAdmin Verificar solo acceso de administrador, no ejecutar comando
-Help (-h) Interruptor, depuración habilitada [Predeterminado='False']
-Debug Imprimir información de depuración junto con la salida
-ForceSMB1 Forzar SMB1. El comportamiento predeterminado es realizar negociación de versión SMB y usar SMB2 si es compatible con el objetivo [Predeterminado='False']
-ComSpec Anteponer %COMSPEC% /C al comando [Predeterminado='False']