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
MSSQLand — Ferramenta de pós-exploração em C# para Microsoft SQL Server (MS SQL / MSSQL) que percorre cadeias de servidores vinculados de qualquer profundidade com impersonação de login em cascata em cada salto. | Kitploit
Ferramentas/GitHubGitHub/n3rada/mssqland
Escalada de PrivilégiosFerramentas de ImpersonaçãoMovimento LateralAuditoria de ConfiguraçãoColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoRed TeamingSegurança de Banco de Dados
GitHubn3rada/mssqland

MSSQLand

Ferramenta de pós-exploração em C# para Microsoft SQL Server (MS SQL / MSSQL) que percorre cadeias de servidores vinculados de qualquer profundidade com impersonação de login em cascata em cada salto.

7591há 26 diasRevisado 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

✈️ MSSQLand

Aterrisse graciosamente no seu Microsoft SQL Server (MS SQL) DBMS alvo, como se estivesse chegando em um voo de classe executiva com uma taça de champanhe na mão. 🥂

Capacidades de encadeamento do MSSQLand

MSSQLand é uma ferramenta de pós-exploração em C# para Microsoft SQL Server (MSSQL / MS SQL) construída para operadores de red team. Projetada para ser executada dentro do ambiente alvo diretamente através de seus beacons (por exemplo, usando execute-assembly no Cobalt Strike ou Havoc ou qualquer comando dotnet), ela permite que você percorra cadeias de servidores vinculados, personifique qualquer login encontrado ao longo do caminho e saia do último salto com qualquer ação desejada. Tudo com mínimo impacto OPSEC e sem dependências externas.

  • Atravessamento de servidores vinculados: encapsulamento automático OPENQUERY / EXEC AT através de cadeias arbitrariamente profundas
  • Personificação: EXECUTE AS LOGIN em cada salto com personificação em cascata de vários usuários
  • Autenticação: token Windows atual, pass-the-hash via personificação de token do beacon, Kerberos
  • Descoberta: SQL Browser (UDP 1434), enumeração de SPN do Active Directory via LDAP, broadcast, varredura de portas TDS
  • ConfigMgr / SCCM / MECM: ações dedicadas cm-* para reconhecimento e exploração de bancos de dados do Microsoft Configuration Manager
  • Saída: tabelas amigáveis ao Markdown com carimbos de data/hora, exportação CSV para entregas limpas de pentest

[!TIP] O MSSQLand é construído usando .NET Framework 4.8, pensado para execução de assembly, usando o contexto atual. Se você precisar conectar usando hashes NT/LM ou um ticket Kerberos, veja Pass-the-Hash.

[!NOTE] Não se esqueça do básico. Durante uma avaliação de segurança, às vezes é mais fácil usar o SQL Server Management Studio (SSMS).

🧸 Uso

root@kitploit:~
MSSQLand.exe [options] <host> [options] <action> [action-options]
MSSQLand.exe <host> --probe

As flags globais (-c, -l, --debug, etc.) são aceitas em qualquer posição, incluindo após o nome da ação; tokens não reconhecidos após a ação são passados literalmente para a ação.

[!NOTE] Omitir <action> realiza apenas um teste de conexão. Ele autentica e sai sem executar consultas. Ideal para validação de credenciais com mínimo impacto OPSEC.

[!TIP] Evite digitar manualmente todas as chamadas RPC Out ou OPENQUERY. Deixe a ferramenta lidar com qualquer cadeia de servidores vinculados com o argumento -l, para que você possa se concentrar no panorama geral.

Formato: server:port/user@database ou qualquer combinação server/user@database:port.

  • server (obrigatório) - O nome do host ou IP do SQL Server
  • :port (opcional) - Número da porta (padrão: 1433, também comuns: 1434, 14333, 2433)
  • /user (opcional) - Usuário para personificar neste servidor ("execute as login")
    • Suporta personificação em cascata: /user1/user2/user3 executa EXECUTE AS LOGIN = 'user1'; EXECUTE AS LOGIN = 'user2'; EXECUTE AS LOGIN = 'user3';
    • Cada /user insere um novo contexto de personificação na pilha de segurança
  • @database (opcional) - Contexto do banco de dados
root@kitploit:~
# Connectivity probe: checks if server is alive without authenticating
MSSQLand.exe localhost --probe

# Connection test only (no action executed, authenticates and exits)
MSSQLand.exe localhost -c token

# Execute specific action
MSSQLand.exe localhost -c token info
MSSQLand.exe localhost:1434@db03 -c token info
MSSQLand.exe LAB-SQL01@AdventureWorks -c token tables -n Customer

🔗 Cadeia de Servidores Vinculados

Encadeie vários servidores SQL usando a flag -l com ponto e vírgula (;) como separador:

root@kitploit:~
-l SQL01;SQL02/user;SQL03@database

