突破网络限制,Merlin Agent助你轻松搭建跳板网络!
字数 2077 2025-08-30 06:50:11

Merlin Agent跳板网络搭建与攻防技术详解

1. Merlin Agent概述

Merlin Agent是一个功能强大的远控木马,具有以下特点:

  • 被用于实战攻击场景
  • 在GitHub上持续更新
  • 支持高度定制化配置
  • 支持多种上线通信协议和跳板通信协议
  • 可自定义通信解密算法

2. 跳板网络技术基础

跳板网络(中转节点)是现代网络攻击中的重要技术:

  • 用于绕过安全防护(防火墙、IDS等)
  • 增强攻击隐蔽性
  • 隐藏真实来源
  • 穿越多层网络
  • 提高攻击成功率和持久性

3. Merlin Agent跳板通信协议

Merlin Agent支持多种跳板通信协议,通过-proto参数指定:

3.1 SMB跳板技术

  • 实现方式:基于github.com/Ne0nd0g/npipe项目
  • 底层调用Windows API:CreateNamedPipeConnectNamedPipeWaitNamedPipeW
  • 使用SMB协议封装命名管道通信
  • 两种模式:
    • smb-bind:SMB监听
    • smb-reverse:SMB反弹连接

3.2 TCP跳板技术

  • 基于Go的net库实现
  • 两种模式:
    • tcp-bind:TCP监听
    • tcp-reverse:TCP反弹连接

3.3 UDP跳板技术

  • 基于Go的net库实现
  • 两种模式:
    • udp-bind:UDP监听
    • udp-reverse:UDP反弹连接

4. 多种通信协议下的跳板网络搭建

4.1 HTTP + tcp-bind

  1. 第一个Agent通过HTTP协议上线
  2. 第二个Agent通过tcp-bind协议连接第一个Agent

4.2 HTTPS + tcp-reverse

  1. 第一个Agent通过HTTPS协议上线
  2. 第二个Agent通过tcp-reverse协议连接第一个Agent

4.3 H2C + udp-bind

  1. 第一个Agent通过H2C协议上线
  2. 第二个Agent通过udp-bind协议连接第一个Agent

4.4 HTTP2 + udp-reverse

  1. 第一个Agent通过HTTP2协议上线
  2. 第二个Agent通过udp-reverse协议连接第一个Agent

4.5 HTTP3 + smb-bind

  1. 第一个Agent通过HTTP3协议上线
  2. 第二个Agent通过smb-bind协议连接第一个Agent

4.6 HTTP3 + smb-reverse

  1. 第一个Agent通过HTTP3协议上线
  2. 第二个Agent通过smb-reverse协议连接第一个Agent

5. SOCKS5代理技术

5.1 实现原理

  • 基于github.com/armon/go-socks5项目实现
  • 通过-proxy参数指定代理
  • 当前仅支持配合HTTP、HTTPS协议使用

5.2 SOCKS5代理跳板网络搭建

  1. 搭建SOCKS5代理服务(如使用github.com/bhhbazinga/socks5)
  2. Merlin Agent通过-proxy参数连接代理上线

6. 多层跳板网络构建实战

6.1 网络拓扑

  • 控制端(C&C): 192.168.64.128
  • SOCKS5代理: 192.168.64.135:6080
  • 第一跳板Agent: 192.168.64.154
  • 端口转发服务: 192.168.64.175(将6666转发到154:7777)
  • 被控主机: 192.168.64.176

6.2 搭建步骤

  1. 启动Merlin Server(192.168.64.128)
  2. 搭建SOCKS5代理服务(192.168.64.135)
  3. 第一个Agent(192.168.64.154)通过代理上线
  4. 配置端口转发(192.168.64.175)
  5. 第三个Agent(192.168.64.176)通过多层跳板连接

7. 跳板网络中的C&C地址识别

7.1 识别方法

  • 当通信流量使用以下协议时,外链地址即为C&C地址:
    • HTTP
    • HTTPS
    • H2C
    • HTTP2
    • HTTP3
    • proxy代理通信(仅HTTP/HTTPS)

7.2 原因分析

  • 不同通信环节使用不同协议
  • 项目持续更新导致协议不统一
  • 上线通信协议直接暴露C&C地址

8. 防御建议

  1. 网络流量监控

    • 监控异常HTTP/HTTPS/H2C/HTTP2/HTTP3通信
    • 检测异常的SMB/TCP/UDP跳板通信
  2. 主机防护

    • 检测命名管道异常创建
    • 监控端口转发行为
  3. 代理服务管控

    • 限制未经授权的SOCKS5代理
    • 监控异常代理连接
  4. 多层防御

    • 在网络边界和内部部署多层检测
    • 关注跳板网络特征
  5. 威胁情报

    • 收集Merlin Agent相关IOC
    • 更新检测规则

9. 总结

