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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
JS-Tap — XSSペイロードやポストエクスプロイテーションインプラントとして使用されるJavaScriptビーコンとC2。ウェブアプリサーバーやデスクトップソフトウェア上でユーザーを監視し、永続性を維持するために使用します。ブラウザ拡張機能、Electronアプリ、Node/Bunアプリのインプラントが含まれます。 | Kitploit
ツール/GitHubGitHub/hoodoer/js-tap
フィッシングツール偵察永続化メカニズムウェブアプリケーション悪用データ流出情報収集ポストエクスプロイトコマンド&コントロールソーシャルエンジニアリングレッドチーミングペイロード開発
47457353ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
hoodoer/js-tap

JS-Tap

XSSペイロードやポストエクスプロイテーションインプラントとして使用されるJavaScriptビーコンとC2。ウェブアプリサーバーやデスクトップソフトウェア上でユーザーを監視し、永続性を維持するために使用します。ブラウザ拡張機能、Electronアプリ、Node/Bunアプリのインプラントが含まれます。

リポジトリを見る

JS-Tap

v3.0.4

このツールは、攻撃を許可されたシステム上で、合法的かつ教育目的での使用を意図しています。違法な目的でこのツールを使用しないでください。さもないと、あなたの方向に非常に怒りを向けることになります。

変更履歴

大きな変更はプロジェクトのお知らせに記載されています:
https://github.com/hoodoer/JS-Tap/discussions/categories/announcements

デモ

JS-Tapに関する元のブログ記事はこちらで読めます:
https://trustedsec.com/blog/js-tap-weaponizing-javascript-for-red-teams

ShmooConでのJS-Tap v1の短いデモ:
https://youtu.be/IDLMMiqV6ss?si=XunvnVarqSIjx_x0&t=19814

HackSpaceConでのJS-Tap v2のデモ(C2およびポストエクスプロイテーションインプラントとしての使用方法を含む):
https://youtu.be/aWvNLJnqObQ?t=11719

自動ペイロードジェネレーターのデモ。傍受したフォーム投稿とJavaScriptネットワークトラフィックをテンプレートとして、カスタムC2ペイロードを生成:
https://www.youtube.com/watch?v=cU915mxLfTo

CactusConでのv2デモ(mimic機能を含む):
https://youtu.be/O7-zxAmP13o?si=gchYwOJksutCCUPH

v3 Beaconsのデモ(ベータコード):
https://youtu.be/-esrfSHqZeo

アップグレードに関する注意

データベースの移行スクリプトを作成する予定はなく、バージョン番号のアップグレードにはデータベーススキーマの変更が伴うことがよくあります(変更履歴を確認してください)。バージョンアップ時には、jsTap.dbデータベースを削除することをお勧めします。JS-Tapサーバーにカスタムペイロードがある場合は、データベースファイルを削除する前に必ずエクスポートしてください。

はじめに

JS-Tapは、レッドチーム向けのJavaScriptベースの攻撃ツールキットです。当初はXSSやポストエクスプロイテーションインプラントを介してWebアプリを攻撃するための汎用JavaScriptペイロードとして始まり、ブラウザ拡張機能やElectronデスクトップアプリのインプラントも含むように成長し、すべてが単一のC2サーバーにレポートします。

このペイロードは、ペイロードを実行する対象ユーザーが攻撃対象のアプリケーションに認証されている必要はなく、アプリケーションに関する事前知識も、JavaScriptをアプリケーションに注入する方法を見つける以外には必要ありません。

アプリケーションサーバー自体を攻撃する代わりに、JS-Tapペイロードはアプリケーションのクライアントサイドに焦点を当て、クライアントサイドコードを大規模にインストルメント化します。C2システムにより、カスタムJavaScriptペイロードを追加してJS-Tapクライアント上でタスクとして実行でき、アプリケーションサーバーを直接攻撃する手段を提供します。サーバー攻撃への移行を迅速化するために、JS-Tapにはmimic機能が含まれており、カスタムペイロードを自動生成してC2システムに引き渡します。

