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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BinProxy — BinProxyは、任意のTCP接続のためのプロキシです。BinData gemを使用してカスタムメッセージフォーマットを定義できます。 | Kitploit
ツール/GitHubGitHub/nccgroup/binproxy
パケットスニッフィングと分析ウェブプロキシと傍受ネットワークセキュリティペネトレーションテスト
GitHubnccgroup/binproxy

BinProxy

BinProxyは、任意のTCP接続のためのプロキシです。BinData gemを使用してカスタムメッセージフォーマットを定義できます。

リポジトリを見るウェブサイト
176448年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

概要

BinProxyは任意のTCP接続用のプロキシです。BinData gemを使用してカスタムメッセージフォーマットを定義できます。

インストール

前提条件

  • Ruby 2.3以降
  • いくつかの依存関係をコンパイルするためにCコンパイラ、Rubyヘッダなどが必要です。
    • Ubuntuでは、sudo apt install build-essential ruby-devで十分です。
    • カスタムRuby(例:RVM)をインストールしている場合は、おそらく既に必要なものは揃っています。
  • --tlsを明示的な証明書/キーなしで使用するためのopensslバイナリ。
  • UIをビルドするにはnode.jsとnpmが必要です(実行時は不要)。

Rubygemsから

root@kitploit:~
gem install binproxy

Rubyのインストール状況によってはsudoを使用する必要があるかもしれません。

ソースから

root@kitploit:~
git clone https://github.com/nccgroup/BinProxy.git binproxy
cd binproxy

# Install ruby dependencies.
# Depending on your setup, one or both of these may require sudo.
gem install bundler && bundle

# The UI is built with a webpack/babel toolchain:
(cd ui && npm install) \
  && rake build-ui

# Confirm that everything works
# run.sh sets up the environment and passes all args to binproxy
./run.sh --help

gemパッケージをビルドしてインストールするには:

root@kitploit:~
gem build binproxy.gemspec

# Again, you may need sudo here
gem install binproxy-1.0.0.gem

インストールの問題に関するバグ報告は歓迎します!

使用方法

基本的な使い方

  1. 引数なしでbinproxyを実行します。
  2. http://localhost:4567/ にアクセスします。
  3. ローカルおよびリモートのホスト名またはIPアドレスとポートを入力し、'update'をクリックします。
  4. クライアントをローカルサービスに向け、パケットの流れを観察します。

コマンドラインフラグ

完全なリストは--helpを参照してくださいが、簡潔に説明すると:

root@kitploit:~
binproxy -c <class> [<local-host>] <local-port> <remote-host> <remote-port>

-c引数を省略すると、単純な16進ダンプが表示されます。

ローカルホストを省略すると、binproxyはlocalhostを想定します。

--socks-proxyまたは--http-proxyオプションを使用する場合、リモートホストとポートは動的に決定されるため、指定すべきではありません。

例

root@kitploit:~
# Proxy from localhost:9000 -> example.com:9000
binproxy localhost 9000 example.com 9000

# Act as a SOCKS proxy on localhost:1080
# MITM and unwrap TLS on the proxied traffic, using a self-signed cert and key
binproxy -S --tls 1080

# "Poor substitute for Burp" mode:
#
# HTTP proxy; MITM TLS w/ pre-generated cert; simple header parsing
# Note: this will only work on HTTPS traffic, not plain HTTP!
# If you're working with the source repo, you generate the certs with:
#   rake makecert[example.com]
# And then import certs/ca-cert.pem into your browser or OS's trust store.
binproxy -H --tls \
  --tls-cert certs/example.com-cert.pem \
  --tls-key certs/example.com-key.pem \
  --class-name DumbHttp::Message \
  localhost 8080

カスタマイズ

デフォルトでは、プロキシは組み込みのRawMessageクラスを使用し、各メッセージの16進ダンプを提供します(メッセージとTCPパケットが1:1であると仮定)。

--classコマンドライン引数でBinData::Recordサブクラス†を指定すると、パースされたプロトコル情報を表示できます。

また、クラス内で以下を定義することもできます:

root@kitploit:~
def summary
  # return a single-line description of this record
end

# currently supported options are
#   - nil : use default display
#   - "anon" : for structs, show contents directly
#   - "hex" : for numbers, display as 0x1234ABCD
#   - "hexdump" : for strings, display like `hexdump -C`
default_parameter display_as: "..."

# TODO: document state stuff
def self.initial_state
end

def current_state
end

def update_state
end

† 厳密には、BinData::Baseの任意のサブクラスが機能します。

動的プロキシ

デフォルトでは、BinProxyはすべてのトラフィックを静的な上流ホストとポートに中継します。また、--socks-proxyおよび--http-proxyフラグを使用して、それぞれSOCKS(v4またはv4a)プロキシまたはHTTPプロキシとして動作するように設定することもできます。

注釈: 現在、HTTPプロキシはHTTP CONNECT動詞でトンネリングされた接続のみをサポートしています。生のHTTP GET、POSTなどのリクエストをプロキシすることはできません。実際には、これはHTTPSトラフィックは機能しますが、curl -pのようにトンネリングを強制するフラグをクライアントがサポートしない限り、プレーンHTTPトラフィックは機能しないことを意味します。

TLS / SSL

--tlsフラグを使用して、メッセージを処理する前にTLS暗号化を解除します。デフォルトでは、BinProxyは自己署名証明書を生成します。--tls-certおよび--tls-keyで証明書とキーを含むPEMファイルを指定できます。(ソースリポジトリをクローンした場合は、rake makecert[example.com]を使用して静的CAと適切なホスト名の証明書を生成してください。)

既知の問題

  • HTTPプロキシ機能は最後の瞬間に急いで作られたもので、特に堅牢ではありません。

ランダムなアイデアやウィッシュリスト項目については、TODOファイルも参照してください。

クレジット

BinProxyのコアTCPプロキシ機能は、Sean Devlinによって書かれた特別な目的のプロキシに由来しています。Rusty BurchfieldがそのプロキシのHTML UIを提供しました。コードは十分に変更され、現在のバグについては彼らに責任を負わせることはできませんが、BinProxyは彼らの貢献なしには存在しなかったでしょう。

ツールをダウンロード