tnscmd10g

Envoie des commandes administratives (PING, VERSION, STATUS, SERVICES) directement à un TNS Listener Oracle pour la reconnaissance de base de données. Sends administrative commands (PING, VERSION, STATUS, SERVICES) directly to an Oracle TNS Listener for database reconnaissance.

↗ https://github.com/kost/tnscmd10g

Overview

tnscmd10g talks the Oracle TNS (Transparent Network Substrate) protocol directly, letting you send raw administrative commands to an Oracle Listener without needing a full Oracle client install. It’s a lightweight first step in Oracle database recon — checking whether the listener responds unauthenticated, pulling its version, and enumerating registered services/SIDs before moving on to SID brute-forcing or exploitation.

Common Usage

Basic PING to check listener is alive and responding

tnscmd10g -h <target> ping

Grab listener version banner

tnscmd10g -h <target> version

List registered services/SIDs (often works unauthenticated)

tnscmd10g -h <target> services

Full status dump

tnscmd10g -h <target> status

Specify a non-default TNS port

tnscmd10g -h <target> -p 1522 version

Recon Workflow

  1. Confirm the listener is reachable
nmap -p 1521 <target>
  1. Fingerprint it
tnscmd10g -h <target> version
  1. Enumerate configured services (feeds SID brute-forcing)
tnscmd10g -h <target> services
# 4. Follow up with SID guessing / auth brute-force
#    e.g. via oscanner, sidguess, or hydra's oracle module

Tips

  • Many misconfigured listeners answer PING/VERSION/SERVICES without any authentication — a quick, noisy-free way to fingerprint Oracle before touching credentials.
  • Default TNS listener port is 1521; some environments run it on 1522 or other non-standard ports.
  • Follow up service/SID enumeration with tools like oscanner or odat for deeper Oracle-specific attacks.
Help / Man page
tnscmd10g [options] <command>

Commands:
  ping        Send PING command to listener
  version     Request listener version
  status      Request listener status
  services    List registered services
  reload      Request listener reload (if permitted)

Options:
  -h HOST     Target host
  -p PORT     Target port (default: 1521)
  --timeout=N Connection timeout in seconds
  -v          Verbose output
  --randhead  Randomize TNS packet header (evade naive signature IDS)

Vue d’ensemble

tnscmd10g parle directement le protocole Oracle TNS (Transparent Network Substrate), permettant d’envoyer des commandes administratives brutes à un Oracle Listener sans avoir besoin d’une installation complète du client Oracle. C’est une première étape légère dans la reconnaissance de base de données Oracle : vérifier si le listener répond sans authentification, récupérer sa version, et énumérer les services/SIDs enregistrés avant de passer au brute-force de SID ou à l’exploitation.

Utilisation courante

# PING de base pour vérifier que le listener est actif et répond
tnscmd10g -h <target> ping

# Récupérer la bannière de version du listener
tnscmd10g -h <target> version

# Lister les services/SIDs enregistrés (fonctionne souvent sans authentification)
tnscmd10g -h <target> services

# Dump complet du statut
tnscmd10g -h <target> status

# Spécifier un port TNS non standard
tnscmd10g -h <target> -p 1522 version

Workflow de reconnaissance

# 1. Confirmer que le listener est accessible
nmap -p 1521 <target>

# 2. Le fingerprinter
tnscmd10g -h <target> version

# 3. Énumérer les services configurés (alimente le brute-force de SID)
tnscmd10g -h <target> services

# 4. Poursuivre avec la devinette de SID / brute-force d'authentification
#    par exemple via oscanner, sidguess, ou le module oracle de hydra

Conseils

  • De nombreux listeners mal configurés répondent à PING/VERSION/SERVICES sans aucune authentification : un moyen rapide et discret de fingerprinter Oracle avant de toucher aux credentials.
  • Le port par défaut du listener TNS est 1521 ; certains environnements l’exécutent sur 1522 ou d’autres ports non standards.
  • Poursuivre l’énumération de services/SID avec des outils comme oscanner ou odat pour des attaques Oracle plus poussées.
Aide / Page de manuel
tnscmd10g [options] <command>

Commands:
  ping        Send PING command to listener
  version     Request listener version
  status      Request listener status
  services    List registered services
  reload      Request listener reload (if permitted)

Options:
  -h HOST     Target host
  -p PORT     Target port (default: 1521)
  --timeout=N Connection timeout in seconds
  -v          Verbose output
  --randhead  Randomize TNS packet header (evade naive signature IDS)