
Реализация SMBExec на C# для удаленного выполнения команд на целевых системах Windows с использованием хэшей паролей NTLM, обеспечивающая боковое перемещение и атаки pass-the-hash.
Нативная конвертация на C# скрипта Invoke-SMBExec PowerShell Кевина Робертсона. (https://github.com/Kevin-Robertson/Invoke-TheHash/blob/master/Invoke-SMBExec.ps1)
Собрано для .NET 3.5
Sharp-SMBExec.exe hash:"hash" username:"username" domain:"domain.tld" target:"target.domain.tld" command:"command"
Эта сборка позволяет выполнить команду на целевой машине, используя SMB, предоставляя NTLM-хэш указанного пользователя.
Option Description
username* Имя пользователя для аутентификации
hash* Хэш пароля NTLM для аутентификации. Этот модуль принимает формат LM:NTLM или просто NTLM.
domain Домен для аутентификации. Этот параметр не нужен для локальных учетных записей или при использовании @domain после имени пользователя.
target Имя хоста или IP-адрес цели.
command Команда для выполнения на цели. Если команда не указана, функция проверит, предоставляют ли имя пользователя и хэш локальный административный доступ к цели.
ServiceName По умолчанию = 20 случайных символов. Имя службы, которая будет создана и удалена на цели.
-CheckAdmin Проверить только административный доступ, не выполнять команду.
-Help (-h) Переключатель, включает отладку [По умолчанию = 'False']
-Debug Выводить отладочную информацию вместе с выводом.
-ForceSMB1 Принудительно использовать SMB1. По умолчанию выполняется согласование версии SMB и используется SMB2, если он поддерживается целью [По умолчанию = 'False']
-ComSpec Добавить %COMSPEC% /C перед командой [По умолчанию = 'False']