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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/skahwah/sqlrecon
РазведкаЭксплуатацияСбор информацииПост-эксплуатацияТестирование на ПроникновениеАутентификацияRed TeamingБезопасность Баз Данных
GitHubskahwah/sqlrecon

SQLRecon

Набор инструментов C# для MS SQL, предназначенный для наступательной разведки и пост-эксплуатации.

Репозиторий
8141292 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
SQLRecon — Набор инструментов C# для MS SQL, предназначенный для наступательной разведки и пост-эксплуатации. | Kitploit

  licence badge wiki Badge stars badge forks badge issues badge

SQLRecon

SQLRecon — это набор инструментов Microsoft SQL Server, предназначенный для наступательной разведки и постэксплуатации. Подробную информацию о каждом методе можно найти в вики.

Вы можете скачать копию SQLRecon со страницы релизов. Кроме того, можете скомпилировать решение самостоятельно. Для этого достаточно склонировать репозиторий, дважды щелкнуть файл решения и выполнить сборку.

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

Ознакомьтесь с моей статьей на сайте IBM Security Intelligence. Если предпочитаете видео, то посмотрите мою презентацию на Black Hat.

Модули перечисления

Модули перечисления не требуют указания поставщика аутентификации. Эти модули должны передаваться в флаг модуля перечисления (/e:, /enum:). В вики есть подробности об использовании модулей перечисления.``` Info - Show information about the SQL server. /h:, /host -> SQL server hostname or IP. Multiple hosts supported. /port: -> (OPTIONAL) Defaults to 1434 (UDP). /t:, timeout: -> (OPTIONAL) Defaults to 3s.

SqlSpns - Use the current user token to enumerate the AD domain for MSSQL SPNs. /d:, /domain: -> (OPTIONAL) NETBIOS name or FQDN of domain.

root@kitploit:~
# Провайдеры аутентификации

SQLRecon поддерживает разнообразный набор провайдеров аутентификации (`/a:, /auth:`) для взаимодействия с Microsoft SQL Server.```
WinToken   - Use the current users token to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP

WinDomain  - Use AD credentials to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> NETBIOS name or FQDN of domain.
             /u:, /username: -> Username for domain user.
             /p:, /password: -> Password for domain user.

Local      - Use local SQL credentials to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /u:, /username: -> Username for local SQL user.
             /p:, /password: -> Password for local SQL user.

EntraID    - Use Azure EntraID credentials to authenticate against the Azure SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> FQDN of domain (DOMAIN.COM).
             /u:, /username: -> Username for domain user.
             /p:, /password: -> Password for domain user.

AzureLocal - Use local SQL credentials to authenticate against the Azure SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /u:, /username: -> Username for local SQL user.
             /p:, /password: -> Password for local SQL user.

Pth        - Authenticate using an NT hash (pass-the-hash) over raw TDS/NTLM. Elevated privileges or SeImpersonate is not required.
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> NETBIOS domain name.
             /u:, /username: -> Domain username.
             /hash:          -> NT hash (32 hex chars, 8846f7eaee8fb117ad06bdd830b7586c) or LM:NT format.

Authentication Providers - Дополнительные сведения

  • Hosts: Флаг host (/h:, host:) обязателен и указывает один или несколько SQL-серверов. Чтобы выполнить модуль для нескольких SQL-серверов, перечислите хосты через запятую, например /h:SQL01,10.10.10.2,SQL03.
  • Database: SQLRecon по умолчанию подключается к базе данных master, однако это можно изменить, указав имя пользовательской базы данных через флаг database (/database:).
  • Debug: Флаг /debug необязателен и отображает все SQL-запросы, выполняемые модулем, без их фактического выполнения на удалённых хостах. Пример можно найти в вики.
  • Port: В некоторых случаях Microsoft SQL Server может не прослушивать стандартный TCP-порт. Примеры: отказоустойчивая кластеризация Microsoft SQL Server или динамические TCP-порты. SQLRecon подключается к базам данных через TCP-порт 1433 по умолчанию, однако это можно изменить с помощью флага /port:.
  • Timeout: Время подключения к базе данных по умолчанию составляет 3 секунды, однако это значение можно изменить, указав значение тайм-аута (/t:, /timeout:), которое соответствует количеству секунд до завершения попытки подключения.
  • : Флаг необязателен и отображает все SQL-запросы, выполняемые модулем, перед их выполнением на удалённых хостах. Пример можно найти в .

