Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SQLRecon — Um kit de ferramentas C# para MS SQL projetado para reconhecimento ofensivo e pós-exploração. | Kitploit
Ferramentas/GitHubGitHub/skahwah/sqlrecon
ReconhecimentoExploraçãoColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoAutenticaçãoRed TeamingSegurança de Banco de Dados
GitHubskahwah/sqlrecon

SQLRecon

Um kit de ferramentas C# para MS SQL projetado para reconhecimento ofensivo e pós-exploração.

Ver Repositório
8141295há 2 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

  licence badge wiki Badge stars badge forks badge issues badge

SQLRecon

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.

Guia de prevenção, detecção e mitigação também foi fornecido para todos os defensores de plantão.

Confira meu artigo no site IBM Security Intelligence. Se preferir vídeos, veja minha apresentação no Black Hat.

Módulos de Enumeração

Os Módulos de Enumeração não requerem 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 o uso de 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.

root@kitploit:~
# Provedores de Autenticação

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.

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.

Fornecedores de Autenticação - Detalhes Adicionais

  • Hosts: O sinalizador de host (/h:, host:) é obrigatório e permite um ou mais servidores SQL. Se quiser executar um módulo em vários servidores SQL, separe os hosts com vírgula, por exemplo /h:SQL01,10.10.10.2,SQL03.
  • Base de Dados: O SQLRecon liga-se à base de dados master por predefinição, no entanto, isto pode ser alterado opcionalmente fornecendo um nome de base de dados personalizado através do sinalizador de base de dados (/database:).
  • Depuração: O sinalizador /debug é opcional e exibe todas as consultas SQL que são executadas por um módulo, sem realmente executá-las no(s) anfitrião(ões) remoto(s). Um exemplo disto pode ser encontrado na wiki.
  • Porta: Em alguns casos, um Microsoft SQL Server pode não estar à escuta numa porta TCP padrão. Alguns exemplos são clustering de failover do Microsoft SQL Server, ou portas TCP dinâmicas. O SQLRecon liga-se a bases de dados através da porta TCP 1433 por predefinição, no entanto, isto pode ser alterado opcionalmente usando o sinalizador /port:.
  • Tempo Limite: O tempo de ligação predefinido à base de dados SQL é de 3 segundos, no entanto, este valor pode ser alterado opcionalmente fornecendo um valor de tempo limite (/t:, /timeout:) que corresponde ao número de segundos antes de terminar a tentativa de ligação.

Tenha em atenção que o fornecedor de autenticação EntraID requer que a Azure Active Directory Authentication Library (ADAL) ou a Microsoft Authentication Library (MSAL) exista no sistema a partir do qual o SQLRecon é executado. Isto é para funcionalidade de autenticação e autorização do Azure EntraID.

Módulos SQL

Os módulos SQL são executados contra uma ou mais instâncias do Microsoft SQL Server. Estes módulos devem ser passados para o sinalizador de módulo (/m:, /module:).

Módulos SQL - Padrão

O sinalizador de host (/h:, host:) é obrigatório e permite um ou mais servidores SQL. Se quiser executar um módulo em vários servidores SQL, separe os hosts com vírgula, por exemplo /h:SQL01,10.10.10.2,SQL03.

A wiki tem detalhes sobre como usar cada módulo que suporta execução numa ou mais instâncias do SQL Server.

Módulos SQL - Impersonação

Os módulos de impersonação são executados contra uma ou mais instâncias do Microsoft SQL Server, no contexto de um utilizador SQL impersonado. Todos os módulos de impersonação têm os seguintes requisitos mínimos:

  • Um utilizador de impersonação deve ser especificado (/i:, /iuser:).
  • Um módulo que suporte impersonação deve ser especificado (/m:, /module:).

A wiki tem detalhes sobre como usar cada módulo que suporta execução usando Impersonação.

Módulos SQL - Ligados

