
Um kit de ferramentas C# para MS SQL projetado para reconhecimento ofensivo e pós-exploração.
SQLRecon é um kit de ferramentas para Microsoft SQL Server projetado para reconhecimento ofensivo e pós-exploração. Para informações detalhadas sobre como usar cada técnica, consulte a wiki.
Você pode baixar uma cópia do SQLRecon na página de releases. Alternativamente, sinta-se à vontade para compilar a solução você mesmo. Isso deve ser tão simples quanto clonar o repositório, clicar duas vezes no arquivo da solução e compilar.
Orientações de prevenção, detecção e mitigação também foram fornecidas para todos vocês, defensores.
Confira minha postagem no site IBM Security Intelligence. Se preferir vídeos, confira minha apresentação na Black Hat.
Os Módulos de Enumeração não exigem que um provedor de autenticação seja fornecido. Esses módulos devem ser passados para a flag de módulo de enumeração (/e:, /enum:). A wiki tem detalhes sobre como usar módulos de enumeração.```
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.
# Provedores de Autenticação
SQLRecon suporta um conjunto diversificado de provedores de autenticação (`/a:, /auth:`) para permitir a interação com um 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:) é obrigatória e permite um ou mais servidores SQL. Se você quiser executar um módulo contra vários servidores SQL, separe os hosts com vírgula, por exemplo /h:SQL01,10.10.10.2,SQL03.master por padrão; no entanto, isso pode ser alterado opcionalmente fornecendo um nome de banco de dados personalizado por meio da flag de banco de dados (/database:)./debug é opcional e exibe todas as consultas SQL executadas por um módulo, sem realmente executá-las no(s) host(s) remoto(s). Um exemplo disso pode ser encontrado na wiki.1433 por padrão; no entanto, isso pode ser alterado opcionalmente usando a flag /port:.3 segundos; no entanto, esse valor pode ser alterado opcionalmente fornecendo um valor de timeout (/t:, /timeout:), que corresponde ao número de segundos antes de encerrar a tentativa de conexão./v, /verbose é opcional e exibe todas as consultas SQL executadas por um módulo antes de executá-las no(s) host(s) remoto(s). Um exemplo disso pode ser encontrado na wiki.Observe que o provedor de autenticação EntraID exige que a Biblioteca de Autenticação do Azure Active Directory (ADAL) ou a Biblioteca de Autenticação da Microsoft (MSAL) exista no sistema a partir do qual o SQLRecon é executado. Isso é para a funcionalidade de autenticação e autorização do Azure EntraID.
Os módulos SQL são executados contra uma ou mais instâncias do Microsoft SQL Server. Esses módulos devem ser passados para a flag de módulo (/m:, /module:).