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
SYSDBAprivilege — 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