Os módulos ligados são executados numa ou mais instâncias de um Microsoft SQL Server ligado. Todos os módulos ligados têm os seguintes requisitos mínimos:

  • Um servidor SQL ligado deve ser especificado (/l:, /link:). O sinalizador de ligação permite um ou mais servidores SQL ligados. Por exemplo, se SQL01 tem uma ligação a SQL02, e SQL01 tem uma ligação a DB04, pode separar os hosts ligados com uma vírgula, e um módulo será executado em cada servidor SQL ligado, por exemplo /l:SQL02,DB04.
  • Um módulo que suporte execução ligada deve ser especificado (/m:, /module:).

A wiki tem detalhes sobre como usar cada módulo que suporta execução numa ou mais instâncias de um SQL Server Ligado.

Módulos SQL - Cadeia Ligada

Os módulos de cadeia ligada são executados no servidor Microsoft SQL final numa cadeia de servidores ligados. Todos os módulos de cadeia ligada têm os seguintes requisitos mínimos:

  • Uma cadeia de servidores SQL ligados deve ser especificada no sinalizador /l:, /link:. Se SQL01 tem uma ligação a SQL02, e SQL02 tem uma ligação a PAYMENTS01, e pretende executar um módulo em PAYMENTS01, então o argumento seria /l:SQL02,PAYMENTS01.
  • O sinalizador /chain deve ser incluído para executar o módulo contra o servidor SQL final na cadeia ligada fornecida.
  • Um módulo que suporte execução em cadeia ligada deve ser especificado (/m:, /module:).

A wiki tem detalhes sobre como usar cada módulo que suporta execução no servidor SQL final fornecido numa Cadeia de Servidores SQL Ligados.

Módulos SCCM

O SQLRecon tem vários módulos que podem ajudar na enumeração e ataque ao Microsoft System Center Configuration Manager (SCCM) e ao Microsoft Endpoint Configuration Manager (ECM). O servidor SCCM ou ECM precisará de ter uma base de dados Microsoft SQL exposta local ou remotamente.

Os módulos SCCM devem ser passados para o sinalizador de módulo SCCM (/s:, /sccm:).

A maioria dos módulos SCCM pode ser executada no contexto de um utilizador SQL impersonado (/i:, /iuser:).

A wiki tem detalhes sobre como usar cada módulo contra uma base de dados SCCM/ECM.

Módulos SCCM - Detalhes Adicionais
  • O módulo Users lista todos os utilizadores na tabela RBAC_Admins. Estes são todos os utilizadores configurados com algum nível de acesso ao SCCM.
  • O módulo Sites lista todos os outros sites com dados armazenados na tabela DPInfo das bases de dados SCCM. Isto pode fornecer vias de ataque adicionais, uma vez que diferentes sites podem ser configurados de formas diferentes (inseguras).
  • O módulo Logons consulta a tabela Computer_System_DATA para recuperar todos os clientes SCCM associados juntamente com o utilizador que iniciou sessão neles pela última vez. NOTA: Isto só é atualizado uma vez por semana por predefinição e não estará 100% atualizado. Use /option: como um argumento opcional (não obrigatório) para filtrar clientes SCCM.
  • O módulo TaskList fornece uma lista de todas as sequências de tarefas armazenadas na base de dados SCCM, mas não acede ao conteúdo real dos dados da tarefa.
  • O módulo TaskData recupera todas as sequências de tarefas armazenadas na base de dados SCCM e desencripta-as para texto claro. As sequências de tarefas podem conter credenciais para associar sistemas a domínios, mapear partilhas, executar comandos, etc.
  • O módulo Credentials lista credenciais guardadas pelo SCCM para uso em várias funções. Estas credenciais não podem ser desencriptadas remotamente, pois a chave está armazenada no servidor SCCM. No entanto, este módulo fornece informações sobre se faz sentido tentar obter a chave.

A Expandir o SQLRecon

Se estiver interessado em expandir o SQLRecon, consulte a secção de contribuição e expansão na wiki.

