Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Invoke-TheHash — Утилиты Pass The Hash для PowerShell | Kitploit
Инструменты/GitHubGitHub/kevin-robertson/invoke-thehash
Атаки на ПаролиЛатеральное перемещениеПост-эксплуатацияСетевая безопасностьТестирование на ПроникновениеАутентификация
GitHubkevin-robertson/invoke-thehash

Invoke-TheHash

Утилиты Pass The Hash для PowerShell

Репозиторий
1.8k3137 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Invoke-TheHash

Invoke-TheHash содержит функции PowerShell для выполнения задач WMI и SMB с передачей хэша (pass the hash). Подключения WMI и SMB осуществляются через .NET TCPClient. Аутентификация выполняется путем передачи NTLM-хэша в протокол аутентификации NTLMv2. Привилегии локального администратора на стороне клиента не требуются.

Требования

Минимум PowerShell 2.0

Импорт

Import-Module ./Invoke-TheHash.psd1

или

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

Функции

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

Invoke-WMIExec

  • Функция выполнения команд через WMI.
Параметры:
  • Target - Имя хоста или IP-адрес цели.
  • Username - Имя пользователя для аутентификации.
  • Domain - Домен для аутентификации. Этот параметр не требуется для локальных учетных записей или при использовании @domain после имени пользователя.
  • Hash - NTLM-хэш пароля для аутентификации. Эта функция принимает формат LM:NTLM или NTLM.
  • Command - Команда для выполнения на цели. Если команда не указана, функция просто проверит, имеет ли имя пользователя и хэш доступ к WMI на цели.
  • Sleep - По умолчанию = 10 миллисекунд: Задает значения Start-Sleep функции в миллисекундах.
Пример:

Invoke-WMIExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose

Скриншот:

wmi

Invoke-SMBExec

  • Функция выполнения команд через SMB (PsExec) с поддержкой SMB1, SMB2.1, с подписью SMB и без.
Параметры:
  • Target - Имя хоста или IP-адрес цели.
  • Username - Имя пользователя для аутентификации.
  • Domain - Домен для аутентификации. Этот параметр не требуется для локальных учетных записей или при использовании @domain после имени пользователя.
  • Hash - NTLM-хэш пароля для аутентификации. Эта функция принимает формат LM:NTLM или NTLM.
  • Command - Команда для выполнения на цели. Если команда не указана, функция просто проверит, имеет ли имя пользователя и хэш доступ к SCM на цели.
  • CommandCOMSPEC - По умолчанию = Включено: Добавляет %COMSPEC% /C к команде.
  • Service - По умолчанию = 20 случайных символов: Имя службы для создания и удаления на цели.
  • Sleep - По умолчанию = 150 миллисекунд: Задает значения Start-Sleep функции в миллисекундах.
  • Version - По умолчанию = Auto: (Auto,1,2.1) Принудительно задает версию SMB. Поведение по умолчанию — выполнить согласование версии SMB и использовать SMB2.1, если он поддерживается целью.
Пример:

Invoke-SMBExec -Target 192.168.100.20 -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Command "command or launcher to execute" -verbose

Пример:

Проверка требований подписи SMB на цели. Invoke-SMBExec -Target 192.168.100.20

Скриншот:

smb

Invoke-SMBEnum

  • Invoke-SMBEnum выполняет задачи перечисления пользователей, групп, сетевых сессий и общих ресурсов через SMB2.1 с подписью SMB и без.
Параметры:
  • Target - Имя хоста или IP-адрес цели.
  • Username - Имя пользователя для аутентификации.
  • Domain - Домен для аутентификации. Этот параметр не требуется для локальных учетных записей или при использовании @domain после имени пользователя.
  • Hash - NTLM-хэш пароля для аутентификации. Эта функция принимает формат LM:NTLM или NTLM.
  • Action - (All,Group,NetSession,Share,User) По умолчанию = Share: Действие перечисления.
  • Group - По умолчанию = Administrators: Группа для перечисления.
  • Sleep - По умолчанию = 150 миллисекунд: Задает значения Start-Sleep функции в миллисекундах.
  • Version - По умолчанию = Auto: (Auto,1,2.1) Принудительно задает версию SMB. Поведение по умолчанию — выполнить согласование версии SMB и использовать SMB2.1, если он поддерживается целью. Обратите внимание, что проверка подписи работает только с SMB1.
Пример:

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

Скриншот:

invoke-smbenum

Invoke-SMBClient

  • Функция SMB-клиента с поддержкой SMB2.1 и подписи SMB. Эта функция в основном предоставляет возможности SMB-файлового обмена для работы с хэшами, не имеющими привилегий удаленного выполнения команд. Эта функция также может использоваться для подготовки полезных нагрузок для Invoke-WMIExec и Invoke-SMBExec. Обратите внимание, что Invoke-SMBClient построен на .NET TCPClient и не использует клиент Windows SMB. Invoke-SMBClient работает значительно медленнее, чем клиент Windows.
