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

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

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

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

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

Категории

Все категории
Loading categories
MSSQLand — Целевой инструмент пост-эксплуатации на C# для Microsoft SQL Server (MS SQL / MSSQL), выполняющий обход цепочек связанных серверов любой глубины с каскадным олицетворением входа на каждом переходе. | Kitploit
Инструменты/GitHubGitHub/n3rada/mssqland
Повышение привилегийИнструменты для выдачи себя за другое лицоЛатеральное перемещениеАудит конфигурацииСбор информацииПост-эксплуатацияТестирование на ПроникновениеRed TeamingБезопасность Баз Данных
GitHubn3rada/mssqland

MSSQLand

Целевой инструмент пост-эксплуатации на C# для Microsoft SQL Server (MS SQL / MSSQL), выполняющий обход цепочек связанных серверов любой глубины с каскадным олицетворением входа на каждом переходе.

759126 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

✈️ MSSQLand

Приземлитесь изящно в целевой СУБД Microsoft SQL Server (MS SQL), словно прибывая бизнес-классом с бокалом шампанского в руке. 🥂

Возможности цепочек MSSQLand

MSSQLand — это инструмент пост-эксплуатации для Microsoft SQL Server (MSSQL / MS SQL) на C#, созданный для операторов красных команд. Он предназначен для запуска внутри целевой среды непосредственно через ваши бекон-агенты (например, с помощью execute-assembly в Cobalt Strike или Havoc, или любой команды dotnet). Инструмент позволяет перемещаться по цепочкам связанных серверов, олицетворять любого пользователя, встреченного на пути, и выполнять любое желаемое действие на последнем узле. Всё с минимальным OPSEC-следом и без внешних зависимостей.

  • Обход связанных серверов: автоматическое оборачивание OPENQUERY / EXEC AT по цепочкам любой глубины
  • Олицетворение: EXECUTE AS LOGIN на каждом узле с каскадным многопользовательским олицетворением
  • Аутентификация: текущий токен Windows, pass-the-hash через олицетворение токена бекон-агента, Kerberos
  • Обнаружение: SQL Browser (UDP 1434), перечисление SPN в Active Directory через LDAP, широковещательные запросы, сканирование портов TDS
  • ConfigMgr / SCCM / MECM: специальные действия cm-* для разведки и эксплуатации баз данных Microsoft Configuration Manager
  • Вывод: таблицы, дружественные к Markdown, с временными метками, экспорт в CSV для чистых результатов пентеста

[!TIP] MSSQLand построен с использованием .NET Framework 4.8, ориентирован на выполнение сборок в текущем контексте. Если вам нужно подключиться с использованием NT/LM-хешей или билета Kerberos, см. Pass-the-Hash.

[!NOTE] Не забывайте об основах. Во время оценки безопасности иногда проще использовать SQL Server Management Studio (SSMS).

🧸 Использование

root@kitploit:~
MSSQLand.exe [options] <host> [options] <action> [action-options]
MSSQLand.exe <host> --probe

Глобальные флаги (-c, -l, --debug и т.д.) принимаются в любой позиции, включая после имени действия; нераспознанные токены после действия передаются как есть.

[!NOTE] Если опустить <action>, выполняется только проверка подключения. Инструмент аутентифицируется и завершает работу без выполнения запросов. Идеально для проверки учётных данных с минимальным OPSEC-следом.

[!TIP] Избегайте ручного ввода всех вызовов RPC Out или OPENQUERY. Позвольте инструменту обработать любую цепочку связанных серверов с помощью аргумента -l, чтобы вы могли сосредоточиться на общей картине.

Формат: server:port/user@database или любая комбинация server/user@database:port.

  • server (обязательно) - Имя хоста или IP-адрес SQL Server
  • :port (необязательно) - Номер порта (по умолчанию: 1433, также часто встречается: 1434, 14333, 2433)
  • /user (необязательно) - Пользователь для олицетворения на этом сервере ("execute as login")
    • Поддерживает каскадное олицетворение: /user1/user2/user3 выполняет EXECUTE AS LOGIN = 'user1'; EXECUTE AS LOGIN = 'user2'; EXECUTE AS LOGIN = 'user3';
    • Каждый /user помещает новый контекст олицетворения в стек безопасности
  • @database (необязательно) - Контекст базы данных
root@kitploit:~
# Connectivity probe: checks if server is alive without authenticating
MSSQLand.exe localhost --probe

# Connection test only (no action executed, authenticates and exits)
MSSQLand.exe localhost -c token

