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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pfsense-timezone-phpini — pfSense CE 2.9.0-DEVELOPMENT - 高 - リモート - RCE - timezone php.ini prepend | Kitploit
ツール/GitHubGitHub/abraxas/pfsense-timezone-phpini
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストリモートアクセスツールペイロード開発ラボと実践
GitHubabraxas/pfsense-timezone-phpini

pfsense-timezone-phpini

pfSense CE 2.9.0-DEVELOPMENT - 高 - リモート - RCE - timezone php.ini prepend

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - pfsense-timezone-phpini

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

pfsense-timezone-phpini

Class: RCE Reach: Remote

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

system.php は $_POST['timezone'] を system_get_timezone_list() に対する in_array なしで書き込む。is_timezone() は末尾のスラッシュのみを拒否する。system_timezone_configure は /var/db/zoneinfo を書き込む。rc.php_ini_setup は date.timezone="${TIMEZONE}" を php.ini に補間する。引用符と改行により auto_prepend_file が追加される。

IDCVE 未割当
ClassRCE
ReachRemote (特記なき限り認証済み WebGUI)
CWECWE-94
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProductpfSense CE
Affected2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9)
Authpage-system-generalsetup を持つ WebGUI セッション
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 のみ

公開 master 9363ac5 を固定した。ラボは固定したシンクの PHP ガジェットで、127.0.0.1:18940 上のループバック HTTP である。

シリーズ解説: https://abraxaslabs.tech/research/pfsense-ce-leftovers

攻撃者ができること

MethodSinkPrivilege
POST system.php timezonerc.php_ini_setup date.timezone="${TIMEZONE}"Integrity: ラボ実証済み: 生成された php.ini が auto_prepend_file を受け入れ、php -c と php-fpm 相当のスクリプトが prepend を実行し witness を書き込んだ。
同じ残存箇所同じシンクRecon: 推測: prepend は php.ini 再構築 / php-fpm 再起動後に root PHP として実行される。
同じ残存箇所同じシンクAvailability: 推測: 壊れた php.ini は修復されるまで GUI を停止させ得る。

必要条件: page-system-generalsetup。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。

必要条件: page-system-generalsetup。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。

閉じたままの隣接面

Form_Select は UI のみ。hostname/domain には独自の文字セットチェックがある。未認証は該当なし。

そのページも許可されていない限り Diagnostics: Command はない。

ラボ

cd lab
./run.sh

ループバック 127.0.0.1:18940。Compose プロジェクト pfsense-timezone-phpini。Witness PFSENSE-TIMEZONE-PHPINI-WITNESS。ループバックのみ: 127.0.0.1:18940。Compose プロジェクト pfsense-timezone-phpini。Witness PFSENSE-TIMEZONE-PHPINI-WITNESS。固定した行の PHP ガジェット。スタックは実行後に破棄される。

最終行:

SUCCESS PFSENSE-TIMEZONE-PHPINI control-clean=yes trigger-prepend=yes is-timezone-accepts=yes not-allowlisted=yes PFSENSE-TIMEZONE-PHPINI-WITNESS

修正

timezone を system_get_timezone_list() に対して in_array する。rc.php_ini_setup の補間を引用符エスケープする。

参考

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • CWE-94
  • シリーズ: https://abraxaslabs.tech/research/pfsense-ce-leftovers
ツールをダウンロード