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
PySQLRecon — Kit ofensivo MSSQL escrito em Python, baseado no SQLRecon | Kitploit
Ferramentas/GitHubGitHub/tw1sm/pysqlrecon
ExploraçãoPós-ExploraçãoTestes de PenetraçãoComando e ControleRed TeamingSegurança de Banco de Dados
GitHubtw1sm/pysqlrecon

PySQLRecon

Kit ofensivo MSSQL escrito em Python, baseado no SQLRecon

Ver Repositório
21216há 3 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

PySQLRecon

Python PyPi

PySQLRecon é uma versão em Python do incrível projeto SQLRecon de @sanjivkawa. Veja a seção comandos para uma lista de capacidades.

Post demonstrando o SCCM TAKEOVER-1 com PySQLRecon.

Instalação

PySQLRecon pode ser instalado com pip3 install pysqlrecon ou clonando este repositório e executando pip3 install .

Comandos

Todos os módulos principais do SQLRecon possuem comandos equivalentes. Comandos indicados com [PRIV] exigem privilégios elevados ou direitos de sysadmin para serem executados. Alternativamente, comandos marcados com [NORM] podem, provavelmente, ser executados por usuários comuns e não exigem privilégios elevados.

Suporte para impersonação ([I]) ou execução em servidores vinculados ([L]) são indicados no final da descrição do comando.

root@kitploit:~
adsi                 [PRIV] Obter credenciais ADSI do servidor vinculado ADSI [I,L]
agentcmd             [PRIV] Executar um comando de sistema usando trabalhos do agente [I,L]
agentstatus          [PRIV] Enumerar status do agente SQL e trabalhos [I,L]
checkrpc             [NORM] Enumerar status RPC de servidores vinculados [I,L]
clr                  [PRIV] Carregar e executar assembly .NET em uma stored procedure [I,L]
columns              [NORM] Enumerar colunas dentro de uma tabela [I,L]
databases            [NORM] Enumerar bancos de dados em um servidor [I,L]
disableclr           [PRIV] Desabilitar integração CLR [I,L]
disableole           [PRIV] Desabilitar procedimentos de automação OLE [I,L]
disablerpc           [PRIV] Desabilitar RPC e RPC Out em servidor vinculado [I]
disablexp            [PRIV] Desabilitar xp_cmdshell [I,L]
enableclr            [PRIV] Habilitar integração CLR [I,L]
enableole            [PRIV] Habilitar procedimentos de automação OLE [I,L]
enablerpc            [PRIV] Habilitar RPC e RPC Out em servidor vinculado [I]
enablexp             [PRIV] Habilitar xp_cmdshell [I,L]
impersonate          [NORM] Enumerar usuários que podem ser impersonados
info                 [NORM] Obter informações sobre o servidor SQL
links                [NORM] Enumerar servidores vinculados [I,L]
olecmd               [PRIV] Executar um comando de sistema usando procedimentos de automação OLE [I,L]
query                [NORM] Executar uma consulta SQL personalizada [I,L]
rows                 [NORM] Obter a contagem de linhas em uma tabela [I,L]
sample               [NORM] Consultar uma amostra de dados da tabela [I,L]
sccm                 [SUBM] Submódulo para comandos específicos do SCCM   
search               [NORM] Pesquisar em uma tabela por um nome de coluna [I,L]
smb                  [NORM] Forçar autenticação NetNTLM via xp_dirtree [I,L]
tables               [NORM] Enumerar tabelas dentro de um banco de dados [I,L]
users                [NORM] Enumerar usuários com acesso ao banco de dados [I,L]
whoami               [NORM] Obter usuário logado, usuário mapeado e papéis [I,L]
xpcmd                [PRIV] Executar um comando de sistema usando xp_cmdshell [I,L]     

Comandos SCCM

Os comandos SCCM podem ser encontrados executando pysqlrecon [OPCOES_GLOBAIS] sccm -h (as flags globais necessárias precisarão ser especificadas para que isso funcione - veja uso)

root@kitploit:~
addadmin             [PRIV] Elevar uma conta a Administrador Completo [I]
credentials          [NORM] Exibir credenciais criptografadas [I]
logons               [NORM] Exibir clientes SCCM e último usuário logado [I]
removeadmin          [PRIV] Remover conta elevada ou privilégios elevados [I]
sites                [NORM] Obter informações do site SCCM [I]
taskdata             [NORM] Descriptografar sequências de tarefas [I]
tasklist             [NORM] Exibir sequências de tarefas [I]
users                [NORM] Enumerar usuários SCCM [I]   

Uso

PySQLRecon possui opções globais (disponíveis para qualquer comando), com alguns comandos introduzindo flags adicionais. Todas as opções globais devem ser especificadas antes do nome do comando:

root@kitploit:~
pysqlrecon [OPCOES_GLOBAIS] COMANDO [OPCOES_COMANDO]

Ver opções globais:

root@kitploit:~
pysqlrecon --help

Ver opções específicas do comando:

root@kitploit:~
pysqlrecon [OPCOES_GLOBAIS] COMANDO --help

Altere o banco de dados para autenticação, ou usado em certos comandos do PySQLRecon (query, tables, columns, rows), com a flag --database.

Direcione a execução de um comando PySQLRecon em um servidor vinculado (em vez do servidor SQL que está sendo autenticado) usando a flag --link.

Impersonate uma conta de usuário ao executar um comando PySQLRecon com a flag --impersonate.

--link e --impersonate são incompatíveis.

Uso com ntlmrelayx

PySQLRecon pode ser usado com proxychains para aproveitar a autenticação retransmitida visando um serviço mssql://. Devido à forma como as sessões do ntlmrelayx funcionam, o parâmetro --database não será respeitado ao executar PySQLRecon (a sessão de retransmissão estará sempre conectada ao banco de dados master). Isso pode ser relevante especialmente ao usar módulos SCCM, que exigem que o banco de dados do site seja especificado. Para corrigir isso, primeiro mude o contexto do banco de dados usando o módulo query (isso persistirá em qualquer uso subsequente do PySQLRecon, na mesma sessão de retransmissão). Exemplo:

root@kitploit:~
proxychains4 pysqlrecon -t <alvo> -d <DOMINIO> -u <usuario> -p FAKE query --query 'use novo_nome_banco'

Agora você pode executar módulos/consultas que visam recursos dentro desse banco de dados específico, mesmo sem especificar --database, a partir da mesma sessão ntlmrelayx.

Desenvolvimento

pysqlrecon usa uv para gerenciar dependências. Instale a partir do código-fonte e configure para desenvolvimento com:

root@kitploit:~
# Instalar uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Instalar pysqlrecon
git clone https://github.com/tw1sm/pysqlrecon
cd pysqlrecon
uv sync
uv run pysqlrecon --help

Adicionando um Comando

PySQLRecon é facilmente extensível - veja o template e instruções em resources

A FAZER

  • Adicionar comandos SCCM do SQLRecon
  • Adicionar suporte para Azure SQL DB?

Referências e Créditos

  • Impacket
  • @sanjivkawa pelo projeto SQLRecon
  • https://securityintelligence.com/x-force/databases-beware-abusing-microsoft-sql-server-with-sqlrecon/
  • https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410
  • Confira também MSSqlPwner para outras capacidades ofensivas em MSSQL escritas em Python
  • PXEThief
Baixar ferramenta