首页
学习
活动
专区
工具
TVP
发布

Cobalt Strike实战技巧持久性权限控制姿势

前言

想写这篇文章已经有一段时间了,接触Cobalt Strike的时间并不是很长,一个朋友曾开玩笑的说道Cobalt Strike“是灰鸽子的旗舰版”,CS已经成为我们在做后渗透、权限维持以及内网渗透中,少不了的利器。

我使用的是Cobalt Strike3.6相信有不少玩Cobalt Strike安装完成后都会遇到过的两个问题

服务器端连接:./teamserver ip 密码

一个是teamserver脚本的问题,这里要到teamserver脚本中删除一些字符串否则启动会报错,(多谢大佬提醒),把-XX:AggressivHeap -XX:UseParallelGc删除。

在服务器中CS已经启动成功了,客户端连接提示超时,之前设置的监听端口忽略。

这时我们还需要关闭服务器Linux防火墙不然客户端连接不上的。 Linux执行: service iptables stop

50050是默认端口,可以在浏览器中检测到是否能访问

在客户端输入对应的信息就连接上了CS,”User”是可以自己随便填写用户的。

登入成功后的界面:

下面也简单的说下创建监听和Scripted web_Delivery这块

然后在创建一个监听 “从Cobalt Strike菜单栏”->Listeners

填写以下信息即可:Payload中的windows/beacon_http/reverse_http:有效载荷

单击保存。默认会使用服务器的IP地址或者填入任何解析的域名:

点击确定之后就会开始监听1900端口

还需要在设置下Powershell Scripted web_Delivery类似于msf的web_delivery

填写所需参数默认端口是80,这里我用19001端口,Type这块一般都用powershell,根据需要可以自己选择。

创建成功会弹出以下一个窗口里面包含powershell远程下载执行命令

顺便也看看web_Delivery生成的powershell的木马,通过powershell来执行某些指令通过Base64方式进行加密

依次点击Attacks ->Web Drive-by->Manage对之前创建的web服务进行管理

复制URL

在目标机器上执行

这时已经能控制目标主机了

当目标机器重启电脑后Cobalt Strike就会失去对目标主机的控制权限,这时我们该如何持久的控制对方主机。

在我刚接触msf这块的时候印象最深刻的就是windows xp系统使用metasploit留的MetSVC和Persistence这两个持久性后门控制,那么使用Cobalt Strike如何持久控制目标主机权限的呢。

正文

设置powershell脚本开机自启动后门。

使用SC命令创建windows服务名最好伪装下,binpath= 这里一定要注意有个空格不然创建不成功把powershell远程执行下载命令也包含进去地址:”http://192.168.1.82:19001/a“链接就是我们刚刚生成的木马地址

这时目标就会有个刚创建个为”name”的服务,可执行文件的路径都在刚刚命令执行过程中指定到的里面

SC config “name” start= auto 我们需要把这个name服务设置为自动。

Sc description “name” “description” 设置服务的描述字符串

net start “name” 启动服务

SC delete “name” 删除这个服务,不想使用服务直接删除

反向连接这时我们重新拿到一个shell,已服务运行的权限运行可以看到是SYSTEM

重启下目标主机试试,现在两个会话已经失去了连接。

通过powershell留开机自启动服务,当目标主机重启电脑之后,不断向攻击机器发送请求数据包,重新拿到控制权限

下面两种方法就比较常见的留自启动后门

service

生成service的exe程序放到目标机器

这里选择windows Service EXE

这里我为了方便就直接拖到虚拟机里面了

当然在实战过程中点击Explore->File Browser同样的也可以上传文件

同样的

先创建一个服务名称后面跟着木马上传的路径,这里如果要保证”windows Service EXE程序不被杀毒软件拦截,最好做下免杀,在放到更加隐蔽的目录

启动服务之后CS重新拿到一个反向连接shell会话

重启目标机器,也能拿到控制权限。

regedit

生成一个exe木马程序

设置开机启动项,往注册表HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run添加木马程序路径

当系统注销,再次进入登入到目标系统就会上线,权限是继承的。

总结

结尾也在唠叨下关于留自启动后门方法很多,大多数都添加到服务,加注册表 加启动项,文章中也只是使用Cobalt Strike本身自带的攻击模块去实现留自启动的操作,如果团体服务器重启了,Cobalt Strike还想再次连上控制目标机器,客户端需要重新设置和之前一样的操作,Listeners以及Scriptad Web Delivery端口等必须设置的和之前一致,这样被控制的机器再次发包请求服务器时才能重新获取控制权限。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171228B0ODPG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券