Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Stowaway — ペンテスター向けマルチホッププロキシツール。複数ノードを介したトラフィックルーティング、SOCKS5/SSHトンネリング、ポートフォワーディング、リモートシェル、暗号化ノード通信を実現します。 | Kitploit
ツール/GitHubGitHub/ph4ntonn/stowaway
暗号化/復号化ツール横移動ネットワークアクセスコントロールペネトレーションテストコマンド&コントロールレッドチーミング
GitHubph4ntonn/stowaway

Stowaway

ペンテスター向けマルチホッププロキシツール。複数ノードを介したトラフィックルーティング、SOCKS5/SSHトンネリング、ポートフォワーディング、リモートシェル、暗号化ノード通信を実現します。

リポジトリを見る
3.4k442217ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

stowaway.png

Stowaway

GitHub issues GitHub forks GitHub stars GitHub license

English

Stowawayは、Go言語で記述され、ペネトレーションテスター向けに作られたマルチレベルプロキシツールです。

ユーザーはこのプログラムを使用して、外部トラフィックを複数のノードを介して内部ネットワークにプロキシし、内部ネットワークアクセスの制限を突破し、ツリー状のノードネットワークを構築し、管理機能を簡単に実現できます。

皆様のスターに感謝します。また、ご使用後に問題やバグをお寄せいただくことを歓迎します 😘

使用前に必ず使用方法と文末の注意事項をよくお読みください。

声明

このプロジェクトは、ネットワークセキュリティの研究と教育目的のみに提供されており、いかなる違法目的にも使用しないでください。このツールを使用してテストを実行する前に、対象システムの明確な許可を得て、お住まいの国/地域の関連法規を厳守してください。 このツールの使用によって生じる直接的または間接的な結果(データ損失、システム障害、法的責任など)は、すべて利用者が負うものとし、プロジェクトの作者は乱用行為またはそれによって生じる法的責任について一切の責任を負いません。 このツールを使用することにより、本免責事項のすべての内容を読み、理解し、同意したものとみなされます。

特徴

  • 管理側のより使いやすいインタラクション、コマンド補完/履歴をサポート
  • 一目でわかるノードツリー管理
  • 豊富なノード情報表示
  • ノード間の正方向/逆方向接続
  • ノード間の再接続をサポート
  • socks5/httpプロキシを介したノード間接続
  • SSHトンネルを介したノード間接続
  • ノード間トラフィックにTCP/HTTP/WSを選択可能
  • マルチレベルsocks5プロキシ転送、UDP/TCP、IPV4/IPV6をサポート
  • ノードはSSHによるリモートホストアクセスをサポート
  • リモートシェル
  • ファイルのアップロードおよびダウンロード
  • ポートのローカル/リモートマッピング
  • ノードのポート多重化
  • 各種サービスの自由なオン/オフ
  • ノード間の相互認証
  • ノード間トラフィックはTLS/AES-256-GCMで暗号化
  • v1.0と比較してファイルサイズが25%削減
  • 各種プラットフォームをサポート(Linux/Mac/Windows/MIPS/ARM)

ビルドとデモ

  • makeを使用して直接マルチプラットフォームの完全なプログラムをビルドするか、Makefileを参照して特定のプログラムをビルドします
  • ビルドしたくない方は、release でビルド済みのプログラムを直接使用できます
  • デモ動画:YouTube

使用方法

役割

Stowawayには2つの役割があります:

  • admin ペネトレーションテスターが使用するマスター側
  • agent ペネトレーションテスターが展開する被制御側

用語定義

  • ノード: admin または agent を指します
  • アクティブモード: 操作中のノードが別のノードに能動的に接続するモード
  • パッシブモード: 操作中のノードがポートをリッスンし、別のノードからの接続を待つモード
  • 上流: 操作中のノードとその親ノード間のトラフィック
  • 下流: 操作中のノードとそのすべての子ノード間のトラフィック

クイックスタート

以下のコマンドで、最もシンプルなStowawayインスタンスをすばやく起動できます。

  • admin: ./stowaway_admin -l 9999
  • agent: ./stowaway_agent -c <stowaway_adminのIP>:9999

パラメータ解説

  • admin