Обратите внимание, что поставщик аутентификации EntraID требует, чтобы на системе, с которой выполняется SQLRecon, существовала библиотека аутентификации Azure Active Directory (ADAL) или библиотека аутентификации Microsoft (MSAL). Это необходимо для функциональности аутентификации и авторизации Azure EntraID.

SQL Modules (Модули SQL)

Модули SQL выполняются для одного или нескольких экземпляров Microsoft SQL Server. Эти модули необходимо передать через флаг модуля (/m:, /module:).

SQL Modules - Стандартные

Флаг host (/h:, host:) обязателен и позволяет указать один или несколько SQL-серверов. Чтобы выполнить модуль для нескольких SQL-серверов, перечислите хосты через запятую, например /h:SQL01,10.10.10.2,SQL03.

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

SQL Modules - Имперсонация

Модули имперсонации выполняются для одного или нескольких экземпляров Microsoft SQL Server в контексте имперсонированного пользователя SQL. Все модули имперсонации имеют следующие минимальные требования:

  • Должен быть указан пользователь для имперсонации (/i:, /iuser:).
  • Должен быть указан модуль, поддерживающий имперсонацию (/m:, /module:).

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

SQL Modules - Связанные серверы

Связанные модули выполняются на одном или нескольких экземплярах связанного Microsoft SQL Server. Все связанные модули имеют следующие минимальные требования:

  • Должен быть указан связанный SQL-сервер (/l:, /link:). Флаг link позволяет указать один или несколько связанных SQL-серверов. Например, если SQL01 имеет связь с SQL02, а SQL01 имеет связь с DB04, вы можете перечислить связанные хосты через запятую, и модуль будет выполнен на каждом связанном SQL-сервере, например /l:SQL02,DB04.
  • Должен быть указан модуль, поддерживающий выполнение через связанный сервер (/m:, /module:).

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

SQL Modules - Цепочка связанных серверов

Модули цепочки связанных серверов выполняются на конечном Microsoft SQL Server в цепочке связанных серверов. Все модули цепочки имеют следующие минимальные требования:

  • Цепочка связанных SQL-серверов должна быть указана во флаге /l:, /link:. Если SQL01 имеет связь с SQL02, а SQL02 имеет связь с PAYMENTS01, и вы хотите выполнить модуль на PAYMENTS01, то аргумент будет /l:SQL02,PAYMENTS01.
  • Должен быть включён флаг /chain, чтобы выполнить модуль на конечном SQL-сервере в указанной цепочке.
  • Должен быть указан модуль, поддерживающий выполнение в цепочке (/m:, /module:).

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

SCCM Modules (Модули SCCM)

SQLRecon имеет несколько модулей, которые могут помочь в переборе и атаке на Microsoft System Center Configuration Manager (SCCM) и Microsoft Endpoint Configuration Manager (ECM). Сервер SCCM или ECM должен предоставлять базу данных Microsoft SQL локально или удалённо.

Модули SCCM должны передаваться через флаг модуля SCCM (/s:, /sccm:).

Большинство модулей SCCM могут выполняться в контексте имперсонированного пользователя SQL (/i:, /iuser:).

В вики есть подробности об использовании каждого модуля для работы с базой данных SCCM/ECM.

SCCM Modules - Дополнительные сведения
  • Модуль Users выводит список всех пользователей в таблице RBAC_Admins. Это все пользователи, настроенные для какого-либо уровня доступа к SCCM.
  • Модуль Sites выводит список всех других сайтов с данными, хранящимися в таблице DPInfo базы данных SCCM. Это может предоставить дополнительные векторы атаки, так как разные сайты могут быть настроены разными (небезопасными) способами.
  • Модуль Logons запрашивает таблицу Computer_System_DATA для получения всех связанных клиентов SCCM вместе с пользователем, который последним вошёл в них. ПРИМЕЧАНИЕ: Это обновляется только раз в неделю по умолчанию и не будет на 100% актуальным. Используйте /option: как необязательный (не требуемый) аргумент для фильтрации клиентов SCCM.
  • Модуль TaskList предоставляет список всех последовательностей задач, хранящихся в базе данных SCCM, но не обращается к фактическому содержимому данных задач.
  • Модуль TaskData извлекает все последовательности задач, хранящиеся в базе данных SCCM, и расшифровывает их в открытый текст. Последовательности задач могут содержать учётные данные для присоединения систем к домену, сопоставления общих папок, выполнения команд и т.д.
  • Модуль Credentials выводит список учётных данных, хранящихся в SCCM для использования в различных функциях. Эти учётные данные не могут быть удалённо расшифрованы, так как ключ хранится на сервере SCCM. Однако этот модуль предоставляет информацию о том, имеет ли смысл пытаться получить ключ.

Расширение SQLRecon

Если вы заинтересованы в расширении SQLRecon, пожалуйста, обратитесь к разделу о внесении вклада и расширении в вики.

Я призываю вас открыть задачу, если у вас есть какие-либо предложения или идеи.

План развития

Цель — постоянно улучшать SQLRecon. Ниже перечислены некоторые запланированные области исследований:

  • Реализовать поддержку аутентификации на основе хэша NTLM.
  • Исследовать функциональность enablerpc/disablerpc для связанных и цепочечных SQL-серверов.

Благодарности

Следующие люди внесли прямой или косвенный вклад в различные аспекты SQLRecon.

  • Adam Chester (xpn)
  • Andrew Smith (jakxx)
  • Azaël Martin (n3rada)
  • Crusher (chryzsh)
  • Daniel Duggan (rasta-mouse)
  • Dave Cossa (G0ldenGunSec)
  • Dwight Hohnstein (djhohnstein)
  • Javier Balanza (JBalanza)
  • Joshua Magri (passthehashbrowns)

История

v4.0
  • Добавлен поставщик аутентификации NTLM pass-the-hash (/auth:pth). Реализована необработанная аутентификация TDS/NTLM через PTHTdsConnection, NtlmHelper и PthState, так что все модули работают без учётных данных в открытом виде или повышенных привилегий. Ключевые исправления включают параметры сеанса ANSI после входа, разбиение TDS на несколько пакетов, обработку взаимоблокировок TCP-потока для одновременных подключений CLR и совместимость с синтаксисом скобок OPENQUERY.
  • Исправлены ошибки в модулях имперсонации.
  • Исправлены ошибки в модулях adsi.
  • Исправлены ошибки в модулях ole.
  • Исправлены ошибки в _linkedChainRpcQuery
  • Исправлена давняя проблема, при которой System.Byte[] никогда не преобразовывался и не выводился в консоль должным образом.
  • Добавлены модули credentialobjectss и proxies (jakxx).
  • Обновлён README.md
  • Обновлена вики
v3.12
  • Добавлена поддержка прокси в agentcmd (jakxx).
  • Исправлена проблема с неправильной работой перечисления role через цепочку (passthehashbrowns).
  • Исправлена проблема с неправильной работой модуля impersonate через цепочку (passthehashbrowns).
  • Исправлена проблема с недоступностью EnableRpc/DisableRpc через цепочки (passthehashbrowns).
  • Исправлена проблема с неправильной работой модуля XpCmd через цепочки, теперь также поддерживается вывод (passthehashbrowns).
  • Исправлены проблемы, когда имена связанных серверов, содержащие символ '.', вызывают проблемы при использовании в запросах EXEC AT, если они не заключены в скобки, что вызывает проблемы, если имя связанного сервера является IP-адресом или FQDN (passthehashbrowns).
  • Внесены изменения в логику построения запроса цепочки связанных серверов. Существующая логика использует рекурсию, и базовый случай ожидает, что первым элементом массива будет "0", но это вызывает неинтуитивное поведение при разработке модулей, где необходимо перебирать цепочку, например функция .First возвращает "0". Я обновил её так, что функция LinkedChainQuery создаёт новый массив с "0" в начале, а затем вызывает существующую логику в отдельной функции, теперь называемой LinkedChainQueryRecurse (passthehashbrowns).
