Salta ai contenuti

OScanner

OScanner is an Oracle database assessment framework designed to identify security vulnerabilities, misconfigurations, and weaknesses in Oracle database instances. It performs comprehensive scans across multiple security domains including user privileges, default accounts, and audit settings.

# Download OScanner
wget http://www.cqure.net/tools/oscanner/oscanner110611.tar.gz

# Extract the archive
tar -xzf oscanner110611.tar.gz
cd oscanner

# Set execute permissions
chmod +x oscanner

# Verify installation
./oscanner -h
  • Java Runtime Environment (JRE) 1.6 or higher
  • Network connectivity to target Oracle database
  • Valid database credentials (preferably with DBA role)
  • Oracle JDBC drivers (included in most distributions)
# Install Java if not present
brew install openjdk

# Download and extract
wget http://www.cqure.net/tools/oscanner/oscanner110611.tar.gz
tar -xzf oscanner110611.tar.gz
cd oscanner

# Make executable
chmod +x oscanner

OScanner connects to Oracle databases using:

  • Direct connection: TCP/IP connection to database listener
  • Connection string: Standard Oracle connection format
  • Authentication: Username/password or OS authentication
  • User scanning: Identify privileged accounts and weak passwords
  • Privilege analysis: Detect excessive user privileges
  • Default account detection: Find unchanged default credentials
  • Audit configuration: Review and identify audit gaps
  • Server misconfiguration: Identify parameter weaknesses
CommandDescription
oscanner -hDisplay help message
oscanner -s <host>:<port>:<SID>Scan specific database instance
oscanner -u <user> -p <pass>Specify authentication credentials
oscanner -f <file>Load targets from file
oscanner -v <level>Set verbosity level (0-3)
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager
./oscanner \
  -s orcl.example.com:1521:ORCL \
  -u system \
  -p manager \
  -v 2

Create targets.txt:

192.168.1.100:1521:ORCL:system:manager
192.168.1.101:1521:PROD:system:password123
192.168.1.102:1521:TEST:scott:tiger

Then scan:

./oscanner -f targets.txt -v 2
./oscanner -s 192.168.1.100:1521:ORCL \
  -u / \
  -p / \
  -w 5
# Run only user privilege checks
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -checks privilege

# Run only default account checks
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -checks default_accounts
# Full comprehensive scan with maximum verbosity
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -v 3 \
  -depth full \
  -timeout 300
# Set connection timeout (seconds)
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -timeout 30 \
  -retry 3
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -check_weak_passwords \
  -output weak_accounts.txt
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -analyze privileges \
  -report privilege_report.html
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -scan_defaults \
  -list_inactive
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -enumerate roles \
  -export roles.csv
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -report assessment.html \
  -format html
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -export findings.csv \
  -format csv
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -v 3 \
  -log oscanner_$(date +%Y%m%d_%H%M%S).log
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -analyze_privs \
  -escalation_check
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -list dba_users \
  -filter privileged
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -enumerate role_privs \
  -detailed
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -full_scan \
  -include_defaults \
  -check_cve
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -version_check \
  -vuln_database \
  -patch_level
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -check_pwd_policy \
  -test_complexity
# Scan multiple databases in parallel
./oscanner -f targets.txt \
  -parallel 4 \
  -v 2
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -connect_timeout 20 \
  -query_timeout 60
# Test connectivity first
tnsping ORCL

# Verbose connection debugging
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -debug connection
# Increase Java heap size
export JAVA_OPTS="-Xmx1024m"
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager
# Test credentials separately
sqlplus system/manager@ORCL

# Then run scanner with verified credentials
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -test_creds
  • Obtain written authorization before scanning
  • Document baseline database configuration
  • Verify network connectivity to target
  • Confirm credential validity and permissions
  • Review scan scope with database administrator
  • Schedule scans during maintenance windows
# Recommended comprehensive scan
./oscanner -s target.example.com:1521:PROD \
  -u system \
  -p $(read -sp "Password: " && echo $REPLY) \
  -v 2 \
  -timeout 300 \
  -full_scan \
  -report assessment_$(date +%Y%m%d).html
  • Review findings for false positives
  • Prioritize critical vulnerabilities
  • Document remediation steps
  • Track remediation progress
  • Re-scan after fixes applied
  • Maintain historical records
AccountRiskAction
SCOTT/TIGERHighChange password or lock account
SYSTEM/MANAGERHighStrengthen password
SYS/CriticalImmediate remediation required
DBSNMP/DBSNMPMediumChange default password
# Audit specific user privileges
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -audit_user scott \
  -list_privs
# Check audit settings
./oscanner -s 192.168.1.100:1521:ORCL \
  -u system \
  -p manager \
  -check_audit \
  -verify_settings

OScanner should only be used:

  • On systems you own or have explicit authorization to test
  • As part of authorized security assessments
  • Within scope of penetration testing engagement
  • With documented approval from system owners
  • In compliance with applicable laws and regulations

Always maintain detailed records of:

  • Scan scope and authorization
  • Findings and recommendations
  • Remediation efforts
  • Follow-up assessment results
  • Time and date of all activities
  • Official OScanner documentation: http://www.cqure.net/tools/oscanner/
  • Oracle security best practices guide
  • OWASP database security testing guidelines
  • CIS Oracle Database benchmark
  • Oracle security update notifications