使用cobaltstrike权限维持

前言

​ 在我们获取一个beacon后,为了防止掉线,或者防止目标重启后权限丢失,需要进行权限维持,我这里使用Erebus插件进行权限维持。当然这个插件还有其他功能,我这里仅仅对权限维持这部分的功能进行测试。有service、IFEO和AutoRun三种。插件地址:Erebus

1
2
3
既然要进行权限维持,首先是需要在获取高权的基础上,有两方面因素:
第一点就是获取低权权限维持的意义不大,
第二点是低权无法进行注册表修改等等操作,也不好进行权限维持.

service

使用service进行权限维持,当开启服务后,即可使目标上线。以下是测试过程:

首先使用cs获取权限

image-20200210204445767

然后将我们想要执行的exe上传到目标机器上,我这里是使用cs生成了一个exe,执行后可以反弹shell。

image-20200210204951391

通过Erebus插件添加服务,选择Persistence->service。

image-20200210211402844

添加一个服务,上面的那个参数是服务名,下面的参数是这个服务运行时执行的文件。

image-20200210211725936

使用这种方式进行权限维持,本质上是执行了如下的命令,不过是写成插件以后比较方便。

1
sc create "WindowsUpdate" binpath= "cmd /c start "C:\Users\admin\Desktop\artifact.exe""&&sc config "WindowsUpdate" start= auto&&net start  WindowsUpdate

image-20200212232104780

执行成功后,会返回system的shell,无需重启

image-20200210212033229

然后我们重启受害机进行测试,shell仍然存在

image-20200210212244400

image-20200210212421777

1
shell sc delete WindowsUpdate 删除服务

image-20200210214933364

IFEO映像劫持

1
映像劫持:某个操作的时候被拦截下来,干了别的事。

使用IFEO可以实现后门持久化,可以实现系统在未登录状态下,通过快捷键运行自己的程序。比如:Windows + U组合键时启动的utilman.exe,或者5次shift替换粘滞键。

劫持utilman

image-20200211193950726

执行后我们可以看到,本质上还是操作注册表

image-20200211194149713

锁屏后使用win+u即可调出cmd

image-20200211194300707

当然,我们可以把命令换成执行我们的payload

image-20200211194952327

image-20200211195027355

劫持粘滞键

按5下shift出现的粘滞键Sethc.exe,CallBackFile可以根据我们的需求进行更改,也可以执行5次shift后反弹shell

image-20200211194448856

image-20200211194506792

image-20200211194535458

AutoRun

AutoRun就是我们熟悉的启动项劫持,经常劫持的有如下注册表选项:

1
2
3
4
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

image-20200211195244752

image-20200211195351287

重启后生效

image-20200211195537803

总结

​ 其实这些方法都可以手工完成,使用插件就是可以方便一些,权限维持的方式还有很多,有能力的朋友也可以写成插件的形式,提升渗透效率。

参考: