观成科技:Stowaway代理工具解析

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协议分析

消息结构

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

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 字段 偏移 长度 说明 ---------------------------------------- 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 硬编码常量

图 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流量为例进行分析。

预认证阶段

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

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

图 6 预连接随机Token

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

图 7预连接流量

握手阶段

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

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

HI消息包含以下结构:

图 8 消息结构

图 9 相关流量

UUID分配

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

图 10 随机生成客户端UUID

连接建立特征

在建立连接时,客户端与服务端经过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 完整握手流量

心跳特征

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

图 12 工具心跳代码

图 13 心跳流量

HTTP模式额外特征

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

图 14 硬编码的URL列表

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

图 15 硬编码的HTTP请求头

图 16 HTTP协议流量

WebSocket模式额外特征

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

图 17 硬编码的URL路径

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

图 18 硬编码的GUID

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

图 19 硬编码的WS请求头

图 20 WebSocket协议流量

产品检测

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

图 21 告警检出

总结

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

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

相关推荐
g3voip2 天前
工业防爆电话选型指南:防爆参数、SIP接入与调度系统集成
linux·服务器·网络·信息与通信·ip·pbx
TechEdu2026062 天前
[通信与计算]通信中的数学:核心概念与工程联系
数学·信息与通信·通信系统
金航标 天线连接器3 天前
Type-A 母座 弯插 内扣型 -----KH-AF90DIP-112
信息与通信
国科安芯3 天前
抗辐照精密运放怎么选:ASL8522S 的斩波稳零与微安级功耗
架构·信息与通信·深空探测·抗辐射加固·极端环境电源
微硬创新4 天前
耐达讯自动化16路0-20mA转PROFINET协议转换模块技术说明
人工智能·网络协议·自动化·信息与通信
必须得开心呀4 天前
轨道模拟科普
信息与通信
星恒讯工业路由器4 天前
远程访问技术解析:从内网穿透到安全隧道的三种主流方案
网络·信息与通信·内网穿透·远程访问·vpn隧道
星恒讯工业路由器4 天前
4G(LTE)基础技术解析:从频段划分到网络架构的核心知识点
大数据·网络·信息与通信·工业物联网·4g lte·lte网络架构·无线通信基础
国科安芯5 天前
卫星电推进系统阀门驱动控制中的宽温域高可靠MCU应用研究——基于AS32S601电气特性与辐照试验数据的工程分析
单片机·嵌入式硬件·fpga开发·云计算·信息与通信·卫星·抗辐射芯片
gnsnswa5 天前
解读6大AI人工智能认证证书
人工智能·信息可视化·职场和发展·数据分析·aigc·学习方法·信息与通信