快捷导航

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

[复制链接]
查看: 308|回复: 0

8万

主题

8万

帖子

26万

积分

论坛元老

Rank: 8Rank: 8

积分
260116
发表于 2020-11-2 00:00:00 | 显示全部楼层 |阅读模式
  想写这篇文章已经有一段时间了,接触Cobalt Strike的时间并不是很长,一个朋友曾开玩笑的说道Cobalt Strike“是灰鸽子的旗舰版”,CS已经成为我们在做后渗透、权限维持以及内网渗透中,少不了的利器,FreeBuf已有前辈发过几篇很棒的文章,让我们从文章中收获不少的知识点,介绍就不再多说了。 第一次发, 文章难免有错误的地方请大佬们多多指点。





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





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





  





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





  





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





  





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





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





  





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





  登入成功后的界面:





  





  然后在创建一个监听 “从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会话





  





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





  





  生成一个exe木马程序





  





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





  





  





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





  





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





  *本文原创作者:FK_T



(责任编辑:网络)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

让创业更简单

  • 反馈建议:XXXXXXXX
  • 客服电话:暂时没有
  • 工作时间:周一到周五9点~22点

云服务支持

黑客联盟,快速搜索

关注我们

Copyright 黑客论坛  Powered by©  技术支持: