Cobalt Strike渗透之HTTPS/SMB/TCP Beacon横向移动实战3(跳板机Windows)

目录

[一、TCP Beacon原理](#一、TCP Beacon原理)

1、正向直连

2、横向渗透

[二、TCP Beacon横向渗透实战](#二、TCP Beacon横向渗透实战)

[1、添加TCP SMB监听器](#1、添加TCP SMB监听器)

[2、生成TCP Beacon木马](#2、生成TCP Beacon木马)

3、跳板机创建beacon会话

[(1)命令法spawn mooyuan_tcp](#(1)命令法spawn mooyuan_tcp)

(2)图形化法创建会话

[4、跳板机会话执行shell ping 10.100.10.100](#4、跳板机会话执行shell ping 10.100.10.100)

5、上传木马到目标机

(1)先将木马传到跳板机

(2)从跳板机下载木马到目标机

(3)目标机运行tcp.exe

6、上线tcp木马


本文使用CobaltStrike生成TCP Beacon木马进行实战渗透,通过创建HTTPS和TCP监听器,生成对应木马程序,先控制跳板机再横向渗透内网目标主机。重点阐述了TCPBeacon的两种应用模式(正向直连和横向渗透)及其实战步骤,包括监听器配置、木马生成、会话创建、文件传输和目标连接等关键环节。整个过程采用HTTPS会话控制跳板机,再通过TCP管道连接内网主机,最终实现隐蔽的横向移动和数据通信。

  • 生成HTTPS Beacon:在CS创建HTTPS监听器mooyuan_https,生成可执行Https Beacon。

  • 上传到跳板机:攻击者将HTTPS Beacon上传至Windows跳板机并执行,此时CS可以查看到HTTPS Beacon上线成功,控制了跳板机

  • 生成TCP Beacon:在CS创建TCP监听器mooyuan_tcp,生成TCPBeacon。

  • 横向部署TCP Beacon:通过跳板机将TCP Beacon上传至内网目标主机并运行。

  • 建立隐蔽通信:攻击机在mooyuan_https会话中通过spawn mooyuan_tcp创建tcp会话,并使用connect 目标内网ip建立tcp通道。此时内网主机通过tcp管道连接跳板机,跳板机转发流量至内网目标主机,从而实现内网横向移动。

复制代码
sequenceDiagram
    participant C2 as 攻击者<br>20.1.0.21(CobaltStrike)
    participant Jumpbox as 跳板机<br>10.33.212.200(HTTPS Beacon)
    participant Internal as 内网主机<br>10.100.10.100(SMB Beacon)

    Note over C2: 阶段1:控制跳板机
    C2->>Jumpbox: 上传HTTPS Beacon到10.33.212.200
    Jumpbox->>C2: Beacon上线(20.1.0.21←HTTPS→10.33.212.200)
    
    Note over C2: 阶段2:准备横向移动
    C2->>C2: TCP Beacon
    
    Note over Jumpbox: 阶段3:部署执行
    Jumpbox->>Internal: 通过跳板机上传TCP Beacon到10.100.10.100,并在目标内网执行,开启tcp监听

    
    Note over C2: 阶段4:建立TCP通道
    C2->>Jumpbox: spawn mooyuan_tcp<br>connect 10.100.10.100
    Jumpbox->>Internal: 建立TCP连接<br>(10.33.212.200↔10.100.10.100)
    Internal->>Jumpbox: 连接确认

    Note over C2: 阶段5:数据通信
    C2->>Jumpbox: 发送指令<br>(20.1.0.21→10.33.212.200 HTTPS)
    Jumpbox->>Internal: TCP转发<br>(10.33.212.200→10.100.10.100)
    Internal->>Jumpbox: 返回数据
    Jumpbox->>C2: 加密回传<br>(10.33.212.200→20.1.0.21 HTTPS)

一、TCP Beacon原理

TCP Beacon原理是 Cobalt Strike 中一种基于原始 TCP 协议的 Beacon 类型。TCP Beacon主要有两种应用场景。其一是通过直接的 TCP 连接实现攻击者与目标主机的通信,适用于简单网络环境下的远程控制;其二是在跳板机与目标机中的横向渗透,具体如下表所示。

维度 TCP Beacon(直连) TCP Beacon(横向渗透)
连接方向 目标 → C2(正向) 跳板机 → 目标(横向)
网络要求 目标可直连 C2 目标仅需连通跳板机
适用阶段 初始突破 内网横向移动
通信延迟 低(直接连接) 高(多跳中转)

1、正向直连

TCP Beacon 是 Cobalt Strike 的 基础正向连接载荷,采用原生 TCP 协议通信,适用于目标可直连 C2 服务器的场景(如 DMZ 区主机)。

2、横向渗透

在 Cobalt Strike 渗透实战中,TCP Beacon 的横向移动是指通过 TCP 协议在已控制的内网主机(跳板机)与目标主机之间建立直接通信,实现从一台主机到另一台主机的控制权扩散。其核心原理是利用 TCP 协议的长连接特性,结合内网凭证和远程执行技术,在目标主机上植入新的 TCP Beacon,形成内网横向控制链路。TCP Beacon 在横向渗透中扮演"隐形桥梁"角色------以跳板机为枢纽,穿透网络隔离,实现对隔离区主机的高稳定性控制

复制代码
sequenceDiagram
    participant 攻击机
    participant 跳板机
    participant 目标机
    
    目标机 ->> 跳板机: 1. TCP连接 4444 端口
    跳板机 ->> 攻击机: 2. 通过Https Beacon中继流量
    攻击机 ->> 跳板机: 3. 通过Https Beacon下发connect指令
    跳板机 ->> 目标机: 4. 成功与跳板机4444端口建立连接

二、TCP Beacon横向渗透实战

1、添加TCP SMB监听器

在 Cobalt Strike 客户端顶部菜单中,依次点击 Cobalt Strike → Listeners,打开监听器配置面板。在监听器面板中点击 Add 按钮(或右键空白处选择 New Listener), 弹出监听器配置窗口。选择 Beacon TCP 作为payload 选项,名字这里起为"mooyuan_tcp",配置完毕后点击保存,效果如下图所示。

在配置窗口中设置以下关键参数:

  • Name(必填):自定义监听器名称(mooyuan_tcp,用于后续调用)。
  • Payload(必填):从下拉菜单中选择Beacon_TCP 。
  • Port(必填):指定端口(这里使用默认的4444即可)。

2、生成TCP Beacon木马

(1)打开 Payload 生成界面

在 Cobalt Strike 客户端顶部菜单依次点击 Attacks → Packages → Windows Executable(stageless),如下图所示。

(2)选择 tcp监听器

在弹出的窗口中,按以下参数配置,Listener从下拉菜单中选择已创建的mooyuan_tcp监听器,如下图所示。

(3)生成并保存木马

点击 Generate,选择保存路径,本文将其命名为tcp.exe,配置过程如下图所示。

生成成功后效果如下图所示,提示已经成功保存smb.exe。

3、跳板机创建beacon会话

(1)命令法spawn mooyuan_tcp

在跳板机的 Beacon 控制台中执行命令。这里选择https木马交互窗口输入命令spawn mooyuan_tcp,其中mooyuan_tcp指代的是创建的TCP Beacon的监听器名称,效果如下所示。

spawn 命令的本质是 "从现有 Beacon 会话中创建子会话",mooyuan_tcp 是之前配置的tcp监听器名称。

(2)图形化法创建会话

也可以直接右击session,在Spawn选项中选择刚添加的SMB Beacon。

4、跳板机会话执行shell ping 10.100.10.100

执行shell ping 10.100.10.100,如下所示ping通成功,从而实现通过跳板机访问到内网主机10.100.10.100。

5、上传木马到目标机

(1)先将木马传到跳板机

使用远程桌面连接跳板机10.33.212.200,将木马上传到靶机中,如下图所示。

通过python -m http.server 80开启web服务,使目标机可以通过跳板机下载木马。

(2)从跳板机下载木马到目标机

在目标机10.100.10.100中通过web端访问跳板机192.168.26.200,下载smb.exe,如下图所示。

(3)目标机运行tcp.exe

在目标机中双击tcp.exe,效果如下所示。

6、上线tcp木马

在攻击机的cs shell中输入connect命令(connect 10.100.10.100 4444)上线tcp马,如下所示内网10.100.10.100成功上线。

在新上线的tcp.exe会话中右键-会话交互,输入shell ipconfig,如下所示成功获取到目标靶机的ip地址10.100.10.100。

相关推荐
mooyuan天天21 小时前
CobaltStrike渗透实战之CS转发MSF联动(攻击机Kali在内网:目标靶机无法直接连Kali解决方案:需配置NAT端口映射)
内网渗透·nat·metasploit·msf·cobalt strike
mooyuan天天1 天前
Cobalt Strike渗透之HTTPS/SMB/TCP Beacon横向移动实战1(跳板机Windows)
内网渗透·横向移动·cobalt strike
xing.yu.CTF3 天前
ATT&CK实战系列-红队评估(九)(上)
网络·安全·web安全·横向移动·域渗透·内网对抗
mooyuan天天3 天前
CobaltStrike之MSF转发CS联动:原理详解与渗透实战
内网渗透·metasploit·msf·cobalt strike
xing.yu.CTF4 天前
Hackmyvm靶场之Always渗透
web安全·渗透测试·横向移动·内网对抗
mooyuan天天4 天前
内网渗透之Thinkphp5提权实战+reGeorg代理横向移动(CVE-2018-20062)
内网渗透·横向移动·thinkphp·regeorg·cve-2018-20062·thinkphp代码执行漏洞
jieyu11193 个月前
内网后渗透攻击--linux系统(权限维持)
网络安全·内网渗透
jieyu11193 个月前
内网后渗透攻击--域控制器安全(1)
安全·web安全·内网渗透·域控制器安全
人衣aoa4 个月前
PG靶机 - Pelican
web安全·网络安全·渗透测试·内网渗透