Encorajo-o a abrir uma issue se tiver sugestões ou ideias.

Roteiro

O objetivo é melhorar continuamente o SQLRecon. Abaixo estão listadas algumas áreas de investigação planeadas:

  • Implementar suporte para autenticação baseada em hash NTLM.
  • Explorar funcionalidades enablerpc/disablerpc para servidores SQL ligados e em cadeia ligada.

Créditos

As seguintes pessoas contribuíram direta ou indiretamente para vários aspetos do 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)

Histórico

v4.0
  • Adicionado fornecedor de autenticação NTLM pass-the-hash (/auth:pth). Implementa autenticação TDS/NTLM raw via PTHTdsConnection, NtlmHelper e PthState para que todos os módulos funcionem sem credenciais em texto claro ou privilégios elevados. As correções principais incluem opções de sessão ANSI pós-login, divisão TDS multi-packet, tratamento de deadlock de fluxo TCP para conexões CLR concorrentes e compatibilidade com notação de colchetes OPENQUERY.
  • Correções de bugs em módulos de impersonação.
  • Correções de bugs em módulos adsi.
  • Correções de bugs em módulos ole.
  • Correções de bugs em _linkedChainRpcQuery
  • Corrigido um problema de longa data onde System.Byte[] nunca era convertido e exibido corretamente na consola.
  • Adicionados módulos credentialobjectss e proxies (jakxx).
  • Atualizado README.md
  • Atualizada Wiki
v3.12
  • Adicionado suporte de proxy ao agentcmd (jakxx).
  • Resolvida enumeração de role que não funcionava corretamente em cadeia ligada (passthehashbrowns).
  • Resolvido módulo impersonate que não funcionava corretamente em cadeia ligada (passthehashbrowns).
  • Resolvido EnableRpc/DisableRpc que não estavam disponíveis em cadeias ligadas (passthehashbrowns).
  • Resolvido módulo XpCmd que não funcionava em cadeias ligadas, agora também suporta saída (passthehashbrowns).
  • Resolvidos problemas onde nomes de servidores ligados que contêm um caractere '.' causavam problemas quando usados em consultas EXEC AT a menos que envolvidos por colchetes, o que causa problemas se o nome do servidor ligado for um endereço IP ou um FQDN (passthehashbrowns).
  • Feitos pequenos ajustes na lógica para construir uma consulta de cadeia de servidores ligados. A lógica existente usa recursão e o caso base espera um "0" como primeiro elemento do array, mas isso causa comportamento não intuitivo ao desenvolver módulos onde é necessário iterar sobre a cadeia ligada, como a função .First devolver um "0". Atualizei para que a função LinkedChainQuery crie um novo array com um "0" à frente e depois chame a lógica existente numa função separada, agora chamada (passthehashbrowns).
v3.11
  • Adicionada funcionalidade para permitir desencriptar credenciais guardadas em sites configurados para Alta Disponibilidade (com servidores ativos + passivos).
v3.10
  • Corrigido um problema no módulo impersonate para lidar corretamente com casos de sysadmin (n3rada).
  • Implementados dois novos módulos SCCM: scriptdata e cidata (G0ldenGunSec).
  • Otimizados tempos de carregamento e execução de DLL CLR (chryzsh).
  • Criado o módulo auditstatus para verificar se a auditoria SQL está implementada (chryzsh).
  • Atualizados Casos de Teste.
  • Atualizado README.
  • Atualizada Wiki.
v3.9
  • Adicionadas bases de dados às quais o utilizador tem acesso no módulo whoami (JBalanza).
  • Corrigido um problema no módulo adsi onde o servidor LDAP não precisava de ser adicionado à base de dados msdb, e a função criada agora é eliminada corretamente.
  • Corrigido um problema onde consultas RPC que têm uma instrução AT falham no servidor de destino se o nome do anfitrião fornecido for um FQDN.
  • Atualizado README.
  • Atualizada Wiki.
