keyOracle TNS (Transparent Network Substrate)

✨ Introduction

Oracle TNS (Transparent Network Substrate) est un protocole de communication d'Oracle qui permet la communication entre les bases de données Oracle et les applications clientes, quel que soit le protocole réseau sous-jacent. Il est conçu pour fonctionner sur divers protocoles tels que TCP/IP, IPX/SPX ou encore AppleTalk. À travers Oracle Net Services, il permet la résolution de nom, la gestion des connexions, l'équilibrage de charge et la sécurité.

TNS est utilisé dans les secteurs exigeants comme la finance, la santé ou la vente au détail, grâce à ses capacités de chiffrement intégrées et son support des technologies modernes comme IPv6 et SSL/TLS.

🔧 Configuration par défaut

  • Port par défaut : TCP/1521

  • Fichiers de configuration :

    • tnsnames.ora (client)

    • listener.ora (serveur)

  • Chemin typique : $ORACLE_HOME/network/admin

  • Gestion à distance activée par défaut dans Oracle 8i/9i, désactivée dans Oracle 10g/11g

Exemple tnsnames.ora

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = <IP CIBLE>)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Exemple listener.ora

🚫 Paramètres sensibles

Paramètre
Description

SERVICE_NAME

Nom du service ciblé

HOST

Adresse IP ou FQDN du serveur Oracle

PORT

Port d'écoute (par défaut 1521)

SERVER

Type de serveur : DEDICATED ou SHARED

USER / PASSWORD

Identifiants pour l’authentification

SSL_VERSION

Version SSL/TLS utilisée

TRACE_LEVEL / LOG_FILE

Options de trace/logging

🔒 Des mots de passe par défaut peuvent être présents :

  • SYS / CHANGE_ON_INSTALL

  • DBSNMP / dbsnmp

  • Oracle 10g n'a pas de mot de passe par défaut, mais les comptes peuvent être présents et inactifs.

🧪 Installation d’ODAT & SQL*Plus (Pwnbox)

Test ODAT

🔮 Enumeration avec Nmap

Sortie possible :

Brute-force des SID

Sortie : XE

🧐 Exploitation avec ODAT

Crédentials trouvés : scott/tiger

✅ Connexion avec SQL*Plus

Commandes utiles

Connexion en tant que SYSDBA

Extraction des hash

💾 Upload de fichiers

Vérification :

🔗 Chemins courants pour webshells

OS
Chemin

Linux

/var/www/html

Windows

C:\inetpub\wwwroot

📚 Ressources utiles


Enumerate the target Oracle database and submit the password hash of the user DBSNMP as the answer.

Afin de configurer notre machine à ce challenge, nous exécutons les commandes suivantes :

Voici la commande executée une fois ceci fait :

L'utilisation de cette commande nous permets d'obtenir ceci :

Nous allons maintenant utiliser ces identifiants afin de nous connecter via sqlplus :

Une fois connectés, nous pouvons lister les utilisateurs et les mots de passe associés concernant l'utilisateur DBSNMP :

Nous pouvons maintenant obtenir le hash associé au mot de passe de l'utilisateur DBSNMP qui est E066D214D5421CCC.


Last updated