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

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

相关推荐
hz5678914 小时前
数据本地化音视频系统设计:数据存储、传输路径与访问权限管理
网络·安全·音视频·实时音视频·信息与通信
voipmaker14 小时前
融合通信工程实战:SIP 与 GB28181 联合接入布控球的常见问题
科技·物联网·网络协议·音视频·实时音视频·信息与通信·政务
新新学长搞科研16 小时前
【厦门大学主办丨IEEE出版】第六届人工智能、机器人和通信国际会议(ICAIRC 2026)
人工智能·机器人·信息与通信
优化Henry17 小时前
LTE基站传输割接后S1连接失败排查实录
运维·网络·笔记·学习·信息与通信
通信大模型19 小时前
VLA模型与世界模型的协同:面向低空无线网络的Embodied Agentic AI 框架
人工智能·深度学习·信息与通信
Skylab12 天前
GNSS模组产线TTFF全过,现场约1/5设备超40秒:一次冷/温/热启动差异排查记录
科技·信息与通信·定位
一切皆是因缘际会2 天前
同源世界系统:兼备量子系统与信息几何功能星际通信零延迟
人工智能·ai·系统架构·信息与通信·星际通信·量子系统·信息几何
Alinket2 天前
毫米波雷达 vs 摄像头 vs 手环:养老跌倒监测三类方案怎么选
网络·数据库·健康医疗·信息与通信·iot
数字新视界2 天前
机房环境监控系统的关键应用与发展趋势
大数据·物联网·信息可视化·信息与通信·一体化机柜
Teable任意门互动3 天前
优锘科技北京客户管理数字化落地案例|HAP明道云搭建客户管理平台-任意门互动科技(HAP 官方实施服务商)
大数据·人工智能·科技·信息可视化·信息与通信