v3.8
  • Adicionada lógica para suportar a execução de assemblies CLR no SQL Server 2016 e anteriores. Isto é para o módulo clr. Execução suportada em todos os contextos.
  • Adicionada lógica para carregar um assembly CLR de servidor LDAP no SQL Server 2016 e anteriores. Isto é para o módulo adsi. Execução suportada em todos os contextos.
  • Atualizado README.
  • Atualizada Wiki.
v3.7* Reestruturação completa da base de código. * Documentação atualizada (comentários no código, README e wiki). * Execução contra uma cadeia de servidores SQL vinculados. Por exemplo, se `SQL01` tem um link para `SQL02`, e `SQL02`, tem um link para `SQL03`, e `SQL03`, tem um link para `PAYMENTS01`. Agora é possível executar comandos de `SQL01` em `PAYMENTS01` usando a cadeia de servidores vinculados (`/link:SQL02,SQL03,PAYMENTS01 /chain`). Créditos a Azaël Martin (n3rada). * Removidos os módulos '`l`' e '`i`', e introduzida lógica de contexto para que os nomes dos módulos possam ser os mesmos em execução padrão, por impersonação, vinculada e encadeada. * Adicionado suporte a cadeia (chain) para todos os módulos vinculados. * Adicionado suporte para depuração (`/debug`), que exibirá várias informações de depuração e todas as consultas SQL que serão executadas por um módulo, sem executá-las. * Adicionado modo verboso (`/verbose, /v`), que exibirá todas as consultas SQL que serão executadas durante a execução do módulo. * Adicionado tempo limite (`/timeout, /t`), que aceita um valor inteiro para o tempo limite de conexão com o banco de dados do SQL Server. * Melhorado o módulo `links` para incluir informações detalhadas. Créditos a Azaël Martin (n3rada). * Melhorado o módulo `whoami` para incluir princípios do Windows e usuários do banco de dados. Créditos a Azaël Martin (n3rada). * Melhorado o módulo `impersonation` para incluir princípios do Windows e usuários do banco de dados. Créditos a Azaël Martin (n3rada). * Adicionada recuperação de endereço IP no módulo de enumeração `sqlspns`. Créditos a Azaël Martin (n3rada). * Padronizada a saída do console para markdown quando aplicável. Créditos a Azaël Martin (n3rada). * Adicionado suporte DNS ao módulo `/enum:info`. * Adicionado argumento opcional `/subsystem` ao módulo `olecmdexec`, que aceita execução usando os subsistemas de automação OLE `CmdExec` ou `PowerShell`. * Atualizados os harnesses de teste para refletir mudanças na CLI e novos módulos. * Alterada a autenticação `AzureAD` para `EntraID`.
v3.6
  • A execução contra múltiplos servidores SQL fornecidos na flag /host ou /h agora é suportada usando valores separados por vírgula.
  • A execução contra múltiplos servidores SQL vinculados fornecidos na flag /link ou /l agora é suportada usando valores separados por vírgula.
  • Alterado /lhost para /link.
  • Removidos os módulos 's' e criado o switch /s, /sccm para módulos SCCM.
  • Adicionado suporte a impersonação para todos os módulos SCCM, com exceção de DecryptCredentials.
  • Adicionado um novo módulo de enumeração (/enum) chamado info que é capaz de usar um contexto não autenticado para obter informações do servidor SQL, incluindo nome da instância e porta TCP usando o protocolo UDP.
v3.5
  • Correção de bug onde a execução vinculada do adsi não estava removendo o servidor LDAP.
  • Removida a execução de job de agente do adsi vinculado, em favor de openquery/rpc.
  • Alterado /lhost para /adsi no módulo adsi.
  • Alterado /rhost para /unc no módulo smb.
  • Removido CaptureHash.cs e simplificada a lógica.
  • Removido SetEnumerationType.cs e simplificada a lógica.
  • Renomeado Impersonation.cs para Impersonate.cs.
  • Renomeado OleCmdExec.cs para .