v3.11
  • Добавлена функциональность для расшифровки сохранённых учётных данных на сайтах, настроенных для высокой доступности (с активными + пассивными серверами).
v3.10
  • Исправлена проблема в модуле impersonate для правильной обработки случаев sysadmin (n3rada).
  • Реализованы два новых модуля SCCM: scriptdata и cidata (G0ldenGunSec).
  • Оптимизировано время загрузки и выполнения DLL CLR (chryzsh).
  • Создан модуль auditstatus для проверки, включён ли аудит SQL (chryzsh).
  • Обновлены тестовые случаи.
  • Обновлён README.
  • Обновлена вики.
v3.9
  • Добавлены базы данных, к которым у пользователя есть доступ, в модуль whoami (JBalanza).
  • Исправлена проблема в модуле adsi, когда сервер LDAP не нужно было добавлять в базу данных msdb; также теперь созданная функция правильно удаляется.
  • Исправлена проблема, когда RPC-запросы, содержащие оператор AT, завершаются ошибкой на целевом сервере, если указанное имя хоста является FQDN.
  • Обновлён README.
  • Обновлена вики.
v3.8
  • Добавлена логика для поддержки выполнения сборок CLR на SQL Server 2016 и ниже. Это для модуля clr. Выполнение поддерживается во всех контекстах.
  • Добавлена логика для загрузки сборки CLR сервера LDAP на SQL Server 2016 и ниже. Это для модуля adsi. Выполнение поддерживается во всех контекстах.
  • Обновлён README.
  • Обновлена вики.
v3.7* Полный рефакторинг кодовой базы. * Обновленная документация (комментарии в коде, README и вики). * Выполнение против цепочки связанных SQL-серверов. Например, если `SQL01` имеет ссылку на `SQL02`, `SQL02` — на `SQL03`, а `SQL03` — на `PAYMENTS01`. Теперь можно выполнять команды с `SQL01` на `PAYMENTS01`, используя цепочку связанных серверов (`/link:SQL02,SQL03,PAYMENTS01 /chain`). Автор: Azaël Martin (n3rada). * Удалены модули '`l`' и '`i`', введена контекстная логика, позволяющая использовать одинаковые имена модулей при стандартном выполнении, олицетворении, выполнении через связанные серверы и цепочки. * Добавлена поддержка цепочек для всех модулей, работающих со связанными серверами. * Добавлена поддержка отладки (`/debug`), которая выводит отладочную информацию и все SQL-запросы, которые будут выполнены модулем, без их фактического выполнения. * Добавлен подробный режим (`/verbose, /v`), который отображает все SQL-запросы, выполняемые во время работы модуля. * Добавлен тайм-аут (`/timeout, /t`), принимающий целое число для установки тайм-аута подключения к базе данных SQL Server. * Улучшен модуль `links` — теперь включает детальную информацию. Автор: Azaël Martin (n3rada). * Улучшен модуль `whoami` — теперь включает учётные записи Windows и пользователей базы данных. Автор: Azaël Martin (n3rada). * Улучшен модуль `impersonation` — теперь включает учётные записи Windows и пользователей базы данных. Автор: Azaël Martin (n3rada). * Добавлено извлечение IP-адресов в модуль перечисления `sqlspns`. Автор: Azaël Martin (n3rada). * Стандартизирован вывод консоли в формате Markdown, где это применимо. Автор: Azaël Martin (n3rada). * Добавлена поддержка DNS в модуль `/enum:info`. * Добавлен необязательный аргумент `/subsystem` для модуля `olecmdexec`, который позволяет выполнять команды с использованием подсистем OLE-автоматизации `CmdExec` или `PowerShell`. * Обновлены тестовые сценарии с учётом изменений в CLI и новых модулей. * Изменена аутентификация `AzureAD` на `EntraID`.
v3.6
  • Теперь поддерживается выполнение против нескольких серверов SQL, переданных в параметре /host или /h, с использованием разделения запятыми.
  • Теперь поддерживается выполнение против нескольких связанных серверов SQL, переданных в параметре /link или /l, с использованием разделения запятыми.
  • Изменён параметр /lhost на /link.
  • Удалены модули 's' и создан переключатель /s, /sccm для модулей SCCM.
  • Добавлена поддержка олицетворения для всех модулей SCCM, за исключением DecryptCredentials.
  • Добавлен новый модуль перечисления (/enum) под названием info, который может использовать неаутентифицированный контекст для получения информации о сервере SQL, включая имя экземпляра и TCP-порт, с помощью протокола UDP.
