前言
在我们获取一个beacon后,为了防止掉线,或者防止目标重启后权限丢失,需要进行权限维持,我这里使用Erebus插件进行权限维持。当然这个插件还有其他功能,我这里仅仅对权限维持这部分的功能进行测试。有service、IFEO和AutoRun三种。插件地址:Erebus
1 | 既然要进行权限维持,首先是需要在获取高权的基础上,有两方面因素: |
service
使用service进行权限维持,当开启服务后,即可使目标上线。以下是测试过程:
首先使用cs获取权限
然后将我们想要执行的exe上传到目标机器上,我这里是使用cs生成了一个exe,执行后可以反弹shell。
通过Erebus插件添加服务,选择Persistence->service。
添加一个服务,上面的那个参数是服务名,下面的参数是这个服务运行时执行的文件。
使用这种方式进行权限维持,本质上是执行了如下的命令,不过是写成插件以后比较方便。
1 | sc create "WindowsUpdate" binpath= "cmd /c start "C:\Users\admin\Desktop\artifact.exe""&&sc config "WindowsUpdate" start= auto&&net start WindowsUpdate |
执行成功后,会返回system的shell,无需重启
然后我们重启受害机进行测试,shell仍然存在
1 | shell sc delete WindowsUpdate 删除服务 |
IFEO映像劫持
1 | 映像劫持:某个操作的时候被拦截下来,干了别的事。 |
使用IFEO可以实现后门持久化,可以实现系统在未登录状态下,通过快捷键运行自己的程序。比如:Windows + U组合键时启动的utilman.exe,或者5次shift替换粘滞键。
劫持utilman
执行后我们可以看到,本质上还是操作注册表
锁屏后使用win+u即可调出cmd
当然,我们可以把命令换成执行我们的payload
劫持粘滞键
按5下shift出现的粘滞键Sethc.exe,CallBackFile可以根据我们的需求进行更改,也可以执行5次shift后反弹shell
AutoRun
AutoRun就是我们熟悉的启动项劫持,经常劫持的有如下注册表选项:
1 | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run |
重启后生效
总结
其实这些方法都可以手工完成,使用插件就是可以方便一些,权限维持的方式还有很多,有能力的朋友也可以写成插件的形式,提升渗透效率。
参考: