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

目录

一、CobaltStrike原理

[二、SMB Beacon原理](#二、SMB Beacon原理)

1、原理分析

2、渗透流程

[三、SMB Beacon渗透实战](#三、SMB Beacon渗透实战)

1、添加SMB监听器

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

3、跳板机创建beacon会话

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

(2)图形化法创建会话

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

5、上传木马到目标机

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

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

(3)目标机运行smb.exe

6、上线SMB木马


本文使用CobaltStrike生成SMB Beacon木马进行实战渗透,基于上一小节的Https Beacon进行渗透,拓扑如下所示。

  • 生成HTTPS Beacon:在Cobalt Strike创建HTTPS监听器,生成Windows可执行Beacon。

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

  • 生成SMB Beacon:在Cobalt Strike创建SMB监听器,生成SMB Beacon。

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

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

复制代码
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: 生成SMB Beacon
    
    Note over Jumpbox: 阶段3:部署执行
    Jumpbox->>Internal: 通过跳板机上传SMB Beacon到10.100.10.100,并在目标内网执行

    
    Note over C2: 阶段4:建立SMB通道
    C2->>Jumpbox: spawn mooyuan_smb<br>link 10.100.10.100
    Jumpbox->>Internal: 建立SMB管道连接<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: SMB管道转发<br>(10.33.212.200→10.100.10.100)
    Internal->>Jumpbox: 返回数据
    Jumpbox->>C2: 加密回传<br>(10.33.212.200→20.1.0.21 HTTPS)

一、CobaltStrike原理

Cobalt Strike(简称 CS)是一款基于红队演练和渗透测试的集成化攻击平台,其核心原理是通过 "攻击载荷投递→命令 C2 通信→内网渗透拓展" 的流程,模拟高级持续性威胁(APT)攻击,实现对目标网络的控制权获取与维持。Cobalt Strike 采用客户端 - 服务端(C/S)架构,包含三个核心组件:

  • 客户端(Cobalt Strike Client)

    • 攻击者操作的图形化界面(Windows/macOS/Linux 兼容),用于配置攻击参数、管理会话、下发命令。
    • 支持多用户协作,多人可同时连接同一 C2 服务器,共享攻击数据和会话。
  • C2 服务器(Command & Control Server)

    • 部署在攻击者控制的服务器(通常为公网 IP),作为攻击者与目标主机间的 "中转站"。
    • 负责接收目标主机中 Beacon 的请求、转发攻击者指令、存储攻击数据(如会话信息、凭证)。
    • 可配置多种通信协议(HTTP/HTTPS/DNS/SMB 等),适配不同网络环境。
  • Beacon 后门

    • 植入目标主机的恶意程序,是 CS 实现远程控制的核心载体。
    • 按预设规则与 C2 服务器通信(如定期 "心跳" 请求指令),执行命令并回传结果。
    • 支持多种类型(如 HTTP Beacon、SMB Beacon 等),适配不同渗透场景。

二、SMB Beacon原理

SMB Beacon 是 Cobalt Strike 中一种隐蔽的内网横向移动技术,利用 Windows 的命名管道(Named Pipe)进行通信,不直接监听端口,规避传统防火墙检测。

1、原理分析

  • 基于 SMB 协议的进程间通信

    SMB 是 Windows 内网的基础协议(默认使用 445 端口),主要用于文件共享、打印机共享和远程管理。SMB Beacon 利用这一协议的特性,将攻击指令和数据伪装成正常的 SMB 通信流量,避免被安全设备识别。

  • 命名管道(Named Pipe)的通道作用

    命名管道是 Windows 中进程间通信(IPC)的一种机制,类似 "隐藏的管道",允许同一台主机或不同主机上的进程通过管道传递数据。

    • SMB Beacon 在目标主机上创建一个自定义命名管道(如 \.\pipe\msagent_XXXX,名称由预先配置的监听器定义)。
    • 已控制的跳板机通过 SMB 协议连接到该命名管道,形成 "跳板机 → 目标主机" 的直接通信链路。
  • 无公网依赖的内网闭环通信

    与依赖公网 C2 服务器的 HTTP/HTTPS Beacon 不同,SMB Beacon 的通信完全在内网两台主机(跳板机与目标主机)之间进行:

    • 目标主机的 Beacon 无需连接公网,仅通过命名管道等待跳板机的指令。
    • 跳板机作为 "中间人",将攻击者的命令通过 SMB 协议传递给目标主机,再将结果回传,实现内网横向控制的 "闭环"。

2、渗透流程

当攻击者已控制一台内网主机(跳板机),需渗透同网段其他主机(目标主机)时,SMB Beacon 可通过以下流程工作:

  • 跳板机通过 SMB 协议连接目标主机的 445 端口。
  • 将SMB Beacon传到目标主机上并执行,创建预设命名管道。
  • 跳板机通过命名管道向目标主机发送指令,实现远程控制(如执行命令、窃取数据)。

三、SMB Beacon渗透实战

1、添加SMB监听器

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

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

  • Name(必填):自定义监听器名称(mooyuan_smb,用于后续调用)。
  • Payload(必填):从下拉菜单中选择Beacon_SMB 。
  • Pipe Name(必填):指定命名管道名称(这里使用默认即可)。

2、生成SMB Beacon木马

(1)打开 Payload 生成界面

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

(2)选择 SMB 监听器

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

(3)生成并保存木马

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

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

3、跳板机创建beacon会话

(1)命令法spawn mooyuan_smb

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

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

(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开启web服务,使目标机可以通过跳板机下载木马。

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

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

(3)目标机运行smb.exe

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

6、上线SMB木马

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

7、横向移动

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

相关推荐
mooyuan天天3 小时前
Cobalt Strike渗透之HTTPS/SMB/TCP Beacon横向移动实战3(跳板机Windows)
内网渗透·横向移动·cobalt strike
mooyuan天天1 天前
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天天5 天前
内网渗透之Thinkphp5提权实战+reGeorg代理横向移动(CVE-2018-20062)
内网渗透·横向移动·thinkphp·regeorg·cve-2018-20062·thinkphp代码执行漏洞
jieyu11193 个月前
内网后渗透攻击--linux系统(权限维持)
网络安全·内网渗透
jieyu11193 个月前
内网后渗透攻击--域控制器安全(1)
安全·web安全·内网渗透·域控制器安全