Oracle TNS Pentesting Notes
Protocol Overview
Basic Information
Port: TCP 1521 (default)
Protocol Type: Application layer
Purpose: Database communication protocol for Oracle
Security: Supports encryption, access controls, and authentication
Protocol Features
Network Protocols
TCP/IP
UDP
IPX/SPX
AppleTalk
Security Features
SSL/TLS encryption
IPv6 support
Access control lists
PL/SQL restrictions
Initial Enumeration
Port Scanning
Banner Grabbing
Anonymous/Default Access
Testing Default SIDs
Common Default SIDs
Brute Force Attacks
Using ODAT
Using Hydra
Tool Installation
Common NSE Scripts
Configuration Files
Server-side Files
Client-side Files
Example Configurations
listener.ora
tnsnames.ora
Common Vulnerabilities
Default Credentials:
SYSTEM/MANAGER
SYS/CHANGE_ON_INSTALL
SCOTT/TIGER
Configuration Issues:
Weak passwords
Default SIDs
Unpatched vulnerabilities
Exposed listeners
Known Attack Vectors:
TNS Poison
Password brute force
SID enumeration
PL/SQL injection
Post Exploitation
Information Gathering
Privilege Escalation
Common Response Codes
ORA-01017
Invalid username/password
ORA-12541
No listener
ORA-12505
SID not found
ORA-28000
Account locked
ORA-01031
Insufficient privileges
Best Practices for Pentesting
Initial Reconnaissance:
Identify TNS version
Enumerate SIDs
Check for default credentials
Test listener status
Deep Enumeration:
Map database structure
List available schemas
Check user privileges
Identify sensitive data
Documentation:
Record found SIDs
Note vulnerable configurations
Document credentials
Save SQL query results
Risk Assessment:
Evaluate data sensitivity
Assess privilege levels
Consider business impact
Prioritize findings
Common Tools Summary
Enumeration:
ODAT
TNSPing
Nmap NSE scripts
SQLplus
Exploitation:
ODAT modules
Metasploit
Custom SQL queries
SQLplus
Post-Exploitation:
SQLplus
ODAT
Custom PL/SQL scripts
Database administration tools