サンプルのDOM Beaconペイロードは、payloadsディレクトリのtelemlib.jsファイルに含まれていますが、このディレクトリ内のファイルはすべて認証なしで提供されるため、異なる構成の複数のペイロードを同時に提供して、異なるアプリケーションをターゲットにすることができます。

telemlib.jsファイルをお好みのファイル名にコピーし、必要に応じて設定を変更してください。このファイルは難読化されていません。実際のエンゲージメントで使用する前に、エンドポイントの名前を変更し、コメントを削除し、ペイロードを高度に難読化することを強く検討してください。デフォルトでは、アプリケーションはかなり明白なAPIエンドポイント(例:/loot/screenshot)を使用しますが、App Settingsでトラフィックの難読化を有効にできます。

公開サーバーで使用する前に、以下の設定セクションを注意深く確認してください。

アーキテクチャ概要

JS-Tapには、同じサーバーに接続する5つのビーコン/エージェントタイプがあります:

ビーコンタイプ説明導入方法
DOM Beacon (telemlib.js)Webページに注入されるJavaScriptペイロード。DOMを計測し、ユーザーアクティビティ、スクリーンショット、ネットワークコールをキャプチャします。XSS脆弱性、またはターゲットアプリのJavaScriptファイルに直接追加(ポストエクスプロイテーション)。
BEX Beaconブラウザ拡張機能(Chrome MV3 / Firefox MV2)。すべてのブラウジングアクティビティを監視し、クッキー(httpOnlyを含む)、localStorage、sessionStorage、リクエストヘッダーをキャプチャします。コマンドにより特定のドメインにDOM Beaconを注入できます。ターゲットのブラウザにインストール(ソーシャルエンジニアリング、物理アクセス、ポリシープッシュなど)。
SidecarターゲットOS上で動作するネイティブGoバイナリ。ファイルシステムの閲覧、ファイルの読み取り、コマンド実行を提供します。ネイティブメッセージングを介してBEX Beaconと一緒にインストール。コマンドを中継するためにBEX Beaconが必要。
Atom BeaconElectronデスクトップアプリケーション向けの二層インプラント。メインプロセスエージェント(Node.jsランタイム)+ レンダラーペイロードをすべてのアプリウィンドウに注入します。ブラウザレベルのデータ収集とホストレベルのOSアクセスを組み合わせ、別途バイナリは不要。ブラウザプロキシモードをサポート。atomize.pyを使用してターゲットElectronアプリのASARアーカイブ(または展開済みアプリディレクトリ)にパッチ適用。
V8 BeaconNode.jsおよびBun CLIアプリケーション(Gemini CLI、Claude Codeなど)向けのJavaScriptエージェント。すべてのHTTP/Fetchネットワークコールをインターセプトし、キーストロークをキャプチャし、ファイルシステムとシェルアクセスを提供します。ブラウザプロキシモードをサポート。依存関係ゼロ。環境変数を介して注入:NODE_OPTIONS="--require"(Node.js)またはBUN_OPTIONS="--preload"(Bun)。アプリのパッチ適用は不要。

5つすべてが同じJS-Tapサーバーポータルにレポートし、戦利品の閲覧やC2コマンドの発行が行われます。

ポータルには2つのセッションクローン作成ツールも含まれています:

ツール機能
Browser ProxyJS-Tapサーバー上のMITMプロキシで、オペレーターのHTTP/HTTPSトラフィックをWebSocket経由で被害者のブラウザ(またはNode.jsプロセス)にルーティングします。リクエストは被害者のネットワークコンテキストからフェッチされるため、ターゲットサイトは被害者のIPとTLSフィンガープリントを認識します。セッションチケットと組み合わせることで、被害者のネットワークを通じた認証済みブラウジングが可能。BEX、Atom、V8ビーコンでサポートされています。詳細はBrowser Proxyを参照。
JS-Tap ConductorスタンドアロンのFirefox拡張機能で、BEX Beaconによってキャプチャされたセッションデータ("JS-Tap Ticket"として)をインポートし、ローカルで再生します。クッキーの設定、ヘッダーの注入、ストレージの投入、User-Agentのスプーフィングを行い、オペレーターが被害者としてブラウジングできるようにします。詳細はJS-Tap Tickets & JS-Tap Conductorを参照。