Merlin Agent提供了强大的跳板网络功能,攻击者可以利用多种协议和技术构建复杂的多层跳板网络。防御者需要了解这些技术的实现原理和通信特征,才能有效检测和防御此类攻击。本文详细剖析了Merlin Agent的跳板技术实现和多种搭建方法,为安全研究人员提供了全面的技术参考。

Merlin Agent跳板网络搭建与攻防技术详解 1. Merlin Agent概述 Merlin Agent是一个功能强大的远控木马,具有以下特点: 被用于实战攻击场景 在GitHub上持续更新 支持高度定制化配置 支持多种上线通信协议和跳板通信协议 可自定义通信解密算法 2. 跳板网络技术基础 跳板网络(中转节点)是现代网络攻击中的重要技术: 用于绕过安全防护(防火墙、IDS等) 增强攻击隐蔽性 隐藏真实来源 穿越多层网络 提高攻击成功率和持久性 3. Merlin Agent跳板通信协议 Merlin Agent支持多种跳板通信协议,通过 -proto 参数指定: 3.1 SMB跳板技术 实现方式:基于 github.com/Ne0nd0g/npipe 项目 底层调用Windows API: CreateNamedPipe 、 ConnectNamedPipe 、 WaitNamedPipeW 使用SMB协议封装命名管道通信 两种模式: smb-bind :SMB监听 smb-reverse :SMB反弹连接 3.2 TCP跳板技术 基于Go的net库实现 两种模式: tcp-bind :TCP监听 tcp-reverse :TCP反弹连接 3.3 UDP跳板技术 基于Go的net库实现 两种模式: udp-bind :UDP监听 udp-reverse :UDP反弹连接 4. 多种通信协议下的跳板网络搭建 4.1 HTTP + tcp-bind 第一个Agent通过HTTP协议上线 第二个Agent通过tcp-bind协议连接第一个Agent 4.2 HTTPS + tcp-reverse 第一个Agent通过HTTPS协议上线 第二个Agent通过tcp-reverse协议连接第一个Agent 4.3 H2C + udp-bind 第一个Agent通过H2C协议上线 第二个Agent通过udp-bind协议连接第一个Agent 4.4 HTTP2 + udp-reverse 第一个Agent通过HTTP2协议上线 第二个Agent通过udp-reverse协议连接第一个Agent 4.5 HTTP3 + smb-bind 第一个Agent通过HTTP3协议上线 第二个Agent通过smb-bind协议连接第一个Agent 4.6 HTTP3 + smb-reverse 第一个Agent通过HTTP3协议上线 第二个Agent通过smb-reverse协议连接第一个Agent 5. SOCKS5代理技术 5.1 实现原理 基于 github.com/armon/go-socks5 项目实现 通过 -proxy 参数指定代理 当前仅支持配合HTTP、HTTPS协议使用 5.2 SOCKS5代理跳板网络搭建 搭建SOCKS5代理服务(如使用 github.com/bhhbazinga/socks5 ) Merlin Agent通过 -proxy 参数连接代理上线 6. 多层跳板网络构建实战 6.1 网络拓扑 控制端(C&C): 192.168.64.128 SOCKS5代理: 192.168.64.135:6080 第一跳板Agent: 192.168.64.154 端口转发服务: 192.168.64.175(将6666转发到154:7777) 被控主机: 192.168.64.176 6.2 搭建步骤 启动Merlin Server(192.168.64.128) 搭建SOCKS5代理服务(192.168.64.135) 第一个Agent(192.168.64.154)通过代理上线 配置端口转发(192.168.64.175) 第三个Agent(192.168.64.176)通过多层跳板连接 7. 跳板网络中的C&C地址识别 7.1 识别方法 当通信流量使用以下协议时,外链地址即为C&C地址: HTTP HTTPS H2C HTTP2 HTTP3 proxy代理通信(仅HTTP/HTTPS) 7.2 原因分析 不同通信环节使用不同协议 项目持续更新导致协议不统一 上线通信协议直接暴露C&C地址 8. 防御建议 网络流量监控 : 监控异常HTTP/HTTPS/H2C/HTTP2/HTTP3通信 检测异常的SMB/TCP/UDP跳板通信 主机防护 : 检测命名管道异常创建 监控端口转发行为 代理服务管控 : 限制未经授权的SOCKS5代理 监控异常代理连接 多层防御 : 在网络边界和内部部署多层检测 关注跳板网络特征 威胁情报 : 收集Merlin Agent相关IOC 更新检测规则 9. 总结 Merlin Agent提供了强大的跳板网络功能,攻击者可以利用多种协议和技术构建复杂的多层跳板网络。防御者需要了解这些技术的实现原理和通信特征,才能有效检测和防御此类攻击。本文详细剖析了Merlin Agent的跳板技术实现和多种搭建方法,为安全研究人员提供了全面的技术参考。