
Ein C#-MS-SQL-Toolkit für offensive Aufklärung und Post-Exploitation.
SQLRecon ist ein Microsoft SQL Server-Toolkit, das für offensive Aufklärung und Post-Exploitation entwickelt wurde. Detaillierte Informationen zur Verwendung jeder Technik finden Sie im Wiki.
Sie können eine Kopie von SQLRecon von der Releases-Seite herunterladen. Alternativ können Sie die Lösung selbst kompilieren. Dies sollte so einfach sein wie das Klonen des Repos, Doppelklicken auf die Lösungsdatei und Erstellen.
Präventions-, Erkennungs- und Minderungsanleitung wurde auch für all die Verteidiger da draußen bereitgestellt.
Lesen Sie meinen Blogbeitrag auf der IBM Security Intelligence-Website. Wenn Sie Videos bevorzugen, sehen Sie sich meine Präsentation auf der Black Hat an.
Aufklärungsmodule erfordern keinen Authentifizierungsanbieter. Diese Module müssen über 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.
Pth - Authenticate using an NT hash (pass-the-hash) over raw TDS/NTLM. Elevated privileges or SeImpersonate is not required.
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/d:, /domain: -> NETBIOS domain name.
/u:, /username: -> Domain username.
/hash: -> NT hash (32 hex chars, 8846f7eaee8fb117ad06bdd830b7586c) or LM:NT format.
/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-Datenbank, dies kann jedoch optional geändert werden, indem ein benutzerdefinierter Datenbankname über das Datenbank-Flag (/database:) angegeben wird./debug-Flag ist optional und zeigt alle SQL-Abfragen an, die von einem Modul ausgeführt werden, ohne sie tatsächlich auf dem/den entfernten Host(s) auszuführen. Ein Beispiel hierfür finden Sie im Wiki.1433 mit Datenbanken, dies kann jedoch optional mit dem /port:-Flag geändert werden.3 Sekunden, dieser Wert kann jedoch optional durch Angabe eines Timeout-Werts (/t:, /timeout:) geändert werden, der der Anzahl der Sekunden vor dem Beenden des Verbindungsversuchs entspricht./v, /verbose-Flag ist optional und zeigt alle SQL-Abfragen an, die von einem Modul ausgeführt werden, bevor sie auf dem/den entfernten Host(s) ausgeführt werden. Ein Beispiel hierfür finden Sie im Wiki.Bitte beachten Sie, dass der EntraID-Authentifizierungsanbieter erfordert, dass die Azure Active Directory Authentication Library (ADAL) oder die Microsoft Authentication Library (MSAL) auf dem System vorhanden ist, von dem SQLRecon ausgeführt wird. Dies dient der Azure EntraID-Authentifizierung 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.