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/xforcered/sqlrecon
Escalada de PrivilégiosReconhecimentoAtaques de SenhaExploraçãoMovimento LateralPós-ExploraçãoTestes de PenetraçãoRed TeamingSegurança de Banco de Dados
GitHubxforcered/sqlrecon

SQLRecon

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

399389há 1 anoRevisado 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
Ver Repositório

  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.

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.

Módulos de Enumeração

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.

root@kitploit:~
# 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.

Provedores de Autenticação - Detalhes Adicionais

  • Hosts: A flag de host (/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.
  • Banco de dados: O SQLRecon se conecta ao banco de dados 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: A flag /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.
  • Porta: Em alguns casos, um Microsoft SQL Server pode não estar escutando em uma porta TCP padrão. Alguns exemplos são o clustering de failover do Microsoft SQL Server ou portas TCP dinâmicas. O SQLRecon se conecta aos bancos de dados via porta TCP 1433 por padrão; no entanto, isso pode ser alterado opcionalmente usando a flag /port:.
  • Timeout: O tempo padrão de conexão com o banco de dados SQL é de 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.

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.

Módulos SQL

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:).

Módulos SQL - Padrão

A flag de host (/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.

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

Módulos SQL - Personificação

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

  • Um usuário de personificação deve ser especificado (/i:, /iuser:).
  • Um módulo que suporte personificação deve ser especificado (/m:, /module:).

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

Módulos SQL - Vinculados

Os módulos vinculados são executados em uma ou mais instâncias de um servidor Microsoft SQL vinculado. Todos os módulos vinculados têm os seguintes requisitos mínimos:

  • Um servidor SQL vinculado deve ser especificado (/l:, /link:). A flag de link permite um ou mais servidores SQL vinculados. Por exemplo, se SQL01 tem um link para SQL02, e SQL01 tem um link para DB04, você pode separar os hosts vinculados com vírgula, e um módulo será executado em cada servidor SQL vinculado, por exemplo /l:SQL02,DB04.
  • Um módulo que suporte execução vinculada deve ser especificado (/m:, /module:).

A wiki tem detalhes sobre como usar cada módulo que suporta execução em uma ou mais instâncias de um Servidor SQL Vinculado.

Módulos SQL - Cadeia Vinculada

Os módulos de cadeia vinculada são executados no servidor Microsoft SQL final em uma cadeia de servidores vinculados. Todos os módulos de cadeia vinculada têm os seguintes requisitos mínimos:

  • Uma cadeia de servidores SQL vinculados deve ser especificada na flag /l:, /link:. Se SQL01 tem um link para SQL02, e SQL02 tem um link para PAYMENTS01, e você deseja executar um módulo em PAYMENTS01, então o argumento seria /l:SQL02,PAYMENTS01.
  • A flag /chain deve ser incluída para executar o módulo contra o servidor SQL final na cadeia vinculada fornecida.
  • Um módulo que suporte execução em cadeia vinculada deve ser especificado (/m:, /module:).

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

Módulos SCCM

O SQLRecon possui vários módulos que podem auxiliar na enumeração e no ataque ao Microsoft System Center Configuration Manager (SCCM) e ao Microsoft Endpoint Configuration Manager (ECM). O servidor SCCM ou ECM precisará ter um banco de dados Microsoft SQL exposto local ou remotamente.

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

A maioria dos módulos SCCM pode ser executada no contexto de um usuário SQL personificado (/i:, /iuser:).

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

Módulos SCCM - Detalhes Adicionais
  • O módulo Users lista todos os usuários na tabela RBAC_Admins. Esses são todos os usuários configurados com algum nível de acesso ao SCCM.
  • O módulo Sites lista todos os outros sites com dados armazenados na tabela DPInfo dos bancos de dados SCCM. Isso pode fornecer vetores de ataque adicionais, pois sites diferentes podem ser configurados de maneiras diferentes (inseguras).
  • O módulo Logons consulta a tabela Computer_System_DATA para recuperar todos os clientes SCCM associados, juntamente com o usuário que fez login pela última vez neles. NOTA: Isso só é atualizado uma vez por semana por padrã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 no banco de dados SCCM, mas não acessa o conteúdo real dos dados das tarefas.
  • O módulo TaskData recupera todas as sequências de tarefas armazenadas no banco de dados SCCM e as descriptografa para texto simples. As sequências de tarefas podem conter credenciais para ingressar sistemas em domínios, mapear compartilhamentos, executar comandos, etc.
  • O módulo Credentials lista credenciais armazenadas pelo SCCM para uso em várias funções. Essas credenciais não podem ser descriptografadas 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.

Estendendo o SQLRecon

Se você estiver interessado em estender o SQLRecon, consulte a seção de contribuição e extensão na wiki.

Encorajo você a abrir uma issue se tiver alguma sugestão ou ideia.

Roteiro

O objetivo é melhorar continuamente o SQLRecon. Abaixo estão algumas áreas de pesquisa planejadas:

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

Créditos

As seguintes pessoas contribuíram direta ou indiretamente para vários aspectos do SQLRecon.

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

Histórico

v3.9
  • Adicionados bancos de dados aos quais o usuário tem acesso no módulo whoami (JBalanza).
  • Corrigido um problema no módulo adsi em que o servidor LDAP não precisa ser adicionado ao banco de dados msdb; além disso, a função criada agora é removida corretamente.
  • Corrigido um problema em que consultas RPC com uma instrução AT falham no servidor de destino se o nome do host fornecido for um FQDN.
  • README atualizado.
  • Wiki atualizada.
v3.8
  • Adicionada lógica para suportar a execução de assemblies CLR no SQL Server 2016 e anteriores. Isso é 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. Isso é para o módulo adsi. Execução suportada em todos os contextos.
  • README atualizado.
  • Wiki atualizada.
v3.7
  • Refatoração completa da base de código.
  • Documentação atualizada (comentários de 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 entre execução padrão, personificação, vinculada e em cadeia.
  • Adicionado suporte a cadeia a 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.
v3.6
  • A execução contra vários servidores SQL fornecidos na flag /host ou /h agora é suportada usando valores separados por vírgula.
  • A execução contra vários 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 criada a opção /s, /sccm para módulos SCCM.
  • Adicionado suporte a personificação a 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.
  • Movida a lógica de argumentos para métodos individuais dentro de para promover simplicidade e extensibilidade.
v3.5
  • Correção de bug em que a execução vinculada de adsi não estava removendo o servidor LDAP.
  • Removida a execução de trabalhos do 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 personificação para o módulo smb.
  • Adicionado suporte a personificação para o módulo info.
  • Adicionado suporte vinculado para o módulo info.
v3.3
  • Criados os módulos rows, iRows e lRows.
  • Atualizado sLogons para incluir um filtro opcional.
  • Correção de bug em que os módulos xp_cmdshell não estavam imprimindo a saída do comando no console.
  • Menu de Ajuda organizado.
v3.2
  • Revisão completa da análise de argumentos de linha de comando.
  • Atualizados README, casos de teste e wiki com novos exemplos.
  • Reformulada a análise de argumentos baseada em enumeração e autenticação.
  • Criado SetEnumerationType.cs.
  • Alterado o módulo de enumeração domain para SqlSpns.
v3.1* Alterado o construtor de `SetAuthenticationType.cs` para um novo método chamado `EvaluateAuthenticationType`. * Criado `CreateSqlConnectionObject` em `SetAuthenticationType.cs`, que estende o SQLRecon para suportar múltiplos objetos simultâneos de conexão SQL. * Criado `ADSI.cs`, que incorpora ataques de credenciais ADSI conforme descrito [aqui](https://www.tarlogic.com/blog/linked-servers-adsi-passwords/). * Criados os módulos `adsi`, `iAdsi` e `lAdsi`. * Criados os módulos `lLinks` e `iLinks`. * Atualizados README, casos de teste e wiki com novos exemplos.
v3.0
  • Implementada verificação de erros para usuários impersonados inexistentes.
  • Criados ExecuteImpersonationQuery e ExecuteImpersonationCustomQuery.
  • Excluído Impersonate.cs
  • Adicionado o módulo checkRpc.
  • Adicionado o módulo iCheckRpc.
  • Adicionado o módulo lCheckRpc.
  • Reformulados os módulos SCCM.
  • Reformulada a análise de argumentos do SCCM.
  • Alterados comandos para camelCase no menu de ajuda para facilitar a leitura.
  • Atualizados testes com novos módulos.
v2.9
  • Renomeado EnableDisable.cs para ConfigureOptions.cs
  • Reformuladas as configurações avançadas de opções.
  • Implementada verificação de erros RPC em todos os locais onde 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 de console usando a classe PrintUtils.
  • Alterados os modificadores de acesso para classes e variáveis de classe.
  • Adicionada verificação para saber se o resultado está vazio para:
    • query
    • search
    • tables
    • lColumns
    • lQuery
    • lSearch
    • lTables
    • iColumns
v2.7
  • Alterada a autenticação Azure para AzureAD.
  • Criada a autenticação AzureLocal.
  • Adicionado o módulo disableRpc.
  • Adicionado o módulo enableRpc.
  • Adicionado o módulo iEnableRpc.
  • Adicionado o módulo iDisableRpc.
  • Removido o módulo lEnableRpc.
  • Removido o módulo lDisbleRpc.
  • Atualizados testes com novos módulos.
v2.6.1
  • Correções de bugs no lAgentCmd.
  • Corrigida a estabilidade de clr, iClr e lClr usando SqlCommand.ExecuteNonQuery ao criar o procedimento armazenado.
  • Corrigido bug no lClr em que ele não removia assemblies ou procedimentos armazenados criados.
v2.6
  • Adicionado o módulo columns.
  • Adicionado o módulo iColumns.
  • Adicionado o módulo iDatabases.
  • Adicionado o módulo iSearch.
  • Adicionado o módulo iTables.
  • Adicionado o módulo lColumns.
  • Adicionado o módulo lSearch.
v2.5
  • Vários bugs corrigidos nos módulos SCCM.
  • Organizado o menu de ajuda usando uma tabela.
  • Melhorada a saída fornecida por ExecuteLinkedCustomQueryRpcExec.
  • Melhorados os comentários de código em todo o projeto.
  • Melhorada a consistência dos nomes de métodos nas funções de execução de comandos.
  • Melhorada a modularidade por meio 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.
  • Criadas estruturas de teste padrão, de impersonação e vinculadas.
v2.4
  • Alterada a autenticação Windows para WinToken.
  • Criada a autenticação WinDomain, que usa nome de usuário e senha do domínio AD para autenticação via impersonação. Confira Impersonation.cs.
  • Reformuladas a análise e o tratamento de argumentos em ArgumentLogic.cs, SQLAuthentication.cs e ModuleHandler.cs.
  • ModuleHandler.cs não usa mais uma enorme declaração 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 o diretório commands, que contém variáveis globais usadas em todo o programa.
  • Consolidados 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 a verificação do status RPC em servidores SQL vinculados.
  • Adicionada a capacidade de baixar assemblies .NET via HTTP/S.
v2.2
  • Ampliadas as funções (roles) consultadas nos módulos roles, iRoles e lRoles.
  • Criados os módulos users, iUsers e lUsers.
  • Corrigido o hash que não estava sendo removido de sp_drop_trusted_assembly nos módulos clr e iClr.
  • Criado o módulo lAgentCmd.
  • Criado o módulo lClr.
v2.1.6
  • Adicionado o 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 a flag -r aos modos de autenticação Windows e Local para que portas TCP não padrão possam ser fornecidas.
v2.1.2
  • Melhorada a 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 lWhoai.
  • Criado lEnableXp.
  • Criado lDisableXp.
  • Criado lEnableOle.
  • Criado lDisableOle.
v1.2
  • Criado o módulo lSmb.
  • Criado o módulo lWhoami.
  • Criado o módulo lRoles.
v1.1
  • Corrigido o módulo oldCmd.
  • Corrigido o módulo iOleCmd.
  • Corrigido o módulo lDatabases.
  • Corrigido o módulo lTables.
  • Limpeza da base de código.
  • Corrigidas inconsistências no menu de ajuda.
Baixar ferramenta
  • Verbose: A flag /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.
  • Nome do MóduloDescriçãoPersonificaçãoExecução VinculadaExecução em Cadeia VinculadaRequer Contexto Privilegiado
    CheckRpcObter uma lista de servidores vinculados e seu status RPC.✅✅✅❎
    DatabasesExibir todos os bancos de dados.✅✅✅❎
    ImpersonateEnumerar contas de usuário que podem ser personificadas.✅✅✅❎
    InfoMostrar informações sobre o servidor SQL.✅✅✅❎
    LinksEnumerar servidores SQL vinculados.✅✅✅❎
    UsersExibir quais contas de usuário e grupos podem autenticar no banco de dados.✅✅✅❎
    WhoamiExibir seus privilégios.✅✅✅❎
    Query /c:QUERYExecutar uma consulta SQL.✅✅✅❎
    Smb /unc:UNC_PATHCapturar hash NetNTLMv2.✅✅✅❎
    Columns /db:DATABASE /table:TABLEExibir todas as colunas no banco de dados e na tabela fornecidos.✅✅✅❎
    Rows /db:DATABASE /table:TABLEExibir o número de linhas na tabela do banco de dados fornecida.✅✅✅❎
    Search /keyword:KEYWORDPesquisar nomes de colunas na tabela fornecida do banco de dados ao qual você está conectado.✅✅✅❎
    Tables /db:DATABASEExibir todas as tabelas no banco de dados fornecido.✅✅✅❎
    EnableRpc /rhost:LINKED_HOSTHabilitar RPC e RPC out em um servidor vinculado.✅❌❌✔️
    EnableClrHabilitar integração CLR.✅✅✅✔️
    EnableOleHabilitar procedimentos de automação OLE.✅✅✅✔️
    EnableXpHabilitar xp_cmdshell.✅✅✅✔️
    DisableRpc /rhost:LINKED_HOSTDesabilitar RPC e RPC out em um servidor vinculado.✅❌❌✔️
    DisableClrDesabilitar integração CLR.✅✅✅✔️
    DisableOleDesabilitar procedimentos de automação OLE.✅✅✅✔️
    DisableXpDesabilitar xp_cmdshell.✅✅✅✔️
    AgentStatusExibir se o agente SQL está em execução e obter trabalhos do agente.✅✅✅✔️
    AgentCmd /c:COMMANDExecutar um comando de sistema usando trabalhos do agente.✅✅✅✔️
    Adsi /adsi:SERVER_NAME /lport:LOCAL_PORTObter credenciais ADSI em texto claro de um servidor ADSI vinculado.✅✅✅✔️
    Clr /dll:DLL /function:FUNCTIONCarregar e executar um assembly .NET em um procedimento armazenado personalizado.✅✅✅✔️
    OleCmd /c:COMMAND /subsystem:(OPCIONAL)Executar um comando de sistema usando procedimentos de automação OLE.✅✅✅✔️
    XpCmd /c:COMMANDExecutar um comando de sistema usando xp_cmdshell.✅✅✅✔️
    Nome do MóduloDescriçãoPersonificaçãoRequer Contexto Privilegiado
    UsersExibir todos os usuários do SCCM.✅❎
    SitesExibir todos os outros sites com dados armazenados.✅❎
    LogonsExibir todos os clientes SCCM associados e o último usuário que fez login.✅❎
    CredentialsExibir credenciais criptografadas armazenadas pelo SCCM.✅❎
    TaskListExibir todas as sequências de tarefas, mas sem acessar o conteúdo dos dados das tarefas.✅❎
    TaskDataDescriptografar todas as sequências de tarefas para texto simples.✅❎
    DecryptCredentialsDescriptografar um blob de credenciais do SCCM. Deve ser executado em um processo de alta integridade ou SYSTEM no servidor SCCM.❌✔️
    AddAdmin /user:DOMAIN\USERNAME /sid:SIDElevar uma conta fornecida para 'Full Administrator' no SCCM.✅✔️
    RemoveAdmin /user:ADMIN_ID /remove:STRINGRemove privilégios de um usuário ou remove um usuário inteiramente do banco de dados SCCM.✅✔️
  • O módulo DecryptCredentials tenta descriptografar blobs de credenciais SCCM recuperados. Este módulo deve ser executado em um processo de alta integridade ou SYSTEM em um servidor SCCM.
  • O módulo AddAdmin eleva a conta especificada para 'Full Administrator' no SCCM. Se o usuário alvo já for um usuário SCCM, este módulo adicionará os privilégios necessários para elevar. Forneça dois argumentos: /user:current /sid:current se desejar adicionar o usuário que está executando atualmente o processo do SQLRecon como 'Full Administrator' no SCCM. Se desejar adicionar outro usuário como 'Full Administrator' no SCCM, especifique o nome de usuário do domínio e o SID completo /user:DOMAIN\USERNAME /sid:S-1-5-.... Este módulo requer privilégios de sysadmin ou similares, pois é necessário escrever nas tabelas do banco de dados SCCM.
  • O módulo RemoveAdmin remove os privilégios de um usuário removendo completamente um usuário recém-adicionado do banco de dados SCCM. Se o usuário já existia de alguma forma, este módulo apenas remove as três funções que foram adicionadas à conta por meio de gravações 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 similares, pois é necessário escrever nas tabelas do banco de dados SCCM.
  • 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.
  • Módulo links aprimorado para incluir informações detalhadas. Créditos a Azaël Martin (n3rada).
  • Módulo whoami aprimorado para incluir principais do Windows e usuários do banco de dados. Créditos a Azaël Martin (n3rada).
  • Módulo impersonation aprimorado para incluir principais do Windows e usuários do banco de dados. Créditos a Azaël Martin (n3rada).
  • Adicionada recuperação de endereço IP ao 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 as mudanças na CLI e os novos módulos.
  • Alterada a autenticação AzureAD para EntraID.
  • ModuleHandler.cs
  • 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 e módulos de autenticação.
  • 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.
  • Refatorada toda a 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áveis e métodos gerados aleatoriamente para ole.
  • Integrados os módulos mapped e roles em whoami.
  • Integrados os módulos lMapped e lRoles em lWhoami.
  • Integrados os módulos iMapped e iRoles em iWhoami.
  • Refatorada toda a base de código.