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/tnscmd10gOverview
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
- Confirm the listener is reachable
nmap -p 1521 <target>
- Fingerprint it
tnscmd10g -h <target> version
- 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
oscannerorodatfor 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
oscannerouodatpour 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)