← retour aux outils back to tools

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

2. Fingerprint it

    tnscmd10g -h <target> version

3. 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)