【涨知识】Stowaway代理工具加密流量分析

admin 2026-03-11 02:55:03 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细分析了渗透测试工具Stowaway的加密流量特征。首先介绍了该工具作为多级代理的功能架构与通信协议。重点解析了其消息结构、关键常量及握手流程,指出预认证阶段的AuthToken交换和硬编码字符串是重要流量特征。同时分析了HTTP和WebSocket模式下的具体实现细节。最后展示了观成科技安全产品对该工具的检测能力,强调了多维特征检测在应对工具魔改时的有效性。 综合评分: 85 文章分类: 渗透测试,内网渗透,安全工具,代码审计,威胁情报


cover_image

【涨知识】Stowaway代理工具加密流量分析

原创

小余同学 小余同学

北京观成科技

2026年3月10日 14:58 北京

一、Stowaway工具介绍

#

Stowaway是一款基于Go语言开发的多级代理工具,主要用于渗透测试中突破内网访问限制。该工具在GitHub上进行开源托管,当前版本支持多种连接模式和丰富的功能模块,且可以通过多级代理模式,实现复杂的内网穿透和流量转发。

| | | — | | Stowaway工具角色: 1、Admin(服务端):服务端由渗透测试者使用。  2、Agent(客户端):客户端部署在目标机器上。 Stowaway连接模式:  1、正向连接  2、反向连接  3、SSH隧道  4、端口复用 Stowaway协议支持:  1、TCP  2、HTTP  3、WebSocket  4、TLS |

二、Stowaway议分析

2.1消息结构

所有消息遵循统一的头部结构:

| | | | | | — | — | — | — | | 字段 | 偏移 | 长度 | 说明 | | Sender | 0 | 10字节 | 发送方UUID | | Accepter | 10 | 10字节 | 接收方UUID | | MessageType | 20 | 2字节 | 消息类型(大端序) | | RouteLen | 22 | 4字节 | 路由长度(大端序) | | Route | 26 | 变长 | 路由信息 | | DataLen | 变长 | 8字节 | 数据长度(大端序) |

图1:消息结构头

最小Header长度为36字节(10+10+2+4+0+8)。所有数值字段使用大端序。

Data部分经过Gzip压缩和AES-256-GCM加密,加密后的密文长度为原文长度+28字节(12字节Nonce+16字节Tag)。

2.2关键常量定义

协议中定义了几个关键常量:

图2:硬编码常量

图3:相关流量

这些固定字符串在握手过程中出现,是重要的流量特征。

2.3消息类型枚举

协议定义了67种消息类型,主要包括:

| | | — | | 0 – HI握手消息 1 – UUID分配 6 – Shell请求 7 – Shell响应 8 – Shell命令下发 9 – Shell命令回显 26 – SOCKS启动 27 – SOCKS传输TCP数据 28 – SOCKS传输UDP数据 31 – SOCKS传输TCP数据结束 33 – 端口转发测试 36 – 数据转发 66 – 心跳 |

图4:shell模块流量

图5:socks模块流量

三、连接建立流程

Stowaway代理工具支持多种协议通信,但通信过程中各协议载荷部分均遵循相同的数据结构。下面将以TCP流量为例进行分析。

3.1预认证阶段

连接建立后首先进行预认证,用于验证双方的通信密钥是否一致。

Agent主动发送16字节AuthToken,Admin收到后回显相同的16字节。AuthToken的生成方式为MD5(secret)[:16]。

图6:预连接随机Token

该步骤在连接建立后1秒内完成,是Stowaway连接的标志性特征。

图7:预连接流量

3.2握手阶段

预认证通过后进入握手阶段:

| | | — | | Agent → Admin: HI消息(包含UUID、Greeting等) Admin → Agent: HI响应 Admin → Agent: UUID分配消息 Agent → Admin: 连接确认 |

HI消息包含以下结构:

图8:消息结构

图9:相关流量

3.3UUID分配

Admin为Agent分配唯一的10字节UUID,用于后续通信和节点管理。UUID从32字节的V4 UUID中提取,获取位置为第12-21位,格式为[0-9a-f]{10}。

图10:随机生成客户端UUID

3.4连接建立特征

在建立连接时,客户端与服务端经过6个报文交互完成握手。

| | | — | | Agent → Admin: 16字节AuthToken Admin → Agent: 16字节AuthToken回显 Agent → Admin: HI消息(消息类型0) Admin → Agent: HI响应(消息类型0) Admin → Agent: UUID分配(消息类型1) Agent → Admin: MYINFO消息(消息类型4) |

图11:完整握手流量

3.5心跳特征

Stowaway使用单向心跳机制保活,默认不启用心跳功能。启用时间隔固定为10秒。

图12:工具心跳代码

图13:心跳流量

3.6HTTP模式额外特征

在使用HTTP协议通信时,请求报文的URL会从列表中随机选择,列表中的数据存在三处可变值。

图14:硬编码的URL列表

HTTP请求头为在工具代码中固定编码。

图15:硬编码的HTTP请求头

图16:HTTP协议流量

3.7WebSocket模式额外特征

在使用WebSocket协议通信时,URL在工具中为硬编码数据。

图17:硬编码的URL路径

WebSocket的GUID在工具中为硬编码数据。

图18:硬编码的GUID

WebSocket的请求头在工具中为硬编码数据。

图19:硬编码的WS请求头

图20:WebSocket协议流量

四、产品检测

观成瞰云(ENS)-加密威胁智能检测系统能够对Stowaway代理工具产生的流量进行检测。

图21:告警检出

五、总结

Stowaway作为一款功能强大的多级代理工具,在渗透测试场景中被广泛使用。通过对工具进行代码审计,观成安全研究团队针对该黑客工具提取了行为模式、特征字符、消息格式等多个维度的流量特征。在现网环境下通过结合多个维度的特征进行综合判断,使得相关告警检出准确度高,误报率小,且能很好的覆盖针对该工具的魔改情况。

当前网络环境下,攻击者不仅使用成熟的商业化工具,也会寻求新的、使用较少的工具来绕过防护策略。观成科技安全研究团队始终保持研究热忱,第一时间追踪解析新兴工具技术。对新加密威胁保持高效的追踪与深度解析,持续守护用户网络安全。

往期回顾

REVIEW

【涨知识】Zloader木马家族加密流量分析

【涨知识】银狐再进化:新型变种加密通信机制分析

【涨知识】C2框架AdaptixC2加密流量分析


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:北京观成科技 小余同学 小余同学《【涨知识】Stowaway代理工具加密流量分析》

评论:0   参与:  0