パラメータ:
-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 ハートビートパケットを有効にします
  • agent
パラメータ:
-l パッシブモードでのリッスンアドレス[ip]:<port>
-s ノード通信暗号化キー
-c アクティブモードでのターゲットノードアドレス
--socks5-proxy socks5プロキシサーバーアドレス
--socks5-proxyu socks5プロキシサーバーユーザー名(オプション)
--socks5-proxyp socks5プロキシサーバーパスワード(オプション)
--http-proxy HTTPプロキシサーバーアドレス
--reconnect 再接続間隔
--rehost ポート多重化時のIPアドレス
--report ポート多重化時のポート番号
--up 上流プロトコルタイプ、デフォルトは生のTCPトラフィック、HTTP/WSを選択可能
--down 下流プロトコルタイプ、デフォルトは生のTCPトラフィック、HTTP/WSを選択可能
--cs 実行プラットフォームのシェルエンコードタイプ、デフォルトはutf-8、gbkを選択可能
--tls-enable ノード通信にTLSを有効にします。TLSを有効にするとAES暗号化は無効になります
--domain TLS SNI/WebSocketドメインを指定します。空の場合はデフォルトでターゲットノードアドレスになります

パラメータの使い方

-l

このパラメータはadminとagentで同じ使い方で、パッシブモードのみで使用します。

IPアドレスを指定しない場合、デフォルトで0.0.0.0でリッスンします。

  • admin: ./stowaway_admin -l 9999 または ./stowaway_admin -l 127.0.0.1:9999

  • agent: ./stowaway_agent -l 9999 または ./stowaway_agent -l 127.0.0.1:9999

-s

このパラメータはadminとagentで同じ使い方で、アクティブ/パッシブモードの両方で使用できます。

オプションです。空の場合は通信は暗号化されません。指定すると、指定されたキーで通信が暗号化されます。

  • admin: ./stowaway_admin -l 9999 -s 123

  • agent: ./stowaway_agent -l 9999 -s 123

-c

このパラメータはadminとagentで同じ使い方で、アクティブモードのみで使用します。

接続先のノードのアドレスを指定します。

  • admin: ./stowaway_admin -c 127.0.0.1:9999

  • agent: ./stowaway_agent -c 127.0.0.1:9999

--socks5-proxy/--socks5-proxyu/--socks5-proxyp/--http-proxy

これら4つのパラメータはadminとagentで同じ使い方で、アクティブモードのみで使用します。

--socks5-proxyはsocks5プロキシサーバーアドレス、--socks5-proxyuと--socks5-proxypはオプションです。

--http-proxyはHTTPプロキシサーバーアドレスで、socks5と同じように使用します。

ユーザー名とパスワードなし:

  • 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

ユーザー名とパスワードあり:

  • 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

--up/--down

これら2つのパラメータはadminとagentで同じ使い方で、アクティブ/パッシブモードの両方で使用できます。

ただし、adminには--upパラメータはありません。

これらのパラメータはオプションです。空の場合、上流/下流トラフィックは生のTCPトラフィックです。

上流/下流トラフィックをHTTP/WSトラフィックにしたい場合は、これらのパラメータをhttpまたはwsに設定します。

  • admin: ./stowaway_admin -c 127.0.0.1:9999 --down ws

  • agent: ./stowaway_agent -c 127.0.0.1:9999 --up ws または ./stowaway_agent -c 127.0.0.1:9999 --up ws --down ws

さらに2点注意が必要です。

第一に、あるノードの上流/下流をTCP/HTTP/WSトラフィックに設定した場合、接続されている親/子ノードの下流/上流トラフィックも同じに設定する必要があります。例:

  • admin: ./stowaway_admin -c 127.0.0.1:9999 --down ws

  • agent: ./stowaway_agent -l 9999 --up ws

上記の場合、agentは--upをwsに設定する必要があります。そうしないとネットワークエラーが発生します。

agent間でも同様です。

agent-1が127.0.0.1:10000ポートで子ノードの接続を待ち、--down wsを設定しているとします。

その場合、agent-2も--upをwsに設定する必要があります。そうしないとネットワークエラーが発生します。

  • agent-2: ./stowaway_agent -c 127.0.0.1:10000 --up ws