v3.5
  • Исправлена ошибка, при которой выполнение через связанные серверы adsi не удаляло LDAP-сервер.
  • Удалено выполнение заданий агента из связанного adsi в пользу openquery/rpc.
  • Изменён параметр /lhost на /adsi в модуле adsi.
  • Изменён параметр /rhost на /unc в модуле smb.
  • Удалён CaptureHash.cs, логика упрощена.
  • Удалён SetEnumerationType.cs, логика упрощена.
  • Impersonation.cs переименован в Impersonate.cs.
  • OleCmdExec.cs переименован в .
v3.4
  • Добавлена поддержка олицетворения для модуля smb.
  • Добавлена поддержка олицетворения для модуля info.
  • Добавлена поддержка связанных серверов для модуля info.
v3.3
  • Созданы модули rows, iRows и lRows.
  • Обновлён модуль sLogons — добавлен необязательный фильтр.
  • Исправлена ошибка, когда модули xp_cmdshell не выводили результат выполнения команды в консоль.
  • Очищено меню справки.
v3.2
  • Полный пересмотр синтаксиса аргументов командной строки.
  • Обновлены README, тестовые сценарии и вики новыми примерами.
  • Переработан разбор аргументов на основе перечисления и аутентификации.
  • Создан SetEnumerationType.cs.
  • Модуль перечисления domain переименован в SqlSpns.
v3.1
  • Изменён конструктор SetAuthenticationType.cs на новый метод EvaluateAuthenticationType.
  • Создан CreateSqlConnectionObject в SetAuthenticationType.cs, который расширяет поддержку нескольких одновременных объектов подключения к SQL.
  • Создан ADSI.cs, реализующий атаки на учётные данные ADSI, как описано здесь.
  • Созданы модули adsi, iAdsi и lAdsi.
  • Созданы модули lLinks и iLinks.
  • Обновлены README, тестовые сценарии и вики новыми примерами.
v3.0
  • Реализована проверка ошибок для несуществующих олицетворяемых пользователей.
  • Созданы ExecuteImpersonationQuery и ExecuteImpersonationCustomQuery.
  • Удалён Impersonate.cs.
  • Добавлен модуль checkRpc.
  • Добавлен модуль iCheckRpc.
  • Добавлен модуль lCheckRpc.
  • Переработаны модули SCCM.
  • Переработан разбор аргументов SCCM.
  • Команды в меню справки приведены к стилю CamelCase для удобства чтения.
  • Тесты обновлены новыми модулями.
v2.9
  • EnableDisable.cs переименован в ConfigureOptions.cs.
  • Полная переработка расширенных конфигураций опций.
  • Реализована проверка ошибок RPC везде, где вызывается ExecuteLinkedCustomQueryRpcExec.
v2.8
  • Создан PrintUtils.cs, реализующий класс для стандартизированного вывода.
  • TablePrinter перемещён из Help.cs в PrintUtils.cs.
  • Стандартизирован формат вывода для всего консольного вывода с использованием класса PrintUtils.
  • Изменены модификаторы доступа для классов и переменных классов.
  • Добавлена проверка на пустой результат для:
    • query
    • search
    • tables
    • lColumns
    • lQuery
    • lSearch
    • lTables
    • iColumns
v2.7
  • Изменена аутентификация Azure на AzureAD.
  • Создана аутентификация AzureLocal.
  • Добавлен модуль disableRpc.
  • Добавлен модуль enableRpc.
  • Добавлен модуль iEnableRpc.
  • Добавлен модуль iDisableRpc.
  • Удалён модуль lEnableRpc.
  • Удалён модуль lDisableRpc.
  • Тесты обновлены новыми модулями.
