上個月,一名安全研究人員意外發(fā)現了一個名為PrintNightmare的0 day漏洞,利用此漏洞,黑客可以在補丁完善的Windows Print Spooler設備上獲得完整的遠程代碼執(zhí)行能力,此漏洞被微軟追蹤為CVE-2021-34527。
在6月補丁星期二活動日中,微軟發(fā)布的安全累積更新中修復了一個類似的Print Spooler漏洞。但是對于已經打過補丁的Windows Server 2019設備,PrintNightmare漏洞依然有效,并允許攻擊者遠程執(zhí)行代碼。
由于修復不完整,安全研究人員一直在仔細檢查,并發(fā)現了影響Windows打印后臺處理程序的更多漏洞。
攻擊中使用的遠程打印服務器
安全研究員和Mimikatz的創(chuàng)建者Benjamin Delpy公開披露了一個新的0 day漏洞,該漏洞允許威脅參與者通過他們控制的遠程打印服務器輕松獲得Windows機器上的系統(tǒng)權限。
您知道什么比Legit Kiwi打印機更好嗎?另一臺Legit Kiwi打印機……完全沒有先決條件,你甚至不需要簽署驅動程序/包pic.twitter.com/oInb5jm3tE—本杰明·德爾佩(@gentilkiwi),2021年7月16日
在與BleepingComputer的交流中,Delpy表示,他的漏洞利用Windows指向和打印功能的“隊列特定文件”功能,在客戶端連接到攻擊者控制下的打印服務器時自動下載并執(zhí)行惡意DLL。
“在打印機安裝時,供應商提供的安裝應用程序可以指定一組與特定的打印隊列相關聯的任何類型的文件,”微軟關于“隊列特定文件”功能的文檔解釋說。
“文件被下載到連接到打印服務器的每個客戶端?!?/p>
為了利用該漏洞,研究人員創(chuàng)建了一個可通過Internet訪問的打印服務器,其中包含兩臺使用隊列特定文件功能的共享打印機。
執(zhí)行惡意DLL時,它將以SYSTEM權限運行,可用于在計算機上運行任何命令。
CERT/CC的漏洞分析師Will Dormann發(fā)布了針對此漏洞的公告,提供了更多信息。
“雖然Windows強制驅動程序包本身由受信任的來源簽名,但Windows打印機驅動程序可以指定與設備使用相關的隊列特定文件。例如,共享打印機可以為任意ICM文件指定CopyFiles指令。”
“這些用數字簽名強制打印機驅動程序文件一起復制的文件不受任何簽名要求的約束。也就是說,任何文件都可以通過Point and Print打印機驅動程序安裝復制到客戶端系統(tǒng),在那里它可以由另一臺具有SYSTEM特權的打印機使用?!?/p>
“這允許在易受攻擊的系統(tǒng)上進行LPE?!?/p>
使此漏洞如此危險的原因在于,它會影響所有當前版本的Windows,并允許威脅行為者獲得對網絡的有限訪問權限,同時立即在易受攻擊的設備上獲得SYSTEM權限。
使用此訪問權限,威脅參與者可以通過網絡橫向傳播,直到他們獲得對域控制器的訪問權限。
Delpy創(chuàng)建了一個可公開訪問的遠程打印服務器,可用于測試上述漏洞。
緩解新的打印機漏洞
好消息是Delpy和Dormann共享了兩種可用于緩解這種新的“Queue-specific文件”漏洞的方法。
CERT咨詢中概述了這兩種方法。
選項1:在網絡邊界阻止出站SMB流量
由于Delpy的公開漏洞利用遠程打印服務器,您可以阻止出站SMB流量以防止訪問遠程計算機。
但是,Dormann表示MS-WPRN也可用于在不使用SMB的情況下安裝驅動程序,并且威脅行為者仍然可以通過本地打印機服務器使用此技術。
因此,這種緩解措施不是阻止漏洞利用的故障安全方法。
選項2:配置PackagePoint和PrintServerList
防止此漏洞的更好方法是將包點和打印限制到批準的服務器。此策略設置限制到已批準服務器的程序包點和打印連接。此設置僅適用于“打包點”和“打印”連接,并且獨立于控制非包點和打印連接的行為的“點”和“打印限制”策略。
如果啟用此設置,則用戶只能將點和打印到網絡管理員批準的打印服務器。使用包點和打印時,客戶端計算機將檢查從打印服務器下載的所有驅動程序的驅動程序簽名。
此策略設置控制客戶端Point和Print行為,包括Vista計算機Windows提示。策略設置僅適用于非打印管理員客戶端,并且僅適用于作為域成員的計算機。
使用此組策略將針對已知漏洞提供最佳保護。
BleepingComputer已就該問題與Microsoft聯系,但尚未收到回復。