oscanner

Framework d'énumération de bases de données Oracle. Découvre les listeners TNS Oracle, énumère les SID, teste les credentials par défaut, et extrait les métadonnées de base de données pour les audits de sécurité Oracle. Oracle database enumeration framework. Discovers Oracle TNS listeners, enumerates SIDs, tests default credentials, and extracts database metadata for Oracle security assessments.

↗ https://www.cqure.net/wp/tools/database/oscanner/

Overview

oscanner is an Oracle database assessment framework that enumerates Oracle TNS listeners, brute-forces SIDs (System Identifiers), tests default credentials, retrieves password hashes, and gathers system information from Oracle database servers.

Basic Usage

Scan a single host

oscanner -s 10.10.10.1

Scan with verbose output

oscanner -s 10.10.10.1 -v

Specify port (default: 1521)

oscanner -s 10.10.10.1 -P 1521

Scan subnet

oscanner -s 10.10.10.0/24

SID Enumeration

Brute-force Oracle SIDs (System IDs)

oscanner -s 10.10.10.1 -f /usr/share/oscanner/sidlist.txt
# Common SIDs to try manually:
# ORCL, XE, DB11G, TEST, DEV, PROD, HR, APEX

After finding a SID, connect:

sqlplus user/password@10.10.10.1:1521/ORCL

Default Credentials

# oscanner automatically tests common Oracle defaults:
# SYS/change_on_install
# SYSTEM/manager
# DBSNMP/dbsnmp
# SCOTT/tiger
# ADAMS/wood
# JONES/steel
# CLARK/cloth
# BLAKE/paper

Manual test with sqlplus

sqlplus scott/tiger@10.10.10.1:1521/ORCL

TNS Enumeration

# Query TNS listener directly
tnscmd10g version -h 10.10.10.1 -p 1521
tnscmd10g status -h 10.10.10.1 -p 1521

# These can reveal Oracle version and SID without auth

Post-Discovery

Once connected, enumerate with sqlplus:

sqlplus system/manager@10.10.10.1:1521/ORCL

Database version

SELECT * FROM v$version;

List users

SELECT username FROM dba_users;

Dump hashes (Oracle 10g/11g)

SELECT username, password FROM dba_users;

Oracle 12c+ hashes

SELECT username, spare4 FROM sys.user$ WHERE spare4 IS NOT NULL;

Tips

  • TNS listener on 1521/TCP is the default — also check 2483 (for TCPS)
  • SID enumeration is the first step — without a valid SID, connection fails
  • The free XE edition uses SID “XE” — very common on dev boxes
  • After gaining access, check for SYSDBA privilege — full DB control
  • Use odat (Oracle Database Attacking Tool) for more advanced attacks
Help / Man page
oscanner [options]

-s HOST     Target host or CIDR range
-P PORT     TNS port (default: 1521)
-f FILE     SID list file
-v          Verbose output
-c          Check connection only

Vue d’ensemble

oscanner est un framework d’évaluation de bases de données Oracle qui énumère les listeners TNS Oracle, brute-force les SID (System Identifiers), teste les credentials par défaut, récupère les hashs de mots de passe, et rassemble des informations système depuis les serveurs de bases de données Oracle.

Utilisation de base

# Scanner un seul hôte
oscanner -s 10.10.10.1

# Scanner avec sortie verbeuse
oscanner -s 10.10.10.1 -v

# Spécifier le port (par défaut : 1521)
oscanner -s 10.10.10.1 -P 1521

# Scanner un sous-réseau
oscanner -s 10.10.10.0/24

Énumération de SID

# Brute-forcer les SID Oracle (System IDs)
oscanner -s 10.10.10.1 -f /usr/share/oscanner/sidlist.txt
# SID courants à essayer manuellement :
# ORCL, XE, DB11G, TEST, DEV, PROD, HR, APEX

Après avoir trouvé un SID, se connecter :

sqlplus user/password@10.10.10.1:1521/ORCL

Credentials par défaut

# oscanner teste automatiquement les credentials Oracle courants par défaut :
# SYS/change_on_install
# SYSTEM/manager
# DBSNMP/dbsnmp
# SCOTT/tiger
# ADAMS/wood
# JONES/steel
# CLARK/cloth
# BLAKE/paper

Test manuel avec sqlplus

sqlplus scott/tiger@10.10.10.1:1521/ORCL

Énumération TNS

# Interroger directement le listener TNS
tnscmd10g version -h 10.10.10.1 -p 1521
tnscmd10g status -h 10.10.10.1 -p 1521

# Ceux-ci peuvent révéler la version Oracle et le SID sans authentification

Après découverte

Une fois connecté, énumérer avec sqlplus :

sqlplus system/manager@10.10.10.1:1521/ORCL
# Version de la base de données
SELECT * FROM v$version;

# Lister les utilisateurs
SELECT username FROM dba_users;

# Dumper les hashs (Oracle 10g/11g)
SELECT username, password FROM dba_users;

# Hashs Oracle 12c+
SELECT username, spare4 FROM sys.user$ WHERE spare4 IS NOT NULL;

Conseils

  • Le listener TNS sur 1521/TCP est le port par défaut : vérifier aussi 2483 (pour TCPS)
  • L’énumération de SID est la première étape : sans SID valide, la connexion échoue
  • L’édition gratuite XE utilise le SID “XE” : très courant sur les machines de dev
  • Après avoir obtenu l’accès, vérifier le privilège SYSDBA : contrôle total de la DB
  • Utiliser odat (Oracle Database Attacking Tool) pour des attaques plus avancées
Aide / Page de manuel
oscanner [options]

-s HOST     Target host or CIDR range
-P PORT     TNS port (default: 1521)
-f FILE     SID list file
-v          Verbose output
-c          Check connection only