v3.4
  • Adicionado suporte a impersonação para o módulo smb.
  • Adicionado suporte a impersonação para o módulo info.
  • Adicionado suporte vinculado para o módulo info.
v3.3
  • Criados módulos rows, iRows e lRows.
  • Atualizado sLogons para incluir um filtro opcional.
  • Correção de bug onde os módulos xp_cmdshell não estavam exibindo a saída do comando no console.
  • Menu de ajuda limpo.
v3.2
  • Reformulação da análise de argumentos de linha de comando.
  • README, casos de teste e wiki atualizados com novos exemplos.
  • Reprojetada a análise de argumentos baseada em enumeração e autenticação.
  • Criado SetEnumerationType.cs.
  • Módulo de enumeração domain alterado para SqlSpns.
v3.1
  • Construtor de SetAuthenticationType.cs alterado para um novo método chamado EvaluateAuthenticationType.
  • Criado CreateSqlConnectionObject em SetAuthenticationType.cs que estende o SQLRecon para suportar múltiplos objetos de conexão SQL simultâneos.
  • Criado ADSI.cs, que incorpora ataques de credenciais ADSI conforme descrito aqui.
  • Criados módulos adsi, iAdsi e lAdsi.
  • Criados módulos lLinks e iLinks.
  • README, casos de teste e wiki atualizados com novos exemplos.
v3.0
  • Implementada verificação de erro para usuários impersonados inexistentes.
  • Criados ExecuteImpersonationQuery e ExecuteImpersonationCustomQuery.
  • Deletado Impersonate.cs.
  • Adicionado módulo checkRpc.
  • Adicionado módulo iCheckRpc.
  • Adicionado módulo lCheckRpc.
  • Reprojetados módulos SCCM.
  • Reprojetada a análise de argumentos do SCCM.
  • Comandos em camel case no menu de ajuda para facilitar a leitura.
  • Testes atualizados com novos módulos.
v2.9
  • Renomeado EnableDisable.cs para ConfigureOptions.cs.
  • Reformuladas configurações de opções avançadas.
  • Implementada verificação de erro RPC sempre que ExecuteLinkedCustomQueryRpcExec é chamado.
v2.8
  • Criado PrintUtils.cs, que implementa uma classe de impressão para saída padronizada.
  • Movido TablePrinter de Help.cs para PrintUtils.cs.
  • Padronizada a formatação de impressão para toda a saída do console usando a classe PrintUtils.
  • Alterados modificadores de acesso para classes e variáveis de classe.
  • Adicionada verificação se o resultado está vazio para:
    • query
    • search
    • tables
    • lColumns
    • lQuery
    • lSearch
    • lTables
    • iColumns
v2.7
  • Alterada autenticação Azure para AzureAD.
  • Criada autenticação AzureLocal.
  • Adicionado módulo disableRpc.
  • Adicionado módulo enableRpc.
  • Adicionado módulo iEnableRpc.
  • Adicionado módulo iDisableRpc.
  • Removido módulo lEnableRpc.
  • Removido módulo lDisbleRpc.
  • Testes atualizados com novos módulos.
v2.6.1
  • Correções de bugs no lAgentCmd.
  • Corrigida estabilidade de clr, iClr e lClr usando SqlCommand.ExecuteNonQuery ao criar a stored procedure.
  • Corrigido bug no lClr onde não estava removendo assemblies ou stored procedures criados.
v2.6
  • Adicionado módulo columns.
  • Adicionado módulo iColumns.
  • Adicionado módulo iDatabases.
  • Adicionado módulo iSearch.
  • Adicionado módulo iTables.
  • Adicionado módulo lColumns.
  • Adicionado módulo lSearch.