# Execute specific action
MSSQLand.exe localhost -c token info
MSSQLand.exe localhost:1434@db03 -c token info
MSSQLand.exe LAB-SQL01@AdventureWorks -c token tables -n Customer

🔗 Цепочка связанных серверов

Соедините несколько SQL-серверов с помощью флага -l, используя точку с запятой (;) в качестве разделителя:

root@kitploit:~
-l SQL01;SQL02/user;SQL03@database

Синтаксис:

  • Точка с запятой (;) - Разделяет серверы в цепочке
  • Косая черта (/) - Указывает пользователя для олицетворения ("execute as login")
    • Поддерживает каскадное олицетворение: /user1/user2 выполняет последовательное олицетворение
  • Знак @ (@) - Указывает контекст базы данных
  • Квадратные скобки ([...]) - Используются для защиты имени сервера от разделения нашими разделителями

Примеры:

root@kitploit:~
# Simple chain
-l SQL01;SQL02;SQL03

# With impersonation and databases
-l SQL01/admin;SQL02;SQL03/manager@clients

# Cascading impersonation (impersonate user1, then user2 on SQL01)
-l SQL01/user1/user2;SQL02;SQL03

# Mixed cascading (SQL01: user1→user2, SQL03: user3→user4→user5)
-l SQL01/user1/user2;SQL02;SQL03/user3/user4/user5@database

# Server names can contain hyphens, dots (no brackets needed)
-l SQL-01;SERVER.001;HOST.DOMAIN.COM

# Brackets only needed if server name contains delimiter characters
-l [SERVER;PROD];SQL02;[SQL03@clients]@clientdb

[!NOTE] Указание порта (:port) применяется только к начальному подключению к хосту. Цепочки связанных серверов (-l) используют имена связанных серверов, настроенные в sys.servers, а не комбинации hostname:port.

🔍 Обнаружение

Эти режимы не требуют аутентификации и работают до получения учётных данных.

📡 Служба обозревателя

Служба SQL Server Browser прослушивает UDP 1434 и отвечает на запросы обнаружения списком экземпляров SQL Server, работающих на хосте, включая их имена, версии и TCP-порты. Это полезно, когда на целевом сервере используются именованные экземпляры на динамических портах — не нужно гадать или сканировать.

root@kitploit:~
# Query the SQL Browser service on a specific host (UDP 1434)
MSSQLand.exe LAB-SQL03 --browse

📂 LDAP-запросы

