
Многоступенчатый прокси-инструмент для пентестеров, обеспечивающий маршрутизацию трафика через несколько узлов, туннелирование SOCKS5/SSH, перенаправление портов, удалённую оболочку и зашифрованную связь между узлами.

Stowaway — это многоуровневый прокси-инструмент, написанный на Go, предназначенный для специалистов по тестированию на проникновение.
С его помощью вы можете направлять внешний трафик через несколько узлов во внутреннюю сеть, обходить ограничения доступа, создавать древовидную структуру узлов и легко управлять ими.
Спасибо всем за звёзды! Буду рад вашим вопросам и сообщениям об ошибках 😘
Пожалуйста, перед использованием внимательно прочитайте руководство и примечания в конце документа.
Данный проект предназначен исключительно для исследований в области кибербезопасности и учебных целей. Запрещается использовать его для любых незаконных действий. Перед использованием данного инструмента в любых тестах вы должны получить явное разрешение от целевой системы и строго соблюдать соответствующие законы и нормативные акты вашей страны/региона. Все прямые или косвенные последствия (включая, но не ограничиваясь потерей данных, повреждением системы, юридической ответственностью и т.д.) ложатся на пользователя. Автор проекта не несёт ответственности за любые злоупотребления или юридические последствия. Использование данного инструмента означает, что вы прочитали, поняли и согласны со всеми положениями данного отказа от ответственности.
make для сборки полной много платформенной версии или измените Makefile для сборки конкретных программ.Stowaway включает две роли:
admin — управляющий узел для пентестераagent — управляемый узел, развёртываемый пентестеромСледующие команды позволяют быстро запустить простейший экземпляр Stowaway:
./stowaway_admin -l 9999./stowaway_agent -c <IP_адрес_stowaway_admin>:9999Параметры:
-l Адрес для прослушивания в пассивном режиме [ip]:<port>
-s Ключ шифрования связи узлов (должен совпадать для всех узлов (admin && agent))
-c Адрес целевого узла в активном режиме
--socks5-proxy Адрес SOCKS5-прокси
--socks5-proxyu Имя пользователя SOCKS5-прокси (опционально)
--socks5-proxyp Пароль SOCKS5-прокси (опционально)
--http-proxy Адрес HTTP-прокси
--down Тип протокола нисходящего потока (по умолчанию чистый TCP; опции: HTTP/WS)
--tls-enable Включить TLS для связи между узлами (при включении TLS шифрование AES отключается)
--domain Указать домен для TLS SNI/WebSocket (если пусто — по умолчанию адрес целевого узла)
--heartbeat Включить поддержание активности (heartbeat)
Параметры:
-l Адрес для прослушивания в пассивном режиме [ip]:<port>
-s Ключ шифрования связи узлов
-c Адрес целевого узла в активном режиме
--socks5-proxy Адрес SOCKS5-прокси
--socks5-proxyu Имя пользователя SOCKS5-прокси (опционально)
--socks5-proxyp Пароль SOCKS5-прокси (опционально)
--http-proxy Адрес HTTP-прокси
--reconnect Интервал переподключения (в секундах)
--rehost IP-адрес для повторного использования порта (reuse)
--report Порт для повторного использования (reuse)
--up Тип протокола восходящего потока (по умолчанию чистый TCP; опции: HTTP/WS)
--down Тип протокола нисходящего потока (по умолчанию чистый TCP; опции: HTTP/WS)
--cs Тип кодировки оболочки платформы (по умолчанию utf-8; опция: gbk)
--tls-enable Включить TLS для связи между узлами (при включении TLS шифрование AES отключается)
--domain Указать домен для TLS SNI/WebSocket (если пусто — по умолчанию адрес целевого узла)
Этот параметр одинаково используется admin и agent, только в пассивном режиме.
Если IP-адрес не указан, по умолчанию используется 0.0.0.0.
./stowaway_admin -l 9999 или ./stowaway_admin -l 127.0.0.1:9999./stowaway_agent -l 9999 или ./stowaway_agent -l 127.0.0.1:9999Этот параметр одинаково используется admin и agent, может применяться в активном и пассивном режимах.
Опционально. Если пусто, связь не шифруется; если задан, трафик шифруется с этим ключом.
./stowaway_admin -l 9999 -s 123./stowaway_agent -l 9999 -s 123Этот параметр одинаково используется admin и agent, только в активном режиме.
Указывает адрес узла, к которому нужно подключиться.
./stowaway_admin -c 127.0.0.1:9999./stowaway_agent -c 127.0.0.1:9999Эти четыре параметра одинаково используются admin и agent, только в активном режиме.
--socks5-proxy — адрес SOCKS5-прокси, --socks5-proxyu и --socks5-proxyp опциональны.
--http-proxy — адрес HTTP-прокси, используется аналогично SOCKS5.
Без имени/пароля:
./stowaway_admin -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx./stowaway_agent -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxxС именем/паролем:
./stowaway_admin -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx --socks5-proxyu xxx --socks5-proxyp xxx./stowaway_agent -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx --socks5-proxyu xxx --socks5-proxyp xxxЭти параметры одинаково используются admin и agent, могут применяться в активном и пассивном режимах.
Обратите внимание: у admin нет параметра --up.
Эти параметры опциональны. Если не заданы, восходящий/нисходящий трафик идёт по чистому TCP.
Чтобы установить протокол HTTP или WS, задайте http или ws.
./stowaway_admin -c 127.0.0.1:9999 --down ws./stowaway_agent -c 127.0.0.1:9999 --up ws или ./stowaway_agent -c 127.0.0.1:9999 --up ws --down wsТакже обратите внимание на два момента: