[ 常用工具篇 ] CobaltStrike(CS神器)基础(一) -- 安装及设置监听器详解

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

一、CobaltStrike简介

CobaltStrike是一款渗透测试神器,被业界人称为CS神器。CobaltStrike分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
CobaltStrike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,windows exe 木马生成,windows dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等强大的功能!
windows和linux就是启动客户端方式不一样,一个双击打开运行,一个客户端运行(这里我用的是windows)

二、CobaltStrike的安装(windows&linux)

我这里以windows安装为例:
直接下载解压就行

https://pan.baidu.com/s/1LNbbeaf8LLAzdBQ-zvBgIA?pwd=5yso 

在这里插入图片描述

三、CobaltStrike主要文件目录功能介绍

1、CobaltStrike一些主要文件功能如下

agscript:扩展应用的脚本
c2lint:用于检查profile的错误和异常
teamserver:服务器端启动程序
cobaltstrike.jar:CobaltStrike核心程序
cobaltstrike.auth:用于客户端和服务器端认证的文件,客户端和服务端有一个一模一样的
cobaltstrike.store:秘钥证书存放文件

2、CobaltStrike一些主要目录功能如下

data:用于保存当前TeamServer的一些数据
download:用于存放在目标机器下载的数据
upload:上传文件的目录
logs:日志文件,包括Web日志、Beacon日志、截图日志、下载日志、键盘记录日志等
third-party:第三方工具目录

在这里插入图片描述

四、CobaltStrike的使用

1、CobaltStrike功能介绍

1、连接到另一个团队服务器。
2、断开从当前的团队服务器的连接。
3、新建和编辑Cobalt Strike的监听器。
4、切换为「服务器节点图」的可视化形式。
5、切换为「会话列表」的可视化形式。
6、切换为「目标列表」的可视化形式。
7、查看凭据。
8、查看下载的文件。
9、查看键盘记录。
10、查看屏幕截图。
11、生成一个无阶段的Cobalt Strike可执行文件或DLL.
12、设定Java签名的Applet攻击。
13、生成一个恶意的Miscrosoft Office宏。
14、建立一个无阶段的脚本的Web传送攻击。
15、在Cobalt Strike的web服务器.上托管一个文件。
16、管理托管在Cobalt Strike的web服务器上的文件和应用。
17、访问Cobalt Strike的支持页面。

在这里插入图片描述

2、CobaltStrike模块介绍

1、New Connection:打开一个新连接窗口
2、Preferences:偏好设置,就是设置CobaltStrike外观的
3、Visualization:将主机以不同的权限展示出来(主要以输出结果的形式展示)
4、VPN Interfaces:设置VPN接口
5、Listeners:创建监听器
6、Script Interfaces:查看和加载CNA脚本
7、Close:关闭

在这里插入图片描述

五、简单使用–启动CobaltStrike

1、启动服务端:

以管理员身份进入teamserver.bat所在目录
启动服务端:

./teamserver   192.168.10.11  123456    

192.168.10.11是kali的ip地址,123456是密码
后台运行,关闭当前终端依然运行:

nohup  ./teamserver   192.168.10.11  123456  &

这里CobaltStrike默认监听的是50050端口,如果我们想修改这个默认端口的话,可以打开teamserver文件,将其中的50050修改成任意一个端口号

在这里插入图片描述

2、启动客户端:

1.进入cobaltsrike_CN.vbs所在目录

在这里插入图片描述

2.打开cobaltsrike_CN.vbs进入客户端连接页面

填入相关信息,包括服务端地址,CobaltStrike监听的50050端口,连接用户名,连接密码信息

在这里插入图片描述

3.客户端面板介绍

连接成功之后进入如下面板

在这里插入图片描述

六、简单使用–创建监听器Listener

1、Listener创建面板介绍

CobaltStrike的内置监听器为Beacon,外置监听器为Foreign。CobaltStrike的Beacon支持异步通信和交互式通信。
点击左上方CobaltStrike选项——>在下拉框中选择 Listeners ——>在下方弹出区域中单机add

name:为监听器名字,可任意
payload:payload类型
HTTP Hosts: shell反弹的主机,也就是我们kali的ip
HTTP Hosts(Stager): Stager的马请求下载payload的地址
HTTP Port(C2): C2监听的端口

在这里插入图片描述

2、创建成功截图

在这里插入图片描述

3、创建Listener之payload介绍

Beacon为内置的Listener,即在目标主机执行相应的payload,获取shell到CS上;其中包含DNS、HTTP、HTTPS、SMB。Beacon可以选择通过DNS还是HTTP协议出口网络,你甚至可以在使用Beacon通讯过程中切换HTTP和DNS。其支持多主机连接,部署好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。目标网络的防护团队必须拦截所有的列表中的主机才可中断和其网络的通讯。通过种种方式获取shell以后(比如直接运行生成的exe),就可以使用Beacon了。
Foreign为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到MSF上。

