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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
fraud-bridge — ICMP、DNS、NTPトンネリングツール。検閲回避のためのツールで、HMAC整合性保護とMSSクランピングにより、制限のあるネットワーク上で効率的なWebセッションを実現します。 | Kitploit
ツール/GitHubGitHub/stealth/fraud-bridge
IDS/IPS回避ネットワークセキュリティプライバシーアンチボットDNS分析
GitHubstealth/fraud-bridge

fraud-bridge

ICMP、DNS、NTPトンネリングツール。検閲回避のためのツールで、HMAC整合性保護とMSSクランピングにより、制限のあるネットワーク上で効率的なWebセッションを実現します。

リポジトリを見る
232471年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

はじめに

fraud-bridge は、直接のTCPまたはUDP接続をブロックする制限の厳しい検閲環境を回避するため、ICMP、NTP、またはDNS(IPv4またはIPv6経由)トンネルを設定します。

TCP MSSオプションを自動的にパッチし、非断片化されたパケットストリーム(MSSクランピングとして知られる)を実現して、ブリッジを介したWebセッションの使用を可能にするパフォーマンスを向上させます。

悪意のあるTCPパケットがトンネルに注入されるのを防ぐため、MD5を使用して(HMAC)整合性保護を行います。プライバシーが必要な場合は、自分で暗号化を使用する必要があります。トンネルを経由してSSHを使用することが前提となっています。HTTPトンネリングが必要な場合は、直接接続するか、SSHプロキシオプションを使用してください。

DNSトンネリングの場合、fraud-bridge は EDNS0 拡張ヘッダーを使用して、TXT 応答にできるだけ多くのバイトを詰め込みます。

fraud-bridge には、特定の bind 制限(例:割り当て/制限)に対処するための他のテクニックも含まれています。

また、SSHセッションに完全なローミング/モビリティサポートを、パッチなしで追加することもできます。

トンネルを設定したら、メッセンジャーをトンネル経由で動作させる方法 を読むとよいでしょう。

また、c->skills は、検閲をかいくぐるための完全なチェーンを提供しています。興味があれば、crash と psc をご覧ください。

ビルド

Linuxで make を実行するだけです。

実行

使用方法は以下の通りです:

root@kitploit:~
fraud-bridge -- https://github.com/stealth/fraud-bridge

Usage: fraud-bridge <-k key> [-R IP] [-L IP] [-pP port] [-iIuUnN] [-s sz]
	[-E sz] [-d dev] [-D domain] [-S usec] [-X user] [-r dir] [-t type] [-v]

	-k -- HMAC key to protect tunnel packets
	-R -- IP or IPv6 addr of (outside) peer when started inside
	-L -- local IP addr to bind to if started outside (can be omitted)
	-p -- remote port when in DNS/NTP mode (default: 53/123)
	-P -- local port when in DNS/NTP mode (outside default: 53/123)
	-i -- use ICMP tunnel
	-I -- use ICMPv6 tunnel
	-u -- use DNS tunnel over IP
	-U -- use DNS tunnel over IPv6
	-n -- use NTP4 tunnel over IP
	-N -- use NTP4 tunnel over IPv6
	-E -- set EDNS0 size (default: 1024)
	-s -- set MSS size (default: 1024)
	-d -- tunnel device to use (default: tun1)
	-D -- DNS domain to use when DNS tunneling
	-S -- usec slowdown for DNS ping (default: 5000)
	-X -- user to run as (default: nobody)
	-r -- chroot directory (default: /var/empty)
	-t -- override ICMP/ICMP6 type (usually no need to change)
	-v -- enable verbose mode

いくつかの定義:inside は検閲されたネットワーク内のマシン(おそらくラップトップ/PC)を指します。outside は検閲されたネットワーク外のVPSまたはマシン、つまり「自由なインターネット」と呼ばれるものを指します。

起動後、fraud-bridge はポイントツーポイントトンネル 1.2.3.4 <-> 1.2.3.5 を開きます。

次に、内部では inside.sh を、外部では outside.sh を起動する必要があります。

以下のようになります:

外部のトンネル終端(例:インターネット上のサーバー):

root@kitploit:~
# ./fraud-bridge -u -L 192.168.2.222 -D f.sub.dnstunnel.com -k key

(そして outside.sh を起動)

内部:

root@kitploit:~
# ./fraud-bridge -u -R 127.0.0.1 -D f.sub.dnstunnel.com -k key

(そして inside.sh を起動)

これは、ローカルで named が 127.0.0.1 で動作し、外部ピアが 192.168.2.222 であるDNSトンネルの例です。前述の通り、トンネルの外部部分は事前に起動しておく必要があり(実際に必要です)、ピアがトンネルを開くのを待機します。独自のbind設定で実験したい場合は、サンプルのゾーンファイルが含まれています。実際のインターネット上のトンネルを実行する場合には不要です。

デフォルトのトンネルデバイスは tun1 です。fraud-bridge の複数のインスタンスや、このトンネルデバイスを使用する他のトンネルソフトウェアを同時に実行しないように注意してください。fraud-bridge デーモンを終了/再起動するたびに、再起動した側で inside/outside スクリプトを再度実行する必要があります。

重要な注意事項

外部での -L パラメータは省略可能(省略すべき)です。実際の設定では、内部の -R パラメータには外部サーバーのIPまたはIP6アドレスを指定します。または、DNS再帰を使用する場合は、プロバイダのDNSサーバーまたはパブリック再帰DNSリゾルバのIPアドレスを指定します。独自のDNSサーバーがない場合でも、内部でVPSのIPを -R パラメータとして使用し、両端で同じ -D ドメインパラメータ(検閲体制において正当に見えるもの、例えば -D blah.gov)を使用することで、DNSトンネリングを利用できます。

DNSトンネリングを試す前に、まずICMPまたはNTPトンネリングを試すことをお勧めします。 syslogに chroot に関する警告が表示される場合は、無視するか、-r に有効な引数を指定してください。

上記の例では、ssh -D 1234 1.2.3.5 を使用して 192.168.2.222 へのSSH接続を確立し、ポート :1234 のSOCKS5プロキシをWebブラウザセッションで使用すると、トンネル経由で通信できます。

ICMPの場合は -i、IPv6上のICMPの場合は -I、IPv6上のDNSの場合は -U、UDP上のNTPの場合は -n、UDP/IPv6上のNTPの場合は -N でも同様に行えます。

SSH接続の背後でトンネルの種類(DNSからICMP、ICMPからNTPなど)を切り替えたり、ローカルIPを別のIPにローミング(例:WiFiから5Gに切り替え)することも可能です。これは、TCP状態がブリッジではなくローカルおよびリモートのカーネルで保持されているためです。これにより、SSHにパッチを当てることなく完全なSSHローミング/モビリティサポートが実現します。

冗長モードでは、fraud-bridge は stdout を開いたままにしてエラーやメッセージを報告するため、スクリーン上で実行するか、出力を /dev/null にリダイレクトしてバックグラウンドで実行する必要があります(冗長モードの場合)。これは、fraud-bridge を起動した後に inside/outside スクリプトを起動する必要があることに注意してください。-v を使用しない場合、デーモンはバックグラウンドに移行し、エラーをsyslogに記録します。

ICMPトンネルを使用する前に、リモートピアからの応答パケットを受信できるように、ケーブルモデムのファイアウォールルールを緩和してください。fraud-bridge はNATの背後でも動作しますが、最終的に応答パケットを受信できる必要があります。ICMPエコーがブロックされている場合は、-t でタイプパラメータを設定できます。例えば、内部で -t 13、外部で -t 14 を使用すると、タイムスタンプ要求/応答のペアが得られます。

DNSトンネリングの場合、fraud-bridge は EDNS0 拡張ヘッダーを使用して、TXT 応答にできるだけ多くのバイトを詰め込みます。私のテストでは、タイミングパケットに応答しようとするため、bind9 のシステムログファイルにはログが生成されません。EDNS0(-E)を変更する場合は、両端で同じ値にする必要があります(内部がネームサーバーに最大UDPペイロードサイズを通知し、外部エンドポイントが -E で指定された値からMSSを計算するため)。

NTPトンネリングを使用する場合、一部のプロバイダ(CGNを使用)は大きなNTPパケット(IPv4のみ)をブロックします。一般的なドイツのISPでは、256バイトを超えるNTPパケットはブロックされました。そのため、-s 100 のようにMSSを適切に設定して、TCPスタックがより小さなセグメントを送信するようにする必要があります。

パフォーマンスについての考察

fraud-bridge はPtPトンネルを開くため、送信するパケットからIPヘッダーを削除し、各端で再合成できます。したがって、ICMPトンネリングでは、8(ICMP)+ 16(HMAC)バイトのオーバーヘッドしかなく、許容範囲です。DNSトンネリングは、直接行う場合、MSSクランピングのおかげで、レイテンシと帯域幅は依然として良好です。パブリックDNSリゾルバを介して間接的にトンネリングする場合も、デフォルト値で十分なセッションが得られますが、可能であればICMPトンネリングが優先されます。

ssh -D [0.0.0.0]:1234 1.2.3.5 を使用すると、マシン(内部)のポート1234にローカルSOCKSプロキシを設定し、WLAN経由で近隣に配布して、検閲のないWebセッションを提供できます。

また、外部ボックスにローカルの tor を設定し、通常通り 127.0.0.1:9150 でSOCKSポートを提供した後、ssh -L 9150:127.0.0.1:9150 1.2.3.5 を使用してこの外部ポートを内部マシンに転送することで、外部の tor 設定をローカルにミラーリングし、tor のSOCKSポートとしてWLAN経由でユーザーに配布できます。これにより、プラガブル・トランスポートを実装する必要がなく、以前と同じように tor を使用できます。これは、crash や psc セッション、その他のトンネリングメカニズムでも同様に機能します。

-S パラメータは、サーバーに一定間隔で送信する必要があるDNSタイマーパケットに対して適切なデフォルト値を持っています。値を小さくするとトンネルのレイテンシは向上しますが、再帰DNSサーバーに過剰な負荷がかかり、ノイズが増加する可能性があります。

誇りを持ってスポンサー提供:

ツールをダウンロード