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

news2024/9/22 19:45:58

🍬 博主介绍

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

文章目录

  • 🍬 博主介绍
  • 一、CobaltStrike简介
  • 二、CobaltStrike的安装(windows&linux)
    • 三、CobaltStrike主要文件目录功能介绍
    • 1、CobaltStrike一些主要文件功能如下
    • 2、CobaltStrike一些主要目录功能如下
  • 四、CobaltStrike的使用
    • 1、CobaltStrike功能介绍
    • 2、CobaltStrike模块介绍
  • 五、简单使用--启动CobaltStrike
    • 1、启动服务端:
    • 2、启动客户端:
      • 1.进入cobaltsrike_CN.vbs所在目录
      • 2.打开cobaltsrike_CN.vbs进入客户端连接页面
      • 3.客户端面板介绍
  • 六、简单使用--创建监听器Listener
    • 1、Listener创建面板介绍
    • 2、创建成功截图
    • 3、创建Listener之payload介绍
      • 1.Payload选项介绍
      • 2.内部的Listener
      • 3.外部的Listener
      • 4.External

一、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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/341566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLO-V5轻松上手

之前介绍了YOLO-V1~V4版本各做了哪些事以及相较于之前版本的改进。有的人或许会想“直接学习最近版本的算法不好吗”,在我看来,每一个年代的版本/算法都凝聚着当年学术界的智慧,即便是它被淘汰了也依旧有值得思考的地方,或是可以使…

工业无线物联网解决方案中的缺陷可让攻击者深入访问OT网络

运营技术 (OT) 团队通常通过无线和蜂窝解决方案将工业控制系统 (ICS) 连接到远程控制和监控中心,这些解决方案有时带有供应商运行的基于云的管理界面。 这些连接解决方案,也称为工业无线物联网设备,增加了 OT 网络的攻击面,并且可…

CentOS8基础篇6:文件属性的读取和修改

一、文件属性 每一行代表对应文件或目录的详细信息。从左到右具体的含义是文件属性、文件数、拥有者、所属的组、文件大小、建立月份、建立日期、建立年份或时间、以及文件名。其中“建立年份或时间”字段,如果文件是今年建立的,则显示具体时间&#xf…

文献阅读笔记 # GraphCodeBERT: Pre-training Code Representations with Data Flow

《GraphCodeBERT: Pre-training Code Representations with Data Flow》ICLR 2021 (TH-CPL A会,公认顶会,但未上 CCF 榜)作者部分与 CodeBERT 重叠,主要来自 MSRA Intern 和 MSRA 研究员,学生来自国内多个顶尖高校。资源&#xff…

java 黑马头条 day3 实名认证分布式事务问题 seata

1 完善实名认证功能 1.1 实名认证分布式事务问题 1.1.1 问题分析 在昨天的实名认证代码中,审核完毕后添加 id5的演示异常,重新使用postman进行测试, 会发现 出现异常后 本地方法因为有 Transactional注解 对ap_user ap_user_realname的操作会回滚 而…

【Docker】配置lsky pro兰空图床

Docker 部署 lsky pro 兰空图床的教程 本文首发于 慕雪的寒舍 1.使用Docker部署 命令比较简单,用下面的即可 docker run -d \ --name lsky \ -p 14728:80 \ -v /root/docker/lsky:/var/www/html \ halcyonazure/lsky-pro-docker:latest--name 设置容器名字为 lsky…

基于VS调试分析 + 堆栈观察问题代码段

文章目录问题代码段1 —— 阶乘之和问题代码段2 —— 越界的危害① 发现问题② 分析问题③ 思考问题【⭐堆栈原理⭐】④ 解决问题【DeBug与Release】👨程序员与测试人员👩✒总结与提炼问题代码段1 —— 阶乘之和 先来看一道C语言中比较基础的题目&#x…

新能源汽车PK燃油汽车,首次胜出,输赢真的那么重要?

新能源汽车PK燃油汽车,输赢真的那么重要?是的。【科技明说 | 每日看点】今天看到一个新能源汽车领域的消息,我觉得很有意思,是说中国新能源汽车满意度水平首次超过了燃油汽车,你们觉得是这样么?…

语义通信:DeepSC用于文本传输也太香了吧

论文标题:Deep Learning Enabled Semantic Communication Systems 论文链接:https://arxiv.org/abs/2006.10685v1 摘要 最近,人们开发了支持深度学习的端到端(E2E)通信系统,以合并传统通信系统中的所有物…

React中JSX的用法和理解

React的特点 React是用于构建用户界面的高效且灵活的 JavaScript 库,采用组件化模式和声明式编码;使用DOMdiff算法,最大限度地减少与DOM的交互。 相关js库 react.js:React核心库。react-dom.js:提供操作DOM的react扩…

Eclipse导出jar时的错误

文章目录一、发现问题二、解决问题三、新的问题今天,本来是风和日丽,轻风和畅的,复习的一天,直到我开始尝试导出 jar 可执行文件,兄弟们请记住这个词,我将被他折磨很久。一、发现问题 首先,我美…

RT-Thread MSH_CMD_EXPORT分析

RT-Thread MSH_CMD_EXPORT分析 1. 源码分析 在rt-thread中,使用FinSH,可以支持命令行。在源码中,使用MSH_CMD_EXPORT导出函数到对应命令。 extern void rt_show_version(void); long version(void) {rt_show_version();return 0; } MSH_CM…

实战超详细MySQL8离线安装

在RedHat中,RPM Bundle 方式安装MySQL8。建议一定要用 RPM Bndle 版本安装,包全。官网下载:https://dev.mysql.com/downloads/mysql/1.卸载mariadb,会与MySQL安装冲突。rpm -qa | grep mariadb 查看有无mariadb如果有&#xff0…

数据机构笔记哈夫曼编码

1.什么是哈夫曼树?哈夫曼树经典问题:合并果堆问题:如果有三个果堆,其质量分别是1,2,3,我们现在需要将这三堆合并成一堆果堆,合并过程消耗体力等于两堆果堆的质量之和,求最小体力消耗值&#xff…

java贪心算法

1 应用场景-集合覆盖问题 假设存在下面需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区 都可以接收到信号 2 贪心算法介绍 贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优…

Threadlocal为何引发内存泄漏问题

首先我们要先了解什么是泄漏问题和什么是内存溢出 内存泄漏表示程序员申请了内存,但是该内存一直无法被释放 内存溢出表示申请内存不足,就会报错 为何引发内存泄漏问题 因为每个线程都有自己独立的ThreadLocalMap对象,key为ThreadLocal&…

【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号

文章目录1.函数重载:writetofile(),Ctrue和false,C0和非02.类和对象:vprintf2.1 构造函数:对成员变量初始化2.2 析构函数:一个类只有一个,不允许被重载3.引用:C中&取地址&#x…

【shell 编程大全】内容格式化以及多样化输出

内容格式化以及多样化输出 1. 前倾回顾 本章节我们一起来学习下,shell中内容格式化,以及多样输出。但是在学习之前,我们先来看看上个章节【shell 变量的定义以及使用】 我们都学习到了什么知识 shell 变量的定义以及使用 变量分类变量定义类…

SpringBoot设置和读取配置文件(1)

SpringBoot配置文件是用来保存SpringBoot项目当中所有重要的数据的,比如说数据库连接信息,数据库的启动端口,如果端口被占用了,那么就可以随时修改; 1)比如说我们之前再写JDBC的代码的时候,要去写链接字符串…

C 字符串

在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符&#…