← retour aux outils back to tools

# 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