
Ein C# MS SQL Toolkit, das für offensive Aufklärung und Post-Exploitation entwickelt wurde.
SQLRecon ist ein Microsoft-SQL-Server-Toolkit, das für offensive Aufklärung und Post-Exploitation entwickelt wurde. Detaillierte Informationen zur Verwendung der einzelnen Techniken finden Sie im Wiki.
Sie können eine Kopie von SQLRecon über die Seite Releases herunterladen. Alternativ können Sie die Lösung auch selbst kompilieren. Das sollte so unkompliziert sein wie das Klonen des Repos, das Doppelklicken auf die Lösungsdatei und das Erstellen.
Präventions-, Erkennungs- und Abhilfehinweise wurden ebenfalls für alle Verteidiger unter Ihnen bereitgestellt.
Schauen Sie sich meinen Blogbeitrag auf der IBM Security Intelligence-Website an. Wenn Sie Videos bevorzugen, sehen Sie sich meine Präsentation auf der Black Hat an.
Aufklärungsmodule erfordern keinen anzugebenden Authentifizierungsanbieter. Diese Module müssen an das Flag für Aufklärungsmodule (/e:, /enum:) übergeben werden. Das Wiki enthält Details zur Verwendung von Aufklärungsmodulen.```
Info - Show information about the SQL server.
/h:, /host -> SQL server hostname or IP. Multiple hosts supported.
/port: -> (OPTIONAL) Defaults to 1434 (UDP).
/t:, timeout: -> (OPTIONAL) Defaults to 3s.
SqlSpns - Use the current user token to enumerate the AD domain for MSSQL SPNs. /d:, /domain: -> (OPTIONAL) NETBIOS name or FQDN of domain.
# Authentifizierungsanbieter
SQLRecon unterstützt eine Vielzahl von Authentifizierungsanbietern (`/a:, /auth:`), um die Interaktion mit einem Microsoft SQL Server zu ermöglichen.```
WinToken - Use the current users token to authenticate against the SQL database
/h:, /host: -> SQL server hostname or IP
WinDomain - Use AD credentials to authenticate against the SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/d:, /domain: -> NETBIOS name or FQDN of domain.
/u:, /username: -> Username for domain user.
/p:, /password: -> Password for domain user.
Local - Use local SQL credentials to authenticate against the SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/u:, /username: -> Username for local SQL user.
/p:, /password: -> Password for local SQL user.
EntraID - Use Azure EntraID credentials to authenticate against the Azure SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/d:, /domain: -> FQDN of domain (DOMAIN.COM).
/u:, /username: -> Username for domain user.
/p:, /password: -> Password for domain user.
AzureLocal - Use local SQL credentials to authenticate against the Azure SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/u:, /username: -> Username for local SQL user.
/p:, /password: -> Password for local SQL user.
/h:, host:) ist erforderlich und ermöglicht einen oder mehrere SQL-Server. Wenn Sie ein Modul gegen mehrere SQL-Server ausführen möchten, trennen Sie die Hosts durch ein Komma, z. B. /h:SQL01,10.10.10.2,SQL03.master, dies kann jedoch optional geändert werden, indem über das Datenbank-Flag (/database:) ein benutzerdefinierter Datenbankname angegeben wird./debug ist optional und zeigt alle SQL-Abfragen an, die von einem Modul ausgeführt werden, ohne sie tatsächlich auf den entfernten Host(s) auszuführen. Ein Beispiel hierfür finden Sie im Wiki.1433 mit Datenbanken, dies kann jedoch optional über das Flag /port: geändert werden.3 Sekunden, dieser Wert kann jedoch optional geändert werden, indem ein Timeout-Wert (/t:, /timeout:) angegeben wird, der der Anzahl der Sekunden vor dem Beenden des Verbindungsversuchs entspricht./v, /verbose ist optional und zeigt alle SQL-Abfragen an, die von einem Modul ausgeführt werden, bevor sie auf den entfernten Host(s) ausgeführt werden. Ein Beispiel hierfür finden Sie im Wiki.Bitte beachten Sie, dass der Authentifizierungsanbieter EntraID voraussetzt, dass die Azure Active Directory Authentication Library (ADAL) oder Microsoft Authentication Library (MSAL) auf dem System vorhanden ist, von dem SQLRecon ausgeführt wird. Dies dient der Azure-EntraID-Authentifizierungs- und Autorisierungsfunktionalität.
SQL-Module werden gegen eine oder mehrere Instanzen von Microsoft SQL Server ausgeführt. Diese Module müssen über das Modul-Flag (/m:, /module:) übergeben werden.