v2.6.1
  • Исправлены ошибки в lAgentCmd.
  • Исправлена стабильность clr, iClr и lClr путём использования SqlCommand.ExecuteNonQuery при создании хранимой процедуры.
  • Исправлена ошибка в lClr, когда не удалялись созданные сборки или хранимые процедуры.
v2.6
  • Добавлен модуль columns.
  • Добавлен модуль iColumns.
  • Добавлен модуль iDatabases.
  • Добавлен модуль iSearch.
  • Добавлен модуль iTables.
  • Добавлен модуль lColumns.
  • Добавлен модуль lSearch.
v2.5
  • Исправлены различные ошибки в модулях SCCM.
  • Меню справки организовано в виде таблицы.
  • Улучшен вывод от ExecuteLinkedCustomQueryRpcExec.
  • Улучшены комментарии в коде по всему проекту.
  • Улучшена согласованность имён методов в функциях выполнения команд.
  • Улучшена модульность за счёт лучшего использования объектно-ориентированного программирования.
  • Флаг пользовательского порта SQL Server изменён на x.
  • Random.cs перемещён в каталог utilities.
  • Стиль вывода стандартизирован для единообразия во всех модулях.
  • Созданы стандартные тестовые сценарии, для олицетворения и для связанных серверов.
v2.4
  • Изменена аутентификация Windows на WinToken.
  • Создана аутентификация WinDomain, использующая доменные имя пользователя и пароль AD для аутентификации через олицетворение. См. Impersonation.cs.
  • Переработан разбор и обработка аргументов в ArgumentLogic.cs, SQLAuthentication.cs и ModuleHandler.cs.
  • ModuleHandler.cs больше не использует громоздкий if/else if/else для выполнения модулей. Вместо этого теперь используется рефлексия для вызова методов, соответствующих именам команд модулей.
  • Добавлен каталог commands, содержащий глобальные переменные, используемые во всей программе.
  • Все поставщики аутентификации объединены в SQLAuthentication.cs.
  • Разбор аргументов перенесён из Program.cs в ArgumentLogic.cs.
v2.3
  • Добавлена функциональность SCCM.
  • Добавлены модули SCCM, которые можно выполнять с помощью команды sccm.
  • Исправлена проверка статуса RPC на связанных серверах SQL.
  • Добавлена возможность загрузки сборок .NET через HTTP/S.
v2.2
  • Расширен перечень ролей, запрашиваемых в модулях roles, iRoles и lRoles.
  • Созданы модули users, iUsers и lUsers.
  • Исправлена ошибка, когда хэш не удалялся из sp_drop_trusted_assembly в модулях clr и iClr.
  • Создан модуль lAgentCmd.
  • Создан модуль lClr.
v2.1.6
  • Добавлен модуль info.
  • Исправления в меню справки.
  • Решены проблемы с обязательными аргументами при аутентификации Local и Azure.
v2.1.5
  • Добавлен модуль для перечисления доменных SPN (-e domain).
v2.1.4
  • Исправлена незначительная проблема с форматированием строк.
v2.1.3
  • Добавлен флаг -r в режимы аутентификации Windows и Local, чтобы можно было указать нестандартные TCP-порты.
v2.1.2
  • Улучшена логика обработки пустых строк подключения.
v2.1.1
  • Убрано Environment.Exit из TestAuthentication.cs.
v2.1
  • Создан AgentJobs.cs.
  • Создан agentStatus.
  • Создан iAgentStatus.
  • Создан lAgentStatus.
  • Создан agentCmd.
  • Создан iAgentCmd.
v2.0
  • Создан clr.
  • Создан iEnableClr.
  • Создан iDisableClr.
  • Создан iClr.
  • Создан iWhoami.
  • Создан iMapped.
  • Создан iRoles.
  • Создан lEnableRpc.
  • Создан lDisableRpc.
  • Создан lWhoami.
  • Создан lEnableXp.
  • Создан lDisableXp.
  • Создан lEnableOle.
  • Создан lDisableOle.