Параметры:
  • Username - Имя пользователя для аутентификации.
  • Domain - Домен для аутентификации. Этот параметр не требуется для локальных учетных записей или при использовании @domain после имени пользователя.
  • Hash - NTLM-хэш пароля для аутентификации. Эта функция принимает формат LM:NTLM или NTLM.
  • Action - По умолчанию = List: (List/Recurse/Delete/Get/Put) Выполняемое действие.
      • List: Выводит содержимое каталога.
      • Recurse: Выводит содержимое каталога и всех подкаталогов.
      • Delete: Удаляет файл.
      • Get: Загружает файл.
      • Put: Загружает файл и устанавливает время создания, доступа и последней записи, соответствующее исходному файлу.
  • Source
      • List и Recurse: UNC-путь к каталогу.
      • Delete: UNC-путь к файлу.
      • Get: UNC-путь к файлу.
      • Put: Файл для загрузки. Если полный путь не указан, файл должен находиться в текущем каталоге. При использовании ключа 'Modify' параметр 'Source' должен быть массивом байтов.
  • Destination
      • List и Recurse: Не используется.
      • Delete: Не используется.
      • Get: Если используется, значение будет новым именем загруженного файла. Если полный путь не указан, файл будет создан в текущем каталоге.
      • Put: UNC-путь для загружаемого файла. Имя файла должно быть указано.
  • Modify
      • List и Recurse: Функция выводит объект, содержащий содержимое каталога.
      • Delete: Не используется.
      • Get: Функция выводит массив байтов загруженного файла вместо записи на диск. Рекомендуется использовать только для небольших файлов и направлять вывод в переменную.
      • Put: Загружает массив байтов в новый файл назначения.
  • NoProgress - Отключает отображение индикатора выполнения загрузки и выгрузки.
  • - По умолчанию = 100 миллисекунд: Задает значения Start-Sleep функции в миллисекундах.
Пример:

Вывод содержимого корневого каталога общего ресурса. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Source \\server\share -verbose

Пример:

Рекурсивный вывод содержимого общего ресурса, начиная с корня. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share

Пример:

Рекурсивный вывод содержимого подкаталога общего ресурса с сохранением только содержимого в переменную. $directory_contents = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Recurse -Source \\server\share\subdirectory -Modify

Пример:

Удаление файла на общем ресурсе. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\file.txt

Пример:

Удаление файла в подкаталогах общего ресурса. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Delete -Source \\server\share\subdirectory\subdirectory\file.txt

Пример:

Загрузка файла с общего ресурса. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt

Пример:

Загрузка файла из подкаталога общего ресурса с новым именем. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\subdirectory\file.txt -Destination file.txt

Пример:

Загрузка файла с общего ресурса в переменную-массив байтов вместо диска. $password_file = Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Get -Source \\server\share\file.txt -Modify

Пример:

Выгрузка файла в подкаталог общего ресурса. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source file.exe -Destination \\server\share\subdirectory\file.exe

Пример:

Выгрузка файла на общий ресурс из переменной-массива байтов. Invoke-SMBClient -Domain TESTDOMAIN -Username TEST -Hash F6F38B793DB6A94BA04A52F1D3EE92F0 -Action Put -Source $file_byte_array -Destination \\server\share\file.txt -Modify

Скриншот:

invoke-smbclient

Invoke-TheHash

  • Функция для запуска функций Invoke-TheHash против нескольких целей.
Параметры:
  • Type - Задает нужную функцию Invoke-TheHash. Установите значение SMBClient, SMBEnum, SMBExec или WMIExec.
  • Target - Список имен хостов, IP-адресов, записей в нотации CIDR или диапазонов IP для целей.
  • TargetExclude - Список имен хостов, IP-адресов, записей в нотации CIDR или диапазонов IP, которые необходимо исключить из списка целей.
  • PortCheckDisable - (Переключатель) Отключает проверку порта WMI или SMB. Поскольку эта функция еще не многопоточная, проверка порта служит для ускорения функции путем проверки открытого порта WMI или SMB перед попыткой полного синхронного подключения TCPClient.
  • PortCheckTimeout - По умолчанию = 100: Задает тайм-аут ожидания ответа (в миллисекундах) для проверки порта WMI или SMB.
  • Username - Имя пользователя для аутентификации.
  • Domain - Домен для аутентификации. Этот параметр не требуется для локальных учетных записей или при использовании @domain после имени пользователя.
  • Hash - NTLM-хэш пароля для аутентификации. Этот модуль принимает формат LM:NTLM или NTLM.
  • Command - Команда для выполнения на цели. Если команда не указана, функция просто проверит, имеет ли имя пользователя и хэш доступ к WMI или SCM на цели.
  • CommandCOMSPEC - По умолчанию = Включено: Только для типа SMBExec. Добавляет %COMSPEC% /C к команде.
  • Service - По умолчанию = 20 случайных символов: Только для типа SMBExec. Имя службы для создания и удаления на цели.
  • SMB1 - (Переключатель) Принудительно использует SMB1. Только для типа SMBExec. Поведение по умолчанию — выполнить согласование версии SMB и использовать SMB2, если он поддерживается целью.
  • Sleep - По умолчанию = WMI 10 миллисекунд, SMB 150 миллисекунд: Задает значения Start-Sleep функции в миллисекундах.
Пример:

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

Скриншот:

ithsmb

Скачать инструмент
Sleep
  • Version - По умолчанию = Auto: (Auto,1,2.1) Принудительно задает версию SMB. Поведение по умолчанию — выполнить согласование версии SMB и использовать SMB2.1, если он поддерживается целью. Обратите внимание, что проверка подписи работает только с SMB1.