
Набор инструментов C# для MS SQL, предназначенный для наступательной разведки и пост-эксплуатации.
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.
# Провайдеры аутентификации
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.
/h:, host:) является обязательным и позволяет указать один или несколько SQL-серверов. Если вы хотите выполнить модуль на нескольких SQL-серверах, разделите узлы запятыми, например /h:SQL01,10.10.10.2,SQL03.master, однако это можно изменить, указав собственное имя базы данных через флаг database (/database:)./debug необязателен и отображает все SQL-запросы, которые выполняются модулем, без их фактического выполнения на удалённом(ых) узле(ах). Пример можно найти в wiki.1433, однако это можно изменить с помощью флага /port:.3 секунды, однако это значение можно изменить, указав значение тайм-аута (/t:, /timeout:), которое соответствует количеству секунд до завершения попытки подключения./v, /verbose необязателен и отображает все SQL-запросы, которые модуль выполняет перед их выполнением на удалённом(ых) узле(ах). Пример можно найти в wiki.Обратите внимание, что поставщик аутентификации EntraID требует, чтобы на системе, с которой выполняется SQLRecon, присутствовала библиотека аутентификации Azure Active Directory (ADAL) или библиотека аутентификации Microsoft (MSAL). Это необходимо для функциональности аутентификации и авторизации Azure EntraID.
Модули SQL выполняются на одном или нескольких экземплярах Microsoft SQL Server. Эти модули должны передаваться через флаг module (/m:, /module:).