Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
MSSQLand — In-Ziel-C#-Post-Exploitation-Tool für Microsoft SQL Server (MS SQL / MSSQL) zur Durchquerung von Linked-Server-Ketten beliebiger Tiefe mit kaskadierender Login-Impersonation auf jedem Hop. | Kitploit
Tools/GitHubGitHub/n3rada/mssqland
Privilege EscalationImpersonations-ToolsLaterale BewegungKonfigurationsprüfungInformationsbeschaffungPost-ExploitationPenetrationstestsRed TeamingDatenbanksicherheit
GitHubn3rada/mssqland

MSSQLand

In-Ziel-C#-Post-Exploitation-Tool für Microsoft SQL Server (MS SQL / MSSQL) zur Durchquerung von Linked-Server-Ketten beliebiger Tiefe mit kaskadierender Login-Impersonation auf jedem Hop.

75975vor 2 MonatenVon 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
Repository anzeigen

✈️ MSSQLand

Landen Sie elegant in Ihrem Microsoft SQL Server (MS SQL) DBMS, als kämen Sie mit einem Champagnerglas in der Hand in der Business-Class an. 🥂

MSSQLand chaining capabilities

MSSQLand ist ein C#-Post-Exploitation-Tool für Microsoft SQL Server (MSSQL / MS SQL), das für Red-Team-Operatoren entwickelt wurde. Es wurde für die direkte Ausführung in der Zielumgebung über Ihre Beacons entwickelt (z. B. mit execute-assembly in Cobalt Strike oder Havoc oder einem beliebigen dotnet Befehl) und ermöglicht es Ihnen, verknüpfte Serverketten zu durchlaufen, sich als beliebige Anmeldeinformationen auszugeben, die Ihnen unterwegs begegnen, und vom letzten Knotenpunkt aus jede gewünschte Aktion auszuführen. All dies bei minimalem OPSEC-Fußabdruck und ohne externe Abhängigkeiten.

  • Traversierung verknüpfter Server: Automatisches OPENQUERY / EXEC AT Wrapping über beliebig tiefe Ketten
  • Identitätswechsel: EXECUTE AS LOGIN auf jedem Hop mit kaskadierender Multi-User-Imitation
  • Authentifizierung: Aktuelles Windows-Token, Pass-the-Hash über Beacon-Token-Imitation, Kerberos
  • Discovery: SQL Browser (UDP 1434), Active Directory SPN-Ermittlung via LDAP, Broadcast, TDS-Portscan
  • ConfigMgr / SCCM / MECM: Dedizierte cm-*-Aktionen für Recon und Exploitation von Microsoft Configuration Manager-Datenbanken
  • Ausgabe: Markdown-freundliche Tabellen mit Zeitstempeln, CSV-Export für saubere Penetrationstest-Ergebnisse

[!TIP] MSSQLand wurde mit .NET Framework 4.8 erstellt und ist für die Assembly-Ausführung unter Verwendung des aktuellen Kontexts ausgelegt. Wenn Sie eine Verbindung mit NT/LM-Hashes oder einem Kerberos-Ticket herstellen müssen, siehe Pass-the-Hash.

[!NOTE] Vergessen Sie nicht die Grundlagen. Während einer Sicherheitsbewertung ist es manchmal einfacher, SQL Server Management Studio (SSMS) zu verwenden.

🧸 Verwendung

MSSQLand.exe [optionen] <host> [optionen] <aktion> [aktionsoptionen]
MSSQLand.exe <host> --probe

Globale Flags (-c, -l, --debug usw.) werden an jeder Position akzeptiert, auch nach dem Aktionsnamen; nicht erkannte Token nach der Aktion werden unverändert an die Aktion übergeben.

[!NOTE] Wenn <aktion> weggelassen wird, wird nur ein Verbindungstest durchgeführt. Es authentifiziert sich und beendet sich ohne Ausführung von Abfragen. Ideal für die Überprüfung von Anmeldeinformationen mit minimalem OPSEC-Fußabdruck.

[!TIP] Vermeiden Sie es, alle RPC Out oder OPENQUERY Aufrufe manuell einzutippen. Lassen Sie das Tool jede Kette von verknüpften Servern mit dem Argument -l handhaben, damit Sie sich auf das große Ganze konzentrieren können.

Format: server:port/user@database oder jede Kombination server/user@database:port.

  • server (erforderlich) - Der SQL Server-Hostname oder die IP
  • :port (optional) - Portnummer (Standard: 1433, auch üblich: 1434, 14333, 2433)
  • /user (optional) - Benutzer, der auf diesem Server nachgeahmt werden soll ("execute as login")
    • Unterstützt kaskadierende Identitätswechsel: /user1/user2/user3 führt EXECUTE AS LOGIN = 'user1'; EXECUTE AS LOGIN = 'user2'; EXECUTE AS LOGIN = 'user3'; aus
    • Jeder /user schiebt einen neuen Identitätswechselkontext auf den Sicherheitsstapel
  • @database (optional) - Datenbankkontext