1.Payload选项介绍

CobaltStrike4.0目前有以下8种Payload选项,如下:

1、Beacon DNS
2、Beacon HT TP
3、Beacon HTTPS
4、Beacon SMB
5、Beacon TCP
6、External C2
7、Foreign HTTP
8、Foreign HTTPS

在这里插入图片描述
在这里插入图片描述

2.内部的Listener

1、windows/beacon_dns/reverse_dns_txt
2、windows/beacon_http/reverse_http
3、windows/beacon_https/reverse_https
4、windows/beacon_bind_tcp
5、windows/beacon_bind_pipe

3.外部的Listener

1、windows/foreign/reverse_http
2、windows/foreign/reverse_https

4.External

1、windows/beacon_extc2
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
(注意使用前先将IP改为自己的IP或127.0.0.1) 本软件是使用套接字、ReceiveCallBack(IAsyncResult AR)函数为例的客服实例,修正了关闭客户端会导致异常的Bug;并且还是一个RichTextBox颜色使用的范例,不同的事件使用不同的颜色:如用户登录用红色、用户名用绿色、聊天内容用黑色^_^! 代码附赠全套注释,帮助初学者学习使用。 下面是核心代码 private void ReceiveCallBack(IAsyncResult AR) { try { DateTime dt = DateTime.Now; //如果服务器突然关闭后,客户端还坚持与之连接就会弹出异常; //检查是否套接字还连接上就可以避免这一问题。 if (!ClientSocket.Connected) { return; } //挂起AR,独占的使用AR来接收传过来的内容 int REnd = ClientSocket.EndReceive(AR); string StrOfREnd=Encoding.Unicode.GetString(MsgBuffer, 0, REnd); //截断的传输过来的字符串,"\n"前的是用户名 "\n"后的是聊天的内容 string UsersName = StrOfREnd.Substring(0, StrOfREnd.LastIndexOf("\n")); string Content = StrOfREnd.Substring(StrOfREnd.LastIndexOf("\n")+1); string Login=StrOfREnd.Substring(0,2); //MessageBox.Show("缓存中的内容:" + StrOfREnd + "\n" + "截断的用户名:" + UsersName + "\n" + "截断的内容:" + Content); if (Login != "登录") { //第一个字符不为“登陆” int oldlenth = tb_RecieveMsg.TextLength; this.tb_RecieveMsg.Select(oldlenth, 0); this.tb_RecieveMsg.SelectionColor = Color.Green; string str = Encoding.Unicode.GetString(MsgBuffer, 0, REnd); str = str.Substring(1, str.Length - 1); //用户使用绿色字体 this.tb_RecieveMsg.AppendText(" " + string.Format("{0:T}", dt) + " " + "用户:" + UsersName + "说:" + "\r\n"); this.tb_RecieveMsg.SelectionColor = Color.Black; this.tb_RecieveMsg.AppendText(" " + Content + "\r\n"); this.tb_RecieveMsg.AppendText("\r\n"); } else {
AUTOSAR是一种开放式的标准平台架构,旨在提高汽车电子软件的开发效率和复用性。其中,AUTOSAR CS是其通信模块之一,实现汽车电子控制单元(ECU)之间的通信。在实际生产中,通常需要对AUTOSAR CS接口进行异步配置。 异步配置是一种更加高效的配置方式,与同步配置相对应。异步配置的优点在于,自动化配置程序可以在并发环境下执行,从而提高总体性能。例如,在AUTOSAR CS接口异步配置时,可以使用基于事件的编程模型来进行配置,实现更快的响应速度和更高的吞吐量。此外,异步配置还可以提高代码的可读性和可维护性,因为它可以将控制逻辑与异步操作逻辑分开处理。 在AUTOSAR CS接口的异步配置中,最重要的是确定消息处理程序。消息处理程序是一个回调函数,用于在消息到达时执行特定的操作。例如,可以将消息发送到缓冲区或进行其他处理。在使用异步配置时,需要调用autSndCyclic()函数将发送请求提交到消息队列中,并在回调函数中处理接收到的消息。此外,在异步消息处理中,通常需要使用信号量或互斥量来保证线程安全性。 总之,AUTOSAR CS接口异步配置是一种高效且可靠的方法,用于在汽车电子模块之间进行通信。它可以提高整体性能,同时还可以使代码更易于理解和维护。通过选择正确的消息处理程序和使用适当的线程保护机制,可以轻松使用和优化异步配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_PowerShell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值