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

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

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

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

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

Категории

Все категории
Loading categories
SQLRecon — Набор инструментов C# для MS SQL, предназначенный для наступательной разведки и пост-эксплуатации. | Kitploit
Инструменты/GitHubGitHub/xforcered/sqlrecon
Повышение привилегийРазведкаАтаки на ПаролиЭксплуатацияЛатеральное перемещениеПост-эксплуатацияТестирование на ПроникновениеRed TeamingБезопасность Баз Данных
GitHubxforcered/sqlrecon

SQLRecon

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

3993891 год назадПроверено 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.

Поставщики аутентификации - дополнительные сведения

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

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

Модули SQL

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

Модули SQL - Стандартные

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

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

Модули SQL - Олицетворение

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

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

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

Модули SQL - Связанные

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

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

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

Модули SQL - Цепочка связанных серверов

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

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

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

Модули 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:).

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

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

Расширение SQLRecon

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

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

Дорожная карта

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

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

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

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

  • Adam Chester (xpn)
  • Azaël Martin (n3rada)
  • Daniel Duggan (rasta-mouse)
  • Dave Cossa (G0ldenGunSec)
  • Dwight Hohnstein (djhohnstein)
  • Joshua Magri (passthehashbrowns)

История

v3.9
  • Добавлены базы данных, к которым у пользователя есть доступ, в модуль whoami (JBalanza).
  • Исправлена проблема в модуле adsi, из-за которой сервер LDAP не нужно было добавлять в базу данных msdb; также создаваемая функция теперь корректно удаляется.
  • Исправлена проблема, из-за которой RPC-запросы с оператором AT завершались ошибкой на целевом сервере, если указанное имя узла является FQDN.
  • Обновлён README.
  • Обновлена Wiki.
v3.8
  • Добавлена логика для поддержки выполнения сборок CLR на SQL Server 2016 и ниже. Это для модуля clr. Выполнение поддерживается во всех контекстах.
  • Добавлена логика для загрузки сборки CLR сервера LDAP на SQL Server 2016 и ниже. Это для модуля adsi. Выполнение поддерживается во всех контекстах.
  • Обновлён README.
  • Обновлена Wiki.
v3.7
  • Полный рефакторинг кодовой базы.
  • Обновлена документация (комментарии в коде, README и wiki).
  • Выполнение против цепочки связанных SQL-серверов. Например, если SQL01 имеет связь с SQL02, SQL02 имеет связь с SQL03, а SQL03 имеет связь с PAYMENTS01. Теперь можно выполнять команды из SQL01 на PAYMENTS01, используя цепочку связанных серверов (/link:SQL02,SQL03,PAYMENTS01 /chain). Заслуга Azaël Martin (n3rada).
  • Удалены модули 'l' и 'i', и добавлена логика контекста, чтобы имена модулей могли быть одинаковыми для стандартного, олицетворённого, связанного и цепочечного выполнения.
  • Добавлена поддержка цепочек для всех связанных модулей.
  • Добавлена поддержка отладки (/debug), которая отображает различную отладочную информацию и все SQL-запросы, которые будут выполнены модулем, без их выполнения.
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, тестовые примеры и wiki новыми примерами.
  • Переработан разбор аргументов на основе перечисления и аутентификации.
  • Создан SetEnumerationType.cs.
  • Модуль перечисления domain изменён на SqlSpns.
v3.1* Изменён конструктор `SetAuthenticationType.cs` на новый метод `EvaluateAuthenticationType`. * Создан `CreateSqlConnectionObject` в `SetAuthenticationType.cs`, расширяющий SQLRecon для поддержки нескольких одновременных объектов SQL-подключения. * Создан `ADSI.cs`, включающий ADSI-атаки с учётными данными, как описано [здесь](https://www.tarlogic.com/blog/linked-servers-adsi-passwords/). * Созданы модули `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.
  • Удалён модуль lDisbleRpc.
  • Обновлены тесты с новыми модулями.
v2.6.1
  • Исправления ошибок lAgentCmd.
  • Исправлена стабильность clr, iClr и lClr за счёт использования SqlCommand.ExecuteNonQuery при создании хранимой процедуры.
  • Исправлена ошибка lClr, из-за которой не удалялись созданные сборки и хранимые процедуры.
v2.6
  • Добавлен модуль columns.
  • Добавлен модуль iColumns.
  • Добавлен модуль iDatabases.
  • Добавлен модуль iSearch.
  • Добавлен модуль iTables.
  • Добавлен модуль lColumns.
  • Добавлен модуль lSearch.
v2.5
  • Исправлены различные ошибки в модулях SCCM.
  • Меню справки организовано в виде таблицы.
  • Улучшен вывод, предоставляемый ExecuteLinkedCustomQueryRpcExec.
  • Улучшено комментирование кода по всей программе.
  • Повышена согласованность имён методов в функциях выполнения команд.
  • Повышена модульность за счёт лучшего использования объектно-ориентированного программирования.
  • Флаг пользовательского порта SQL-сервера изменён на 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
  • Улучшена логика обработки null-строк подключения.
v2.1.1
  • Удалён Environment.Exit из TestAuthentication.cs.
v2.1
  • Создан AgentJobs.cs.
  • Создан agentStatus.
  • Создан iAgentStatus.
  • Создан lAgentStatus.
  • Создан agentCmd.
  • Создан iAgentCmd.
v2.0
  • Создан clr.
  • Создан iEnableClr.
  • Создан iDisbleClr.
  • Создан iClr.
  • Создан iWhoami.
  • Создан iMapped.
  • Создан iRoles.
  • Создан lEnableRpc.
  • Создан lDisableRpc.
  • Создан lWhoai.
  • Создан lEnableXp.
  • Создан lDisableXp.
  • Создан lEnableOle.
  • Создан lDisableOle.
v1.2
  • Создан модуль lSmb.
  • Создан модуль lWhoami.
  • Создан модуль lRoles.
v1.1
  • Исправлен модуль oldCmd.
  • Исправлен модуль iOleCmd.
  • Исправлен модуль lDatabases.
  • Исправлен модуль lTables.
  • Выполнена очистка кодовой базы.
  • Исправлены несоответствия в меню справки.
Скачать инструмент
  • Подробный вывод: Флаг /v, /verbose необязателен и отображает все SQL-запросы, которые модуль выполняет перед их выполнением на удалённом(ых) узле(ах). Пример можно найти в wiki.
  • Имя модуляОписаниеОлицетворениеВыполнение на связанном сервереВыполнение в цепочке связанных серверовТребуется привилегированный контекст
    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 на связанном сервере.✅❌❌✔️
    EnableClrВключить интеграцию CLR.✅✅✅✔️
    EnableOleВключить процедуры автоматизации OLE.✅✅✅✔️
    EnableXpВключить xp_cmdshell.✅✅✅✔️
    DisableRpc /rhost:LINKED_HOSTОтключить RPC и исходящий RPC на связанном сервере.✅❌❌✔️
    DisableClrОтключить интеграцию CLR.✅✅✅✔️
    DisableOleОтключить процедуры автоматизации OLE.✅✅✅✔️
    DisableXpОтключить xp_cmdshell.✅✅✅✔️
    AgentStatusОтобразить, запущен ли агент SQL, и получить задания агента.✅✅✅✔️
    AgentCmd /c:COMMANDВыполнить системную команду с помощью заданий агента.✅✅✅✔️
    Adsi /adsi:SERVER_NAME /lport:LOCAL_PORTПолучить учётные данные ADSI в открытом виде с связанного сервера ADSI.✅✅✅✔️
    Clr /dll:DLL /function:FUNCTIONЗагрузить и выполнить сборку .NET в пользовательской хранимой процедуре.✅✅✅✔️
    OleCmd /c:COMMAND /subsystem:(OPTIONAL)Выполнить системную команду с помощью процедур автоматизации OLE.✅✅✅✔️
    XpCmd /c:COMMANDВыполнить системную команду с помощью xp_cmdshell.✅✅✅✔️
    Имя модуляОписаниеОлицетворениеТребуется привилегированный контекст
    UsersОтобразить всех пользователей SCCM.✅❎
    SitesОтобразить все остальные сайты с сохранёнными данными.✅❎
    LogonsОтобразить все связанные клиенты SCCM и последнего вошедшего пользователя.✅❎
    CredentialsОтобразить зашифрованные учётные данные, хранящиеся в SCCM.✅❎
    TaskListОтобразить все последовательности задач, но не обращаться к содержимому данных задач.✅❎
    TaskDataРасшифровать все последовательности задач в открытый текст.✅❎
    DecryptCredentialsРасшифровать большой двоичный объект (blob) учётных данных SCCM. Должен выполняться в процессе с высоким уровнем целостности или SYSTEM на сервере SCCM.❌✔️
    AddAdmin /user:DOMAIN\USERNAME /sid:SIDПовысить указанную учётную запись до уровня «Полный администратор» в SCCM.✅✔️
    RemoveAdmin /user:ADMIN_ID /remove:STRINGУдаляет привилегии пользователя или полностью удаляет пользователя из базы данных SCCM.✅✔️
  • Модуль DecryptCredentials пытается расшифровать восстановленные большие двоичные объекты (blob) учётных данных SCCM. Этот модуль должен запускаться в процессе с высоким уровнем целостности или SYSTEM на сервере SCCM.
  • Модуль AddAdmin повышает указанную учётную запись до уровня «Полный администратор» в SCCM. Если целевой пользователь уже является пользователем SCCM, этот модуль вместо этого добавит необходимые привилегии для повышения. Укажите два аргумента: либо /user:current /sid:current, если вы хотите добавить пользователя, который в данный момент выполняет процесс SQLRecon, как «Полного администратора» в SCCM. Если вы хотите добавить другого пользователя как «Полного администратора» в SCCM, укажите его доменное имя пользователя и полный SID /user:DOMAIN\USERNAME /sid:S-1-5-.... Этот модуль требует привилегий sysadmin или аналогичных, так как требуется запись в таблицы базы данных SCCM.
  • Модуль RemoveAdmin удаляет привилегии пользователя, полностью удаляя недавно добавленного пользователя из базы данных SCCM. Если пользователь уже существовал в каком-либо качестве, этот модуль просто удаляет три роли, которые были добавлены учётной записи через записи в таблицу разрешений. Используйте аргументы, предоставленные выводом команды sAddAdmin, для выполнения этой команды. Этот модуль требует привилегий sysadmin или аналогичных, так как требуется запись в таблицы базы данных SCCM.
  • Добавлен подробный вывод (/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.
  • Обновлены тестовые стенды (test harnesses) для отражения изменений CLI и новых модулей.
  • Изменена аутентификация AzureAD на EntraID.
  • Логика аргументов перенесена в отдельные методы в 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.
  • 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.
  • Выполнен рефакторинг всей кодовой базы.