
Herramienta de proxy de múltiples saltos para pentesters que permite el enrutamiento de tráfico a través de múltiples nodos, túneles SOCKS5/SSH, reenvío de puertos, shell remota y comunicación cifrada entre nodos.

Stowaway es una herramienta de proxy multinivel escrita en Go, diseñada específicamente para profesionales de pruebas de penetración.
Los usuarios pueden usar este programa para enrutar el tráfico externo a través de múltiples nodos hacia la red interna, superar las restricciones de acceso a la red interna, construir una red de nodos en forma de árbol y gestionar fácilmente las funciones.
Gracias a todos por sus estrellas. También damos la bienvenida a preguntas y errores después de usar el programa 😘
También, asegúrese de leer detenidamente las instrucciones de uso y las notas al final antes de usar.
Este proyecto está destinado únicamente a la investigación y enseñanza de seguridad en redes. Está estrictamente prohibido su uso con fines ilegales. Asegúrese de obtener autorización explícita del sistema objetivo antes de realizar cualquier prueba con esta herramienta, y cumpla estrictamente con las leyes y regulaciones pertinentes de su país/región. Cualquier consecuencia directa o indirecta derivada del uso de esta herramienta (incluyendo, pero no limitado a: pérdida de datos, daños del sistema, responsabilidad legal) es responsabilidad exclusiva del usuario. El autor de este proyecto no se hace responsable de ningún uso indebido ni de las responsabilidades legales que pueda conllevar. El uso de esta herramienta implica que ha leído, comprendido y aceptado todo el contenido de este descargo de responsabilidad.
make para compilar directamente el programa completo para múltiples plataformas, o consulte el Makefile para compilar programas específicos.Stowaway incluye dos roles:
admin: el controlador principal utilizado por el probador de penetración.agent: el agente controlado desplegado por el probador de penetración.Los siguientes comandos inician rápidamente la instancia más simple de Stowaway.
./stowaway_admin -l 9999./stowaway_agent -c <IP de stowaway_admin>:9999Parámetros:
-l Dirección de escucha en modo pasivo [ip]:<puerto>
-s Clave de cifrado de comunicación entre nodos; todos los nodos (admin && agent) deben ser iguales.
-c Dirección del nodo objetivo en modo activo.
--socks5-proxy Dirección del servidor proxy SOCKS5.
--socks5-proxyu Nombre de usuario del servidor proxy SOCKS5 (opcional).
--socks5-proxyp Contraseña del servidor proxy SOCKS5 (opcional).
--http-proxy Dirección del servidor proxy HTTP.
--down Tipo de protocolo downstream; por defecto tráfico TCP puro, opcional HTTP/WS.
--tls-enable Habilita TLS para la comunicación entre nodos; al habilitar TLS, se deshabilitará el cifrado AES.
--domain Especifica el dominio SNI TLS/WebSocket; si está vacío, por defecto es la dirección del nodo objetivo.
--heartbeat Habilita paquetes de heartbeat.
Parámetros:
-l Dirección de escucha en modo pasivo [ip]:<puerto>
-s Clave de cifrado de comunicación entre nodos.
-c Dirección del nodo objetivo en modo activo.
--socks5-proxy Dirección del servidor proxy SOCKS5.
--socks5-proxyu Nombre de usuario del servidor proxy SOCKS5 (opcional).
--socks5-proxyp Contraseña del servidor proxy SOCKS5 (opcional).
--http-proxy Dirección del servidor proxy HTTP.
--reconnect Intervalo de reconexión en segundos.
--rehost Dirección IP para reutilización de puertos.
--report Puerto para reutilización de puertos.
--up Tipo de protocolo upstream; por defecto tráfico TCP puro, opcional HTTP/WS.
--down Tipo de protocolo downstream; por defecto tráfico TCP puro, opcional HTTP/WS.
--cs Codificación de shell de la plataforma de ejecución; por defecto utf-8, opcional gbk.
--tls-enable Habilita TLS para la comunicación entre nodos; al habilitar TLS, se deshabilitará el cifrado AES.
--domain Especifica el dominio TLS SNI/WebSocket; si está vacío, por defecto es la dirección del nodo objetivo.
Este parámetro se usa igual en admin y agent, solo en modo pasivo.
Si no se especifica la IP, por defecto escucha en 0.0.0.0.
admin: ./stowaway_admin -l 9999 o ./stowaway_admin -l 127.0.0.1:9999
agent: ./stowaway_agent -l 9999 o ./stowaway_agent -l 127.0.0.1:9999
Este parámetro se usa igual en admin y agent, tanto en modo activo como pasivo.
Opcional. Si está vacío, la comunicación no está cifrada; de lo contrario, la comunicación se cifra con la clave proporcionada por el usuario.
admin: ./stowaway_admin -l 9999 -s 123
agent: ./stowaway_agent -l 9999 -s 123
Este parámetro se usa igual en admin y agent, solo en modo activo.
Representa la dirección del nodo al que se desea conectar.
admin: ./stowaway_admin -c 127.0.0.1:9999
agent: ./stowaway_agent -c 127.0.0.1:9999
Estos cuatro parámetros se usan igual en admin y agent, solo en modo activo.
--socks5-proxy representa la dirección del servidor proxy SOCKS5; --socks5-proxyu y --socks5-proxyp son opcionales.
--http-proxy representa la dirección del servidor proxy HTTP, se usa de la misma manera que SOCKS5.
Sin nombre de usuario y contraseña:
admin: ./stowaway_admin -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx
agent: ./stowaway_agent -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx
Con nombre de usuario y contraseña:
admin: ./stowaway_admin -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx --socks5-proxyu xxx --socks5-proxyp xxx
agent: ./stowaway_agent -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx --socks5-proxyu xxx --socks5-proxyp xxx
Estos dos parámetros se usan igual en admin y agent, tanto en modo activo como pasivo.