Active Directory предоставляет информацию о регистрации SQL Server через имена участников-служб (SPN), хранящиеся в учётных записях компьютеров и служб. MSSQLand выполняет запросы к AD через LDAP для SPN вида MSSQLSvc/*, чтобы перечислить экземпляры SQL Server в домене или во всём лесу через Глобальный каталог.

root@kitploit:~
# Find SQL Servers in Active Directory via LDAP (current domain)
MSSQLand.exe --findsql

# Target a specific domain
MSSQLand.exe --findsql pgd.lab

# Forest-wide search via Global Catalog (port 3268)
MSSQLand.exe --findsql pgd.lab --gc

Обнаружение многоуровневое. Подробнее см. в FindSqlServers.cs.

📢 Широковещательный запрос

Служба SQL Server Browser также отвечает на широковещательные UDP-пакеты через UDP 1434, что позволяет обнаружить все экземпляры SQL Server, рекламирующие себя в локальной подсети.

root@kitploit:~
# Broadcast discovery on the local network (UDP 1434)
MSSQLand.exe --broadcast
MSSQLand.exe --broadcast --timeout 5

[!TIP] Это особенно полезно, когда SQL Server работает на машине, не входящей в домен, и поэтому не будет отображаться ни в одном LDAP- или SPN-запросе. Представьте изолированные серверы, машины разработчиков или нелегитимные экземпляры, развёрнутые во внутренней VLAN.

🔌 Сканирование портов

Проверяет открытые порты на наличие живых экземпляров SQL Server с использованием рукопожатий протокола TDS (не только TCP SYN). Порт сообщается только при ответе на пакет предварительного входа TDS.

root@kitploit:~
MSSQLand.exe LAB-SQL03 --portscan
MSSQLand.exe LAB-SQL03 --portscan --all           # Find all instances (full ephemeral range)
MSSQLand.exe LAB-SQL03 --portscan 65184           # Single port
MSSQLand.exe LAB-SQL03 --portscan 65180-65190     # Port range
MSSQLand.exe LAB-SQL03 --portscan 1433,5000,65184 # Comma-separated list

🔑 Pass-the-Hash

MSSQLand выполняется как .NET-сборка внутри бекон-агента и всегда аутентифицируется, используя текущий контекст выполнения (-c token). Когда у вас есть хеш, правильный подход — сначала создать токен на уровне бекон-агента, а затем запустить MSSQLand обычным образом. System.Data.SqlClient прозрачно наследует этот токен, и не требуется никакой собственной реализации TDS.

Реализация NTLMv2 с нуля внутри MSSQLand означала бы:

  • Замену System.Data.SqlClient на самодельный стек TDS 7.x (слишком много строк кода для сокетов, TLS и NTLM).
  • Поддержку этой реализации с учётом особенностей версий SQL Server, изменений политик TLS и граничных случаев потоков токенов.
  • Отсутствие функционального преимущества перед подходом с токенами в подавляющем большинстве заданий.

Если вам нужно аутентифицироваться с билетом Kerberos или хешами NT/LM с внешней позиции, mssqlclient-ng — правильный инструмент. Это клиент на Python 3, созданный для доступа со стороны Unix, легко связывается с SOCKS5-прокси, установленным из вашего бекон-агента.

🌉 Переадресация портов через Linux

Если вы запускаете MSSQLand на вашем хост-компьютере с Windows, но вам нужно получить доступ к целевому SQL Server через среду Linux (Hyper-V VM, VMware или WSL), вы можете легко перенаправить соединение с помощью socat:

root@kitploit:~
sudo socat TCP4-LISTEN:1433,fork,reuseaddr TCP:10.10.11.90:1433

Эта команда прослушивает порт 1433 на вашей Linux-машине и перенаправляет весь трафик на целевой SQL Server по адресу 10.10.11.90:1433. Затем вы можете подключить MSSQLand к IP-адресу вашей Linux-ВМ с вашего хоста Windows.

❓ Справка

  • -h или --help - Показать все доступные действия
  • -h search_term - Отфильтровать действия (например, -h adsi показывает все действия, связанные с ADSI)
  • localhost -c token createuser -h - Показать подробную справку для конкретного действия

🔧 Поддержка Configuration Manager (ConfigMgr)

MSSQLand включает всестороннюю поддержку для эксплуатации и разведки Microsoft Configuration Manager (ранее SCCM / MECM). Когда у вас есть доступ к серверу базы данных ConfigMgr, вы можете использовать специализированные действия для сбора информации об устройствах (например, cm-devices) или картографирования инфраструктуры.

Все действия ConfigMgr используют префикс cm- (например, cm-scripts, cm-package), чтобы соответствовать соглашению об именовании официальных командлетов PowerShell от Microsoft (Get-CM*, Set-CM* и т.д.).

📸 Чистый вывод для чистых отчётов

Вывод инструмента, обогащённый временными метками и ценной контекстной информацией, предназначен для создания визуально привлекательных и профессиональных результатов, что делает его идеальным для получения скриншотов высокого качества для любых ваших отчётов (например, отчёты для клиента, внутренние отчёты, оценки красных команд).

Все таблицы вывода дружественны к Markdown и могут быть скопированы и вставлены непосредственно в ваши заметки без каких-либо проблем с форматированием.

[!TIP] Вы также можете получить вывод в формате .csv, используя опцию --format csv: MSSQLand.exe localhost -c token --format csv --silent procedures > procedures.csv

🤝 Вклад

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

Здесь никто не будет удалён из Git-истории. Здесь нечего бояться. Никто не будет копировать ваш код, не придерживаясь духа сотрудничества открытого исходного кода.

Пожалуйста, обратитесь к CONTRIBUTING.md за подробными инструкциями по началу работы.

🥚 Происхождение

Если вы задаётесь вопросом, почему этот инструмент существует, а не является вкладом в другие проекты SQL Server, см. ORIGIN.md.

⚠️ Отказ от ответственности

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

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

Приемлемые среды включают:

  • Частные лабораторные среды, которые вы контролируете (локальные ВМ, изолированные сети).
  • Санкционированные обучающие платформы (CTF, Hack The Box, сценарии экзаменов OffSec).
  • Формальные пентесты или задания красных команд с документированным согласием клиента.

Неправильное использование этого проекта может привести к судебному преследованию.

⚖️ Юридическое уведомление

Любое неавторизованное использование этого инструмента в реальных средах или против систем без явного разрешения владельца системы строго запрещено и может нарушать правовые и этические нормы. Создатели и участники этого инструмента не несут ответственности за любое неправильное использование или причинённый ущерб.

Используйте ответственно и этично. Всегда соблюдайте закон и получайте соответствующие разрешения.

Скачать инструмент