第二に、httpは半二重プロトコルであり、Stowawayの全二重通信にはあまり適していません。そのため、ここでのhttpプロトコルはhttpメッセージ形式のみを実装しており、完全な機能を持つhttpワークフローではありません。したがって、このプロトコルを使用することは可能ですが、Stowaway間のトラフィックがhttpメッセージ形式で転送される場合、nginxを介して転送することはできません。このコードと機能は、一方では特定の状況でのhttpプロトコルの使用のために保持されており、他方ではカスタムプロトコルのテンプレートとしても提供され、ユーザーがカスタムプロトコルを定義する際の参考になります。

nginxなどのリバースプロキシを介して通信する場合は、wsプロトコルを使用し、TLSを併用してください。

--reconnect

このパラメータはagentのみで使用し、アクティブモードのみで使用します。

オプションです。設定しない場合、ノードはネットワーク接続が切断されても能動的に再接続しません。設定すると、ノードはx(設定した秒数)秒ごとに親ノードへの再接続を試みます。

  • admin: ./stowaway_admin -l 9999

  • agent: ./stowaway_agent -c 127.0.0.1:9999 --reconnect 10

上記の場合、agentとadmin間の接続が切断されると、agentは10秒ごとにadminへの再接続を試みます。

agent間でも同様です。

また、--reconnectパラメータは--socks5-proxy/--socks5-proxyu/--socks5-proxyp/--http-proxyと一緒に使用でき、agentは起動時の設定に従ってプロキシ経由で再接続を試みます。

--rehost/--report

これらのパラメータは特にagent側でのみ使用されます。詳細は下記の「ポート多重化メカニズム」を参照してください。

--cs

このパラメータはagentのみで使用し、アクティブ/パッシブモードで使用できます。

主に'shell'機能の文字化けを解決するためのものです。agentがコンソールエンコードがgbkのプラットフォーム(一般的なWindowsなど)で動作し、同時にadminがコンソールエンコードがutf-8のプラットフォームで動作する場合、このパラメータを'gbk'に設定する必要があります。

  • Windows: ./stowaway_agent -c 127.0.0.1:9999 -s 123 --cs gbk

--tls-enable

これらのパラメータはadminとagentで同じ使い方で、アクティブ/パッシブモードで使用できます。

このオプションを設定すると、ノード間のトラフィックをTLSで暗号化できます。

例:

  • admin: ./stowaway_admin -l 10000 --tls-enable -s 123
  • agent: ./stowaway_agent -c localhost:10000 --tls-enable -s 123

注意:このパラメータを有効にすると、aes暗号化はデフォルトで無効になり、-sパラメータはノード間の相互認証およびポート多重化機能にのみ使用されます。

また、このパラメータを有効にする場合、ネットワーク内のすべてのノード(adminを含む)でこのパラメータを有効にしてください。

--domain

これらのパラメータはadminとagentで同じ使い方で、アクティブモードのみで使用できます。

このオプションを設定すると、現在のノードのTLSネゴシエーション時のSNIオプションまたはWebSocketのターゲットHostを設定できます。

例:

  • admin: ./stowaway_admin -l 10000 --tls-enable -s 123
  • agent: ./stowaway_agent -c xxx.xxx.xxx.xxx:10000 --tls-enable -s 123 --domain xxx.com

--heartbeat

このパラメータはadmin側のみで使用し、アクティブ/パッシブモードで使用できます。

このオプションを設定すると、adminが最初のノードに継続的にハートビートパケットを送信し、途中にリバースプロキシがある場合でも長期間の接続を維持できます。

adminとagentの間にnginxのようなリバースプロキシデバイスがあり、8080ポートを8000ポートにプロキシしていると仮定します。例:

  • admin: ./stowaway_admin -l 8000 --tls-enable -s 123 --down ws --heartbeat
  • agent: ./stowaway_agent -c xxx.xxx.xxx.xxx:8080 --tls-enable -s 123 --domain xxx.com --up ws

ポート多重化メカニズム

現在のStowawayは、SO_REUSEPORTとSO_REUSEADDRの機能に基づくポート多重化機能と、IPTABLESに基づくポート多重化機能を提供しています。

ツールをダウンロード