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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pfsense-carp-vhid — pfSense CE 2.9.0-DEVELOPMENT - 高 - リモート - RCE - CARP VHID の残存 | Kitploit
ツール/GitHubGitHub/abraxas/pfsense-carp-vhid
脆弱性分析エクスプロイトウェブアプリケーション悪用ポストエクスプロイトペネトレーションテストコマンド&コントロールレッドチーミングラボと実践
GitHubabraxas/pfsense-carp-vhid

pfsense-carp-vhid

pfSense CE 2.9.0-DEVELOPMENT - 高 - リモート - RCE - CARP VHID の残存

リポジトリを見る
32日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - pfsense-carp-vhid

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-carp-vhid

pfsense-carp-vhid

クラス: RCE 到達範囲: リモート

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

Virtual IP の編集は、POST から CARP VHID を 1-255 のチェックなしで保存する。Form_Select のオプションは HTML のみ。CARP 適用は VHID を escapeshellarg する。スタックされた IP Alias の適用は vhid {$carpvip['vhid']} を escapeshellarg の外側で補間する。CARP ステータスは同じ保存済み VHID をダブルクォートされた grep パイプラインに補間する。セミコロンはクォートされたままであるが、コマンド置換は /bin/sh -c の下で依然として実行される。必要な権限は VIP 編集 + 適用であり、Diagnostics: Command ではない。

IDCVE 未割当
クラスRCE
到達範囲リモート (認証済み WebGUI)
CWECWE-78
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
製品pfSense CE
影響2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) CARP VHID
認証VIP 編集 + 適用が可能な WebGUI セッション (ステータス/ウィジェットは後段のトリガー)
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

公開 master 9363ac5 を固定した。ラボは、固定された interface_carp_configure、スタックされた ipalias の mwexec、およびステータスの exec を組み合わせた PHP ガジェットである。ループバック 127.0.0.1:18830。

攻撃者ができること

手法シンク権限
非整数の VHID で carp VIP を POST し、その _vip{uniqid} 親に対してスタックされた IP Alias を適用するmwexec ifconfig ... alias {$gateway} {$vhid} (interfaces.inc:3238)完全性 (ラボ実証済み): root シェル。ラボ: ipalias-unescaped が証跡を書き込んだ。同じ VHID の CARP 適用は何も書き込まなかった (carp-escaped=yes)。
同じ保存済み VHID で、status_carp.php に GET するか carp_status.widget.php をレンダリングするexec grep パイプライン (pfsense-utils.inc:794)完全性 (ラボ実証済み): ダブルクォート内のコマンド置換が実行され、証跡を書き込んだ (status-sink=yes, status-subst=yes)。セミコロンはクォートされたままだった。ウィジェットのトリガーは別の GUI セッションでも可能。
同じ root シェルホストファイルシステム偵察 (推定): config.xml、鍵。
root シェルまたは壊れた ifconfigCARP / エイリアスデバイス可用性 (推定): インターフェース / CARP / フィルターの混乱。

ラボ実証済み vs 推定: carp-escaped、ipalias-unescaped の証跡、およびステータスのコマンド置換の証跡はラボ実証済みである。ファイルシステム偵察とフィルター混乱は root PHP-FPM から推定される。

必要条件: page-firewall-virtualipaddress-edit (保存) および page-firewall-virtualipaddresses (適用)。ステータスシンク: page-status-carp または CARP ウィジェットを含む任意のダッシュボード。POST に対する CSRF。

閉じたままの隣接する攻撃面

攻撃面ラボ
CARP 適用自体VHID に対する escapeshellarg、carp-escaped=yes
CARP パスワード / advbase / advskew / サブネットis_ipaddr / エスケープ済み
未認証閉じている
HA 認証情報なしでの同じオブジェクトの xmlrpc 適用SA-26_22 スキップリスト
Diagnostics: Command別途付与されない限り閉じたまま

ラボ

cd lab
./run.sh

ループバック 127.0.0.1:18830。Compose プロジェクト pfsense-carp-vhid。イメージタグ pfsense-carp-vhid:2.9.0-dev。証跡 PFSENSE-CARP-VHID-WITNESS。最終行:

SUCCESS PFSENSE-CARP-VHID carp-escaped=yes ipalias-unescaped=yes status-sink=yes PFSENSE-CARP-VHID-WITNESS

修正

保存時に VHID を 1-255 の整数範囲に制限する。スタックされた IP Alias の適用時およびステータス grep 時に、CARP 適用がすでに行っているのと同じ方法で VHID を escapeshellarg する。

参考文献

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • firewall_virtual_ip.inc saveVIP
  • interfaces.inc スタックされた ipalias mwexec
  • pfsense-utils.inc CARP ステータス grep
  • CWE-78
ツールをダウンロード