連携の仕組み

  1. スタンドアロンDOM Beacon: DOM Beaconペイロード(telemlib.js)は単独で動作します。XSSで注入するか、ターゲットのJSファイルに埋め込みます。自動的にJS-Tapサーバーに接続します。

  2. ドロッパーとしてのBEX Beacon: BEX Beaconはブラウジングを監視し、パッシブなインテリジェンス(クッキー、localStorage、sessionStorage、リクエストヘッダー、ナビゲーション)を収集します。JS-Tapポータルから、特定のドメインにDOM Beaconを注入するようにビーコンに命令できます。BEX Beaconによって起動されたDOM Beaconは、拡張機能のcaptureVisibleTab APIにより高品質のスクリーンショットを取得します("BEX-Assist"モード)。

  3. OSアクセス用Sidecar: インストールされると、SidecarバイナリはBEX Beaconに基盤となるオペレーティングシステムへのアクセスを提供します。コマンドはJS-Tapポータルから送信され、ビーコンの暗号化チャネルを介してネイティブバイナリに中継され、結果が返送されます。これにより、ブラウザ拡張機能がファイルシステムアクセスとコマンド実行の足がかりとなります。

  4. ライブブラウジング用Browser Proxy: オペレーターはブラウザをJS-Tapプロキシを使用するように設定し、すべてのHTTP/HTTPSトラフィックがリアルタイムで被害者のブラウザを経由してルーティングされます。プロキシはMITM TLS終端(自動生成CA使用)を実行するため、オペレーターはHTTPSサイトを閲覧できます。プロキシは「ダムパイプ」であり、オペレーターのブラウザが送信したものをそのまま転送します。認証済みブラウジングには、セッションチケットと組み合わせます。JS-Tap Conductorが被害者のクッキー、ヘッダー、User-Agentをオペレーターのブラウザに注入し、MITMプロキシがそれらをビーコンに転送し、ビーコンが被害者のネットワークからフェッチします。これにより、オペレーターは被害者のIPアドレスからの認証済みセッションを取得できます。BEX、Atom、V8ビーコンはすべてプロキシモードをサポートしています。

  5. Electronアプリ向けAtom Beacon: atomize.pyパッチャーはElectronアプリのASARアーカイブを変更してAtom Beaconエージェントを注入します。起動時にエージェントはJS-Tapサーバーに登録し、暗号化C2通信を開始し、アプリが作成するすべてのBrowserWindowにレンダラーペイロードを自動的に注入します。メインプロセスエージェントはネイティブOSアクセス(ファイルシステム、コマンド実行)を提供し、レンダラーペイロードはDOMレベルのデータ(キーストローク、入力、フォーム、クッキー、ストレージ、ネットワークコール)を収集します。Electronのメインプロセス内で完全なNode.jsアクセス権限で動作するため、別途Sidecarバイナリは不要で、ファイルブラウジング、ファイル読み取り、シェルコマンドが組み込まれています。

  6. CLIツール向けV8 Beacon: V8 BeaconはNode.jsおよびBunベースのCLIアプリケーションを対象としています。環境変数(NODE_OPTIONSまたはBUN_OPTIONS)を設定するだけで、ビーコンはアプリ自身のコードよりも前に読み込まれます。ターゲットアプリへのパッチや変更は不要です。http.request、https.request、fetch、http2.connectをモンキーパッチしてすべてのネットワークトラフィックを傍受し、process.stdinをフックしてキーストロークをキャプチャし、C2チャネルを介してファイルブラウジングとシェル実行を提供します。子プロセスを生成するCLIツール(例:Gemini CLIが対話セッションのために自身を子プロセスとして生成)は自動的に処理されます。子プロセスは親のセッションキーを継承し、ポータル上で同じ論理クライアントを共有します。クロスランタイムサブプロセスフィルタリングにより、BunアプリのNode.jsユーティリティサブプロセスが別のクライアントとして登録されるのを防ぎます。

  7. アプリ固有攻撃用プラグイン: Atom BeaconおよびV8 Beaconクライアントは、実行時にロード可能なプラグインをサポートしています。プラグインはJS-Tapポータルから読み込まれるJavaScriptモジュールで、特定のターゲットアプリケーション(例:Mattermostプラグイン)向けにビーコンの機能を拡張します。プラグインはビーコンのNode.js API(fs、http、crypto、child_process)、Electron API(Atom Beaconの場合)、およびサーバーへのデータ流出チャネルにアクセスできます。各プラグインには、ターゲットアプリ、機能、オペレーター設定可能なオプションを宣言するマニフェスト(manifest.json)と、ポータルに表示されるオプションのUIパネル(ui.html)が含まれます。