v1.2
  • Создан модуль lSmb.
  • Создан модуль lWhoami.
  • Создан модуль lRoles.
v1.1
  • Исправлен модуль oldCmd.
  • Исправлен модуль iOleCmd.
  • Исправлен модуль lDatabases.
  • Исправлен модуль lTables.
  • Очищена кодовая база.
  • Исправлены несоответствия в меню справки.
Скачать инструмент
Verbose
/v, /verbose
вики
Имя модуляОписаниеИмперсонацияВыполнение через связанный серверЦепное выполнениеТребует привилегированный контекст
AuditStatusПроверить, включён ли аудит SQL.✅✅✅❎
CheckRpcПолучить список связанных серверов и их статус RPC.✅✅✅❎
DatabasesОтобразить все базы данных.✅✅✅❎
ImpersonateПеречислить учётные записи, которые можно имперсонировать.✅✅✅❎
InfoПоказать информацию о SQL-сервере.✅✅✅❎
LinksПеречислить связанные SQL-серверы.✅✅✅❎
UsersОтобразить, какие учётные записи и группы могут проходить аутентификацию в базе данных.✅✅✅❎
WhoamiОтобразить ваши привилегии.✅✅✅❎
Query /c:QUERYВыполнить SQL-запрос.✅✅✅❎
Smb /unc:UNC_PATHЗахватить хэш NetNTLMv2.✅✅✅❎
Columns /db:DATABASE /table:TABLEОтобразить все столбцы в указанной базе данных и таблице.✅✅✅❎
Rows /db:DATABASE /table:TABLEОтобразить количество строк в указанной таблице базы данных.✅✅✅❎
Search /keyword:KEYWORDПоиск имён столбцов в указанной таблице базы данных, к которой вы подключены.✅✅✅❎
Tables /db:DATABASEОтобразить все таблицы в указанной базе данных.✅✅✅❎
EnableRpc /rhost:LINKED_HOSTВключить RPC и RPC out на связанном сервере.✅❌❌✔️
EnableClrВключить интеграцию CLR.✅✅✅✔️
EnableOleВключить процедуры автоматизации OLE.✅✅✅✔️
EnableXpВключить xp_cmdshell.✅✅✅✔️
DisableRpc /rhost:LINKED_HOSTОтключить RPC и RPC out на связанном сервере.✅❌❌✔️
DisableClrОтключить интеграцию CLR.✅✅✅✔️
DisableOleОтключить процедуры автоматизации OLE.✅✅✅✔️
DisableXpОтключить xp_cmdshell.✅✅✅✔️
AgentStatusОтобразить, запущен ли агент SQL, и получить задания агента.✅✅✅✔️
AgentCmd /c:COMMAND /subsystem:(OPTIONAL) /proxy:(OPTIONAL)Выполнить системную команду, используя задания агента. Опционально укажите подсистему с помощью /subsystem:, по умолчанию 'PowerShell'. Опционально укажите учётную запись прокси агента SQL с помощью /proxy:.✅✅✅✔️
Adsi /adsi:SERVER_NAME /lport:LOCAL_PORTПолучить учётные данные ADSI в открытом виде со связанного сервера ADSI.✅✅✅✔️
Clr /dll:DLL /function:FUNCTIONЗагрузить и выполнить сборку .NET в пользовательской хранимой процедуре.✅✅✅✔️
CredentialObjectsПолучить объекты учётных данных из sys.credentials.✅✅✅✔️
OleCmd /c:COMMAND /subsystem:(OPTIONAL)Выполнить системную команду, используя процедуры автоматизации OLE.✅✅✅✔️
ProxiesПолучить информацию о прокси агента SQL.✅✅✅✔️
XpCmd /c:COMMANDВыполнить системную команду, используя xp_cmdshell.✅✅✅✔️
Имя модуляОписаниеИмперсонацияТребует привилегированный контекст
UsersОтобразить всех пользователей SCCM.✅❎
SitesОтобразить все другие сайты с хранящимися данными.✅❎
LogonsОтобразить все связанные клиенты SCCM и последнего вошедшего пользователя.✅❎
CredentialsОтобразить зашифрованные учётные данные, хранящиеся в SCCM.✅❎
TaskListОтобразить все последовательности задач, но не обращаться к содержимому данных задач.✅❎
TaskDataРасшифровать все последовательности задач в открытый текст.✅❎
DecryptCredentialsРасшифровать большой двоичный объект учётных данных SCCM. Должен выполняться в процессе с высоким уровнем целостности или SYSTEM на сервере SCCM.❌✔️
AddAdmin /user:DOMAIN\USERNAME /sid:SIDПовысить указанную учётную запись до 'Full Administrator' в SCCM.✅✔️
RemoveAdmin /user:ADMIN_ID /remove:STRINGУдалить привилегии пользователя или полностью удалить пользователя из базы данных SCCM.✅✔️
ScriptDataВозвращает все скрипты, настроенные для запуска в SCCM.✅✔️
CIDataВозвращает все CI, настроенные для запуска скриптов в SCCM.✅✔️
  • Модуль DecryptCredentials пытается расшифровать извлечённые большие двоичные объекты учётных данных SCCM. Этот модуль должен запускаться в процессе с высоким уровнем целостности или SYSTEM на сервере SCCM.
  • Модуль AddAdmin повышает указанную учётную запись до 'Full Administrator' в SCCM. Если целевой пользователь уже является пользователем SCCM, этот модуль вместо этого добавит необходимые привилегии для повышения. Укажите два аргумента: либо /user:current /sid:current, если вы хотите добавить пользователя, который в данный момент выполняет процесс SQLRecon, как 'Full Administrator' в SCCM. Если вы хотите добавить другого пользователя как 'Full Administrator' в SCCM, укажите его доменное имя пользователя и полный SID: /user:DOMAIN\USERNAME /sid:S-1-5-.... Этот модуль требует привилегий sysadmin или аналогичных, так как требуется запись в таблицы базы данных SCCM.
  • Модуль RemoveAdmin удаляет привилегии пользователя, полностью удаляя недавно добавленного пользователя из базы данных SCCM. Если пользователь уже существовал в каком-либо качестве, этот модуль просто удаляет три роли, которые были добавлены учётной записи через записи в таблице разрешений. Используйте аргументы, предоставленные выводом команды sAddAdmin, для запуска этой команды. Этот модуль требует привилегий sysadmin или аналогичных, так как требуется запись в таблицы базы данных SCCM.
  • Логика аргументов перенесена в отдельные методы внутри ModuleHandler.cs для упрощения и расширяемости.
  • Все SQL-запросы перенесены в Queries.cs.
  • Создан EnumerationModules.cs.
  • Создан FormatQuery.cs.
  • Создан SccmModules.cs.
  • ModuleHandler.cs переименован в SqlModules.cs.
  • OleAutomation.cs
  • PrintUtils.cs переименован в Print.cs.
  • SQLServerInfo.cs переименован в Info.cs.
  • iQuery
  • iSearch
  • Значительное тестирование надёжности и функциональности всех поставщиков аутентификации и модулей.
  • Удалён каталог authentication.
  • Стиль кода изменён в соответствии с руководством по стилю кода C#/.NET от Microsoft](https://learn.microsoft.com/ru/dotnet/csharp/fundamentals/coding-style/coding-conventions).
  • Help.cs преобразован из метода в конструктор.
  • CaptureHash.cs преобразован из метода в конструктор.
  • Impersonate.cs преобразован из метода в конструктор.
  • Полный рефакторинг кодовой базы.
  • Создан lEnableClr.
  • Создан lDisableClr.
  • Создан lXpCmd.
  • Создан lXpOle.
  • Создан Random.cs.
  • Создан EnableDisable.cs.
  • Реализованы случайно генерируемые имена сборок для clr.
  • Реализованы случайно генерируемые имена переменных и методов для ole.
  • Модули mapped и roles объединены в whoami.
  • Модули lMapped и lRoles объединены в lWhoami.
  • Модули iMapped и iRoles объединены в iWhoami.
  • Полный рефакторинг кодовой базы.