Sintaxe:

  • Ponto e vírgula (;) - Separa servidores na cadeia
  • Barra (/) - Especifica usuário para personificar ("execute as login")
    • Suporta personificação em cascata: /user1/user2 executa personificações sequenciais
  • Arroba (@) - Especifica contexto do banco de dados
  • Colchetes ([...]) - Usados para proteger o nome do servidor de ser dividido pelos nossos delimitadores

Exemplos:

root@kitploit:~
# Simple chain
-l SQL01;SQL02;SQL03

# With impersonation and databases
-l SQL01/admin;SQL02;SQL03/manager@clients

# Cascading impersonation (impersonate user1, then user2 on SQL01)
-l SQL01/user1/user2;SQL02;SQL03

# Mixed cascading (SQL01: user1→user2, SQL03: user3→user4→user5)
-l SQL01/user1/user2;SQL02;SQL03/user3/user4/user5@database

# Server names can contain hyphens, dots (no brackets needed)
-l SQL-01;SERVER.001;HOST.DOMAIN.COM

# Brackets only needed if server name contains delimiter characters
-l [SERVER;PROD];SQL02;[SQL03@clients]@clientdb

[!NOTE] A especificação de porta (:port) se aplica apenas à conexão inicial do host. As cadeias de servidores vinculados (-l) usam os nomes dos servidores vinculados conforme configurados em sys.servers, não combinações hostname:port.

🔍 Descoberta

Esses modos não exigem autenticação e funcionam antes de você ter credenciais.

📡 Serviço de Navegação

O serviço SQL Server Browser escuta na porta UDP 1434 e responde a solicitações de descoberta com a lista de instâncias do SQL Server em execução em um host, incluindo seus nomes, versões e portas TCP. Isso é útil quando o alvo está executando instâncias nomeadas em portas dinâmicas, sem necessidade de advinhar ou escanear.

root@kitploit:~
# Query the SQL Browser service on a specific host (UDP 1434)
MSSQLand.exe LAB-SQL03 --browse

📂 Consultas LDAP