収集されるデータ

DOM Beacons

  • クライアントIPアドレス、OS、ブラウザ
  • ブラウザのフィンガープリント(オプション設定)
  • ユーザー入力(認証情報など)
  • 訪問したURL
  • httponlyフラグが設定されていないクッキー
  • Local Storage
  • Session Storage
  • 訪問したページのHTMLコード(機能が有効な場合)
  • 訪問したページのスクリーンショット
  • フォーム送信のコピー
  • XHR API呼び出しのコピー(monkeypatch機能が有効な場合)
    • エンドポイント
    • メソッド(GET、POSTなど)
    • 設定されたヘッダー
    • Basic認証
    • レスポンスステータスコード
    • リクエスト本文とレスポンス本文
  • Fetch API呼び出しのコピー(monkeypatch機能が有効な場合)
    • エンドポイント
    • メソッド(GET、POSTなど)
    • レスポンスステータスコード
    • 設定されたヘッダー
    • リクエスト本文とレスポンス本文
  • カスタム流出データ
    • C2システムのカスタムペイロードから送り返されたデータ

注:XHRおよびFetch API呼び出しのコピーを受信する機能は、トラップモードで動作します。インプラントモードでは現在Fetch APIのみコピー可能です。フォーム送信の傍受はインプラントモードで見逃されることがあります。

BEX Beacons

  • 訪問したドメイン(タイムスタンプ付き)
  • 訪問したドメインのクッキー(browser.cookies.getAll()によるhttpOnlyを含む、メタデータ:httpOnly、secure、sameSite、path、domain、expiration)
  • localStorageとsessionStorage
  • 監視対象ドメインのリクエストヘッダー(authorization、x-api-key、cookie、set-cookie)
  • コマンドでDOM Beaconを注入可能(その後、上記すべてを収集)

Sidecar(BEX Beacon経由)

  • ディレクトリ一覧(ファイル名、サイズ、パーミッション、タイムスタンプ)
  • ファイル内容(読み取りあたり最大1MB、オフセット/リミット対応)
  • コマンド実行出力(stdout、stderr、終了コード)

Atom Beacon(Electronアプリ)

メインプロセスエージェント(Node.jsランタイム):

  • session.cookies APIによるすべてのドメインの全クッキー(httpOnlyを含む、メタデータ付き)
  • webRequest.onBeforeSendHeadersによるリクエストヘッダー(Authorization、x-api-key、Cookie、Set-Cookie)
  • webRequest.onHeadersReceivedによるレスポンスヘッダー(Set-Cookie、WWW-Authenticate、x-csrf-token、Location)
  • ElectronのdesktopCapturer APIによるアプリケーションウィンドウのスクリーンショット(GPU合成出力をキャプチャ)
  • ホスト情報(ホスト名、プラットフォーム、アーキテクチャ、ユーザー名、ホームディレクトリ)
  • 追跡中のウィンドウ一覧(URL、タイトル、注入ステータス)
  • ファイルシステムアクセス(ディレクトリ一覧、ファイル読み取り)— ネイティブ、サイドカー不要
  • コマンド実行(シェルコマンドとstdout/stderr/終了コード)— ネイティブ、サイドカー不要
ツールをダウンロード