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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2017-12945 — CVE-2017-12945 のエクスプロイト。 | Kitploit
ツール/GitHubGitHub/aress31/cve-2017-12945
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストコマンド&コントロールリモートアクセスツール
GitHubaress31/cve-2017-12945

cve-2017-12945

CVE-2017-12945 のエクスプロイト。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2017-12945

CVE-2017-12945 のエクスプロイト

Mersive Technologies Inc. が設計したワイヤレスコラボレーション&プレゼンテーションプラットフォームである Mersive Solstice Pods のうち、2.8.4 より前のファームウェアバージョンを実行しているデバイスには、(リモート)(認証済み)(ブラインド) OS コマンドインジェクションの脆弱性が存在します。これはベンダーのウェブサイトでも認められ、報告されています (下のスクリーンショットを参照)。その結果、認証された攻撃者は、巧妙に細工した HTTP リクエストを送信することで、脆弱性のある Mersive Solstice Pods 上で (root 権限による) 任意のコマンドを実行できます。

changelog

この脆弱性は、サーバーサイドでの入力値/パラメータの検証が欠如しているために発生します。ユーザーが制御する一部の入力値/パラメータは、root ユーザーのコンテキストで OS コマンドを実行するように設計された public static String runShellCommand(String command) メソッドの引数として直接渡されます。この安全でない構成により、攻撃者は脆弱性のあるデバイスを完全に侵害できる可能性があります。

参照

Mitre CVE リファレンス:

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12945

ベンダー変更ログ:

  • https://documentation.mersive.com/content/pages/release-notes.htm

影響を受けるバージョン

2.8.4 より前のバージョンのファームウェアを実行している Mersive Solstice Pods。

影響を受けるコンポーネント

  • com/mersive/solstice/server/EthernetInterface.java:
root@kitploit:~
static void SetPrefixLength(int prefixLength) {
    int value = -1 << (32 - prefixLength);
    try {
        Log.d("Ethernet", "complete: " + ServerDisplay.runShellCommand("ifconfig eth0 netmask " + InetAddress.getByAddress(new byte[]{(byte) (value >>> 24), (byte) ((value >> 16) & 255), (byte) ((value >> 8) & 255), (byte) (value & 255)}).getHostAddress()));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

static void SetGateway(String gateway) {
    if (!gateway.equals(GetGateway())) {
        Log.d("Ethernet", "complete: " + ServerDisplay.runShellCommand("ip route del default"));
        Log.d("Ethernet", "complete: " + ServerDisplay.runShellCommand("ip route add default via " + gateway + " dev " + ETH0));
    }
}

static void SetStaticIP(String ipAddr) {
    Log.d("Ethernet", "complete: " + ServerDisplay.runShellCommand("ifconfig eth0 " + ipAddr));
}
  • com/mersive/solstice/server/ServerDisplay.java:
root@kitploit:~
public static String runShellCommand(String command) {
   return runShellCommand(command, true);
}

public static String runShellCommand(String command, boolean wait) {
   Log.d("Shell Command", command);
   try {
       Process process = Runtime.getRuntime().exec("shell-tunnel --client");
       DataOutputStream stdin = new DataOutputStream(process.getOutputStream());
       InputStream is = process.getInputStream();
       stdin.writeBytes(command + "\n");
       stdin.flush();
       stdin.writeBytes("exit\n");
       stdin.flush();
       if (wait) {
           process.waitFor();
       }
       byte[] buffer = new byte[1024];
       Arrays.fill(buffer, 0);
       return new String(buffer, 0, is.read(buffer));
   } catch (Exception e) {
       e.printStackTrace();
       return "";
   }
}

攻撃ベクトル

この脆弱性を悪用するには、認証された攻撃者は、脆弱性のあるバージョン (2.8.4 より前) のファームウェアを実行しているデバイスに対して、特別に細工したリクエストを送信する必要があります。このリクエストは、デバイスの Web インターフェース (set static IP address フォーム) から直接送信することもできますし、cURL などのコマンドラインユーティリティを使用して送信することもできます。

どちらの場合でも、ペイロードの前には、元の/正規のコマンドの完了後にペイロードを実行させるため、/bin/sh に連続したコマンドを実行するよう指示する特殊文字 (例: ; または & 文字) を付ける必要があります。

複数の脆弱なパラメータのうちの 1 つである staticIP パラメータは、gateway パラメータと同様、サーバーサイドでは検証されず、代わりに static void SetStaticIP(String ipAddr) メソッドの引数として直接渡されます。このメソッドはさらにそれを public static String runShellCommand(String command) メソッドの引数として渡します。

この構成により、認証された攻撃者は、脆弱性のあるデバイス上で root ユーザーのコンテキストで任意のコマンドを実行することが可能になります。

ライセンス

Copyright (C) 2019 Alexandre Teyar

Apache License、Version 2.0(以下「本ライセンス」)に基づいてライセンスされます。 本ライセンスに従わない限り、このファイルを使用することはできません。 本ライセンスのコピーは、次から入手できます。

http://www.apache.org/licenses/LICENSE-2.0

適用法によって要求される場合、または書面によって同意された場合を除き、本ライセンスに基づいて配布されるソフトウェアは、明示的または黙示的を問わず、いかなる保証も条件もなしに「現状のまま」で配布されます。 本ライセンスに基づく特定の許可および制限については、本ライセンスを参照してください。

ツールをダウンロード