v2.5
  • Vários bugs corrigidos nos módulos SCCM.
  • Menu de ajuda organizado usando uma tabela.
  • Melhorada a saída fornecida por ExecuteLinkedCustomQueryRpcExec.
  • Melhorados os comentários no código em todo o projeto.
  • Melhorada a consistência dos nomes de métodos entre funções de execução de comandos.
  • Melhorada a modularidade através de melhor uso de programação orientada a objetos.
  • Alterada a flag de porta personalizada do SQL Server para x.
  • Movido Random.cs para o diretório utilities.
  • Padronizado o estilo de impressão para torná-lo mais consistente em todos os módulos.
  • Criados harnesses de teste padrão, de impersonação e vinculados.
v2.4
  • Alterada autenticação Windows para WinToken.
  • Criada autenticação WinDomain, que usa nome de usuário e senha do domínio AD para autenticação via impersonação. Consulte Impersonation.cs.
  • Reprojetados a análise e o tratamento de argumentos em ArgumentLogic.cs, SQLAuthentication.cs e ModuleHandler.cs.
  • ModuleHandler.cs não usa mais um enorme bloco if/else if/else para executar módulos. Em vez disso, a reflexão agora é usada para chamar métodos que correspondem aos nomes dos módulos de comando.
  • Adicionado diretório commands, que possui variáveis globais usadas ao longo do programa.
  • Agregados todos os provedores de autenticação em SQLAuthentication.cs.
  • Movida a análise de argumentos de Program.cs para ArgumentLogic.cs.
v2.3
  • Adicionada funcionalidade SCCM.
  • Adicionados módulos SCCM, que podem ser executados usando o comando sccm.
  • Corrigida verificação de status RPC em servidores SQL vinculados.
  • Adicionada a capacidade de baixar assemblies .NET via HTTP/S.
v2.2
  • Expandidas as funções consultadas nos módulos roles, iRoles e lRoles.
  • Criados módulos users, iUsers e lUsers.
  • Corrigido hash não removido de sp_drop_trusted_assembly nos módulos clr e iClr.
  • Criado módulo lAgentCmd.
  • Criado módulo lClr.
v2.1.6
  • Adicionado módulo info.
  • Correções no menu de ajuda.
  • Resolvidos problemas com argumentos obrigatórios na autenticação Local e Azure.
v2.1.5
  • Adicionado módulo para enumerar SPNs de domínio (-e domain).
v2.1.4
  • Corrigido problema menor de formatação de string.
v2.1.3
  • Adicionada flag -r nos modos de autenticação Windows e Local para que portas TCP não padrão possam ser fornecidas.
v2.1.2
  • Melhorada lógica em torno de strings de conexão nulas.
v2.1.1
  • Removido Environment.Exit de TestAuthentication.cs.
v2.1
  • Criado AgentJobs.cs.
  • Criado agentStatus.
  • Criado iAgentStatus.
  • Criado lAgentStatus.
  • Criado agentCmd.
  • Criado iAgentCmd.
v2.0
  • Criado clr.
  • Criado iEnableClr.
  • Criado iDisbleClr.
  • Criado iClr.
  • Criado iWhoami.
  • Criado iMapped.
  • Criado iRoles.
  • Criado lEnableRpc.
  • Criado lDisableRpc.
  • Criado lWhoami.
  • Criado lEnableXp.
  • Criado lDisableXp.
  • Criado lEnableOle.
  • Criado lDisableOle.
v1.2
  • Criado módulo lSmb.
  • Criado módulo lWhoami.
  • Criado módulo lRoles.
v1.1
  • Corrigido módulo oldCmd.
  • Corrigido módulo iOleCmd.
  • Corrigido módulo lDatabases.
  • Corrigido módulo lTables.
  • Limpeza da base de código.
  • Corrigidas inconsistências no menu de ajuda.