O Active Directory expõe registros do SQL Server através de Service Principal Names (SPNs) armazenados em contas de computador e serviço. O MSSQLand consulta o AD via LDAP por SPNs MSSQLSvc/* para enumerar instâncias do SQL Server no domínio, ou toda a floresta através do Catálogo Global.

root@kitploit:~
# Find SQL Servers in Active Directory via LDAP (current domain)
MSSQLand.exe --findsql

# Target a specific domain
MSSQLand.exe --findsql pgd.lab

# Forest-wide search via Global Catalog (port 3268)
MSSQLand.exe --findsql pgd.lab --gc

A descoberta é em múltiplas camadas. Veja FindSqlServers.cs para mais detalhes.

📢 Broadcast

O SQL Server Browser também responde a pacotes de broadcast UDP na UDP 1434, permitindo a descoberta de todas as instâncias do SQL Server que se anunciam na sub-rede local.

root@kitploit:~
# Broadcast discovery on the local network (UDP 1434)
MSSQLand.exe --broadcast
MSSQLand.exe --broadcast --timeout 5

[!TIP] Isso é particularmente útil quando um SQL Server está sendo executado em uma máquina que não está ingressada no domínio e, portanto, não aparecerá em nenhuma consulta LDAP ou SPN. Pense em servidores autônomos, máquinas de desenvolvedor ou instâncias não autorizadas criadas em uma VLAN interna.

🔌 Varredura de Portas

Valida portas abertas em instâncias ativas do SQL Server usando handshakes do protocolo TDS (não apenas SYN TCP). Uma porta só é reportada se responder a um pacote de pré-login TDS.

root@kitploit:~
MSSQLand.exe LAB-SQL03 --portscan
MSSQLand.exe LAB-SQL03 --portscan --all           # Find all instances (full ephemeral range)
MSSQLand.exe LAB-SQL03 --portscan 65184           # Single port
MSSQLand.exe LAB-SQL03 --portscan 65180-65190     # Port range
MSSQLand.exe LAB-SQL03 --portscan 1433,5000,65184 # Comma-separated list

🔑 Pass-the-Hash

O MSSQLand é executado como um assembly .NET dentro de um beacon e sempre autentica usando o contexto de execução atual (-c token). Quando você tem um hash, a abordagem correta é forjar um token no nível do beacon primeiro e então executar o MSSQLand normalmente. System.Data.SqlClient herda esse token de forma transparente, e nenhuma implementação TDS personalizada é necessária.

Implementar NTLMv2 do zero dentro do MSSQLand significaria:

  • Substituir System.Data.SqlClient por uma pilha TDS 7.x feita à mão (muitas linhas de código de socket, TLS e NTLM).
  • Manter essa implementação contra peculiaridades de versão do SQL Server, mudanças de política TLS e casos extremos de fluxo de tokens.
  • Não obter nenhuma vantagem funcional sobre a abordagem de token na grande maioria dos engajamentos.

Se você precisar autenticar com um ticket Kerberos ou hashes NT/LM de uma posição externa, mssqlclient-ng é a ferramenta certa. Este é um cliente Python 3 construído para acesso do lado Unix, facilmente emparelhado com um proxy SOCKS5 estabelecido a partir do seu beacon.

🌉 Encaminhamento de Porta com Linux

Se você estiver executando o MSSQLand em seu host Windows, mas precisar acessar um servidor SQL alvo através de um ambiente Linux (VM Hyper-V, VMware ou WSL), você pode encaminhar facilmente a conexão usando socat:

root@kitploit:~
sudo socat TCP4-LISTEN:1433,fork,reuseaddr TCP:10.10.11.90:1433

Este comando escuta na porta 1433 em sua máquina Linux e encaminha todo o tráfego para o servidor SQL alvo em 10.10.11.90:1433. Você pode então conectar o MSSQLand ao IP da sua VM Linux a partir do seu host Windows.

❓ Ajuda

  • -h ou --help - Mostrar todas as ações disponíveis
  • -h termo_de_busca - Filtrar ações (ex.: -h adsi mostra todas as ações relacionadas a ADSI)
  • localhost -c token createuser -h - Mostrar ajuda detalhada para uma ação específica

🔧 Suporte ao Configuration Manager (ConfigMgr)

O MSSQLand inclui suporte abrangente para exploração e reconhecimento do Microsoft Configuration Manager (anteriormente SCCM / MECM). Quando você tem acesso a um servidor de banco de dados ConfigMgr, pode usar ações especializadas para inteligência de dispositivos (ex.: cm-devices) ou mapeamento de infraestrutura.

Todas as ações do ConfigMgr usam o prefixo cm- (ex.: cm-scripts, cm-package) para alinhar com a convenção de nomenclatura dos cmdlets PowerShell oficiais da Microsoft (Get-CM*, Set-CM*, etc.).

📸 Saída Limpa para Relatórios Limpos

A saída da ferramenta, enriquecida com carimbos de data/hora e informações contextuais valiosas, é projetada para produzir resultados visualmente atraentes e profissionais, tornando-a ideal para capturar capturas de tela de alta qualidade para qualquer um de seus relatórios (ex.: entrega para cliente, relatório interno, avaliações de red team).

Todas as tabelas de saída são amigáveis ao Markdown e podem ser copiadas e coladas diretamente em suas anotações sem qualquer problema de formatação.

[!TIP] Você também pode ter saída compatível com .csv usando a opção --format csv: MSSQLand.exe localhost -c token --format csv --silent procedures > procedures.csv

🤝 Contribuindo

Contribuições são bem-vindas e apreciadas! Seja corrigindo bugs, adicionando novas funcionalidades, melhorando a documentação ou compartilhando feedback, seu esforço é valorizado e faz a diferença. O código aberto prospera na colaboração e no reconhecimento. Contribuições, grandes ou pequenas, ajudam a melhorar a ferramenta e sua comunidade. Seu tempo e esforço são realmente valorizados.

Aqui, ninguém será apagado do histórico do Git. Sem medo aqui. Ninguém copiará e colará seu código sem aderir ao espírito colaborativo do código aberto.

Consulte o CONTRIBUTING.md para obter diretrizes detalhadas sobre como começar.

🥚 Origem

Se você se pergunta por que isso existe e não como contribuição para outros projetos de SQL Server, veja ORIGIN.md.

⚠️ Aviso Legal

Esta ferramenta é fornecida estritamente para pesquisa de segurança defensiva, educação e testes de penetração autorizados. Você deve ter autorização explícita por escrito antes de executar este software contra qualquer sistema que não possua.

Esta ferramenta é projetada apenas para fins educacionais e destina-se a ajudar profissionais de segurança a entender e testar a segurança de ambientes SQL Server em engajamentos autorizados.

Ambientes aceitáveis incluem:

  • Ambientes de laboratório privados que você controla (VMs locais, redes isoladas).
  • Plataformas de aprendizado sancionadas (CTFs, Hack The Box, cenários de exames OffSec).
  • Engajamentos formais de teste de penetração ou red team com consentimento documentado do cliente.

O uso indevido deste projeto pode resultar em ação legal.

⚖️ Aviso Jurídico

Qualquer uso não autorizado desta ferramenta em ambientes do mundo real ou contra sistemas sem permissão explícita do proprietário do sistema é estritamente proibido e pode violar padrões legais e éticos. Os criadores e contribuidores desta ferramenta não são responsáveis por qualquer uso indevido ou danos causados.

Use de forma responsável e ética. Sempre respeite a lei e obtenha a devida autorização.

Baixar ferramenta