# Konnektivitätstest: Prüft, ob der Server aktiv ist, ohne sich zu authentifizieren
MSSQLand.exe localhost --probe

# Nur Verbindungstest (keine Aktion ausgeführt, authentifiziert und beendet)
MSSQLand.exe localhost -c token

# Bestimmte Aktion ausführen
MSSQLand.exe localhost -c token info
MSSQLand.exe localhost:1434@db03 -c token info
MSSQLand.exe LAB-SQL01@AdventureWorks -c token tables -n Customer

🔗 Verknüpfte Server-Kette

Verknüpfen Sie mehrere SQL-Server mit dem Flag -l unter Verwendung von Semikolon (;) als Trennzeichen:

-l SQL01;SQL02/user;SQL03@database

Syntax:

  • Semikolon (;) - Trennt Server in der Kette
  • Schrägstrich (/) - Gibt den zu imitierenden Benutzer an ("execute as login")
    • Unterstützt kaskadierende Identitätswechsel: /user1/user2 führt sequentielle Identitätswechsel aus
  • At-Zeichen (@) - Gibt den Datenbankkontext an
  • Eckige Klammern ([...]) - Werden verwendet, um den Servernamen vor dem Aufteilen durch unsere Trennzeichen zu schützen

Beispiele:

# Einfache Kette
-l SQL01;SQL02;SQL03

# Mit Identitätswechsel und Datenbanken
-l SQL01/admin;SQL02;SQL03/manager@clients

# Kaskadierender Identitätswechsel (user1 imitieren, dann user2 auf SQL01)
-l SQL01/user1/user2;SQL02;SQL03

# Gemischter kaskadierender Identitätswechsel (SQL01: user1→user2, SQL03: user3→user4→user5)
-l SQL01/user1/user2;SQL02;SQL03/user3/user4/user5@database

# Servernamen können Bindestriche, Punkte enthalten (keine Klammern erforderlich)
-l SQL-01;SERVER.001;HOST.DOMAIN.COM

# Klammern nur erforderlich, wenn der Servername Trennzeichen enthält
-l [SERVER;PROD];SQL02;[SQL03@clients]@clientdb

[!NOTE] Die Portangabe (:port) gilt nur für die erste Host-Verbindung. Verknüpfte Serverketten (-l) verwenden die verknüpften Servernamen, wie sie in sys.servers konfiguriert sind, keine hostname:port-Kombinationen.

🔍 Erkennung

Diese Modi erfordern keine Authentifizierung und funktionieren, bevor Sie Anmeldeinformationen haben.

📡 Browsing-Dienst

Der SQL Server Browser-Dienst hört auf UDP 1434 und antwortet auf Discovery-Anfragen mit der Liste der SQL Server-Instanzen, die auf einem Host laufen, einschließlich ihrer Namen, Versionen und TCP-Ports. Dies ist nützlich, wenn das Ziel benannte Instanzen auf dynamischen Ports ausführt – kein Raten oder Scannen nötig.

# Den SQL Browser-Dienst auf einem bestimmten Host abfragen (UDP 1434)
MSSQLand.exe LAB-SQL03 --browse

📂 LDAP-Abfragen

Active Directory stellt SQL Server-Registrierungen über Service Principal Names (SPNs) bereit, die auf Computer- und Dienstkonten gespeichert sind. MSSQLand fragt AD via LDAP nach MSSQLSvc/* SPNs ab, um SQL Server-Instanzen in der gesamten Domäne oder der gesamten Gesamtstruktur über den globalen Katalog zu ermitteln.

# SQL Server in Active Directory via LDAP finden (aktuelle Domäne)
MSSQLand.exe --findsql

# Eine bestimmte Domäne ansprechen
MSSQLand.exe --findsql pgd.lab

# Domänenübergreifende Suche über Globalen Katalog (Port 3268)
MSSQLand.exe --findsql pgd.lab --gc

Die Erkennung erfolgt mehrschichtig. Siehe FindSqlServers.cs für weitere Details.

📢 Broadcast

Der SQL Server Browser reagiert auch auf UDP-Broadcast-Pakete auf UDP 1434, was die Erkennung aller SQL Server-Instanzen ermöglicht, die sich im lokalen Subnetz selbst ankündigen.

# Broadcast-Erkennung im lokalen Netzwerk (UDP 1434)
MSSQLand.exe --broadcast
MSSQLand.exe --broadcast --timeout 5
Tool herunterladen