Baixar ferramenta
  • Detalhado: O sinalizador /v, /verbose é opcional e exibe todas as consultas SQL que são executadas por um módulo antes de executá-las no(s) anfitrião(ões) remoto(s). Um exemplo disto pode ser encontrado na wiki.
  • Nome do MóduloDescriçãoImpersonaçãoExecução LigadaExecução em Cadeia LigadaRequer Contexto Privilegiado
    AuditStatusVerificar se a auditoria SQL está implementada.✅✅✅❎
    CheckRpcObter uma lista de servidores ligados e o seu estado RPC.✅✅✅❎
    DatabasesExibir todas as bases de dados.✅✅✅❎
    ImpersonateEnumerar contas de utilizador que podem ser impersonadas.✅✅✅❎
    InfoMostrar informações sobre o servidor SQL.✅✅✅❎
    LinksEnumerar servidores SQL ligados.✅✅✅❎
    UsersExibir que contas de utilizador e grupos podem autenticar-se na base de dados.✅✅✅❎
    WhoamiExibir os seus privilégios.✅✅✅❎
    Query /c:QUERYExecutar uma consulta SQL.✅✅✅❎
    Smb /unc:UNC_PATHCapturar hash NetNTLMv2.✅✅✅❎
    Columns /db:DATABASE /table:TABLEExibir todas as colunas na base de dados e tabela fornecidas.✅✅✅❎
    Rows /db:DATABASE /table:TABLEExibir o número de linhas na tabela da base de dados fornecida.✅✅✅❎
    Search /keyword:KEYWORDProcurar nomes de colunas na tabela fornecida da base de dados à qual está ligado.✅✅✅❎
    Tables /db:DATABASEExibir todas as tabelas na base de dados fornecida.✅✅✅❎
    EnableRpc /rhost:LINKED_HOSTAtivar RPC e RPC out num servidor ligado.✅❌❌✔️
    EnableClrAtivar integração CLR.✅✅✅✔️
    EnableOleAtivar procedimentos de automação OLE.✅✅✅✔️
    EnableXpAtivar xp_cmdshell.✅✅✅✔️
    DisableRpc /rhost:LINKED_HOSTDesativar RPC e RPC out num servidor ligado.✅❌❌✔️
    DisableClrDesativar integração CLR.✅✅✅✔️
    DisableOleDesativar procedimentos de automação OLE.✅✅✅✔️
    DisableXpDesativar xp_cmdshell.✅✅✅✔️
    AgentStatusExibir se o agente SQL está em execução e obter trabalhos do agente.✅✅✅✔️
    AgentCmd /c:COMMAND /subsystem:(OPCIONAL) /proxy:(OPCIONAL)Executar um comando de sistema usando trabalhos do agente. Opcionalmente especificar um subsistema com /subsystem:, por defeito é 'PowerShell'. Opcionalmente especificar uma conta de proxy do Agente SQL com /proxy:.✅✅✅✔️
    Adsi /adsi:SERVER_NAME /lport:LOCAL_PORTObter credenciais ADSI em texto claro de um servidor ADSI ligado.✅✅✅✔️
    Clr /dll:DLL /function:FUNCTIONCarregar e executar um assembly .NET num procedimento armazenado personalizado.✅✅✅✔️
    CredentialObjectsObter objetos de credenciais de sys.credentials.✅✅✅✔️
    OleCmd /c:COMMAND /subsystem:(OPCIONAL)Executar um comando de sistema usando procedimentos de automação OLE.✅✅✅✔️
    ProxiesObter informações de proxy do Agente SQL.✅✅✅✔️
    XpCmd /c:COMMANDExecutar um comando de sistema usando xp_cmdshell.✅✅✅✔️
    Nome do MóduloDescriçãoImpersonaçãoRequer Contexto Privilegiado
    UsersExibir todos os utilizadores SCCM.✅❎
    SitesExibir todos os outros sites com dados armazenados.✅❎
    LogonsExibir todos os clientes SCCM associados e o último utilizador com sessão iniciada.✅❎
    CredentialsExibir credenciais encriptadas guardadas pelo SCCM.✅❎
    TaskListExibir todas as sequências de tarefas, mas não aceder ao conteúdo dos dados da tarefa.✅❎
    TaskDataDesencriptar todas as sequências de tarefas para texto claro.✅❎
    DecryptCredentialsDesencriptar um blob de credenciais SCCM. Deve ser executado num processo de alta integridade ou SYSTEM no servidor SCCM.❌✔️
    AddAdmin /user:DOMINIO\NOME_UTILIZADOR /sid:SIDElevar uma conta fornecida a 'Administrador Completo' no SCCM.✅✔️
    RemoveAdmin /user:ADMIN_ID /remove:STRINGRemove privilégios de um utilizador, ou remove um utilizador completamente da base de dados SCCM.✅✔️
    ScriptDataDevolve todos os scripts configurados para executar no SCCM.✅✔️
    CIDataDevolve todos os CIs configurados para executar scripts no SCCM.✅✔️
  • O módulo DecryptCredentials tenta desencriptar blobs de credenciais SCCM recuperados. Este módulo deve ser executado num processo de alta integridade ou SYSTEM num servidor SCCM.
  • O módulo AddAdmin eleva a conta especificada a 'Administrador Completo' dentro do SCCM. Se o utilizador alvo já for um utilizador SCCM, este módulo adicionará os privilégios necessários para elevar. Forneça dois argumentos: /user:current /sid:current se pretender adicionar o utilizador que atualmente executa o processo SQLRecon como 'Administrador Completo' no SCCM. Se pretender adicionar outro utilizador como 'Administrador Completo' no SCCM, especifique o nome de utilizador de domínio e o SID completo /user:DOMINIO\NOME_UTILIZADOR /sid:S-1-5-.... Este módulo requer privilégios de sysadmin ou semelhantes, pois é necessário escrever nas tabelas da base de dados SCCM.
  • O módulo RemoveAdmin remove os privilégios de um utilizador, removendo completamente um utilizador recém-adicionado da base de dados SCCM. Se o utilizador já existia de alguma forma, este módulo apenas remove as três funções que foram adicionadas à conta através de escritas na tabela de permissões. Use os argumentos fornecidos pela saída do comando sAddAdmin para executar este comando. Este módulo requer privilégios de sysadmin ou semelhantes, pois é necessário escrever nas tabelas da base de dados SCCM.
  • LinkedChainQueryRecurse
  • Movida a lógica de argumentos para métodos individuais dentro de ModuleHandler.cs para promover simplicidade e extensibilidade.
  • Movidas todas as consultas SQL para Queries.cs.
  • Criado EnumerationModules.cs.
  • Criado FormatQuery.cs.
  • Criado SccmModules.cs.
  • Renomeado ModuleHandler.cs para SqlModules.cs.
  • OleAutomation.cs
  • Renomeado PrintUtils.cs para Print.cs.
  • Renomeado SQLServerInfo.cs para Info.cs.
  • iQuery
  • iSearch
  • Testes significativos de confiabilidade e funcionalidade em todos os provedores de autenticação e módulos.
  • Removido o diretório authentication.
  • Alterado o estilo de código para seguir melhor o guia de estilo de código C#/.NET da Microsoft.
  • Alterado Help.cs de um método para um construtor.
  • Alterado CaptureHash.cs de um método para um construtor.
  • Alterado Impersonate.cs de um método para um construtor.
  • Reestruturação completa da base de código.
  • Criado lEnableClr.
  • Criado lDisableClr.
  • Criado lXpCmd.
  • Criado lXpOle.
  • Criado Random.cs.
  • Criado EnableDisable.cs.
  • Implementados nomes de assembly gerados aleatoriamente para clr.
  • Implementados nomes de variável e método gerados aleatoriamente para ole.
  • Agregados módulos mapped e roles no whoami.
  • Agregados módulos lMapped e lRoles no lWhoami.
  • Agregados módulos iMapped e iRoles no iWhoami.
  